Всем привет! Я пришёл из экосистемы 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, буду очень рад!