Всем привет! Я пришёл из экосистемы Rust и недавно начал работать в Python. Я люблю Rust за безопасность и скорость, но влюбился в Python за простоту и быструю разработку. Это вдохновило меня создать что-то полезное для сообщества Python: FastPy-RS — библиотеку часто используемых функций, которую можно вызывать из Python, а реализация внутри написана на Rust. Цель — обеспечить высокую производительность и надёжность. Хотя многие Python-библиотеки используют C для ускорения, такой подход может нести риски безопасности.

Вот как это работает:
import fastpy_rs as fr # Используем криптографию SHA hash_result = fr.crypto.sha256_str("hello") # Кодируев в BASE64 encoded = fr.datatools.base64_encode(b"hello") # Подсчёт частот слов в тексте text = "Hello hello world! This is a test. Test passed!" frequencies = fr.ai.token_frequency(text) print(frequencies) # Вывод: {'hello': 2, 'world': 1, 'this': 1, 'is': 1, 'a': 1, 'test': 2, 'passed': 1} # Разбор JSON json_data = '{"name": "John", "age": 30, "city": "New York"}' parsed_json = fr.json.parse_json(json_data) print(parsed_json) # Вывод: {'name': 'John', 'age': 30, 'city': 'New York'} # Сериализация в JSON data_to_serialize = {'name': 'John', 'age': 30, 'city': 'New York'} serialized_json = fr.json.serialize_json(data_to_serialize) print(serialized_json) # Вывод: '{"name": "John", "age": 30, "city": "New York"}' # HTTP-запросы url = "https://api.example.com/data" response = fr.http.get(url) print(response) # Вывод: b'{"data": "example"}'
Чтобы начать, просто запустите:
pip install fastpy-rs
Буду рад вашим pull-request’ам и отзывам! FastPy-RS — открытый проект с лицензией MIT: давайте вместе сделаем Python быстрее и безопаснее.
Кстати, удивительно, но подсчёт частоты токенов в FastPy-RS работает почти в 935 раз быстрее, чем в привычном Python-коде, так что для любых задач по разбору и анализу текста вы получите мгновенный результат; при этом операции с Base64 и регулярными выражениями тоже «летят» в 6–6,6 раз быстрее благодаря внутренним оптимизациям на Rust; реализация SHA-256 при этом не отстаёт — она использует такие же нативные ускорения, что и в Python; а низкое стандартное отклонение времени выполнения означает, что ваш код будет работать не только быстро, но и стабильно, без неожиданных «провалов».
P.S. Я всё ещё новичок в Python, так что не судите строго минимализм библиотеки — она только в зачаточном состоянии. Если кто-то хочет помочь и попрактиковаться в Rust и Python, буду очень рад!
ссылка на оригинал статьи https://habr.com/ru/articles/922920/
Добавить комментарий