Список библиотек¶
В этом разделе предоставлен список библиотек которыми я пользовался или о существовании которых я знаю.
Внутри раздела предоставлено описание некоторых библиотек и мой личный опыт взаимодействия с ними.
Список¶
JSON¶
- orjson - самая быстрая библиотека для (де)сериализации json, написанная на Rust. Умеет нативно сериализовать объекты из dataclass, datetime, numpy и UUID. Имеет множество опций для тонкой настройки парсера, содержит вещи которых нет в парсере стандартной библиотеки. Имеет более полное соответствие UTF-8 и JSON формату.
ORM¶
- Ormar - небольшая асинхронная ORM на Pydantic + SqlAlchemy.
- Piccolo - асинхронная ORM с батарейками. Есть админка, аутентификация, миграции и еще куча всего. Из под коробки умеет работать с FastAPI, BlackSheep и т.д.
ODM (MongoDB)¶
- Beanie - асинхронная ODM, базирована на Motor + Pydantic.
Платежные системы¶
- glQiwiAPI - асинхронная обертка для API QIWI и YooMoney.
Веб фреимворки¶
- FastAPI - лучший REST фреимворк тысячилетия, основанный на Starlette и Pydantic. Умеет делать автоматически OpenAPI схему, валидировать ответы и ещё кучу всего.
- Django - второй лучший фреимворк тысячилетия. Внутри админка, ORM, авторизация и куча написанных сообществом батареек.
- Starlite - гибкий асинхронный фреимворк испытавший влияние NestJS.
- emmett - довольно интересный фреимворк, обзор лучше прочитать тут
Django-батарейки¶
- django-import-export - импорт и экспорт сукщностей в различных форматах. Фильтрация, работа с админкой, превьюшки.
- django-simple-history - реализация истории изменения данных в моделях.
Очереди задач¶
- arq - асинхронная очередь задач на redis.
Telegram¶
- aiogram - асинхронный фреимворк для Telegram ботов.
Остальное¶
- adict - небольшая библиотека, которая позволяет обращаться со словарем так, как будто мы взаимодействуем с экземпляром класса. Библиотека предоставляет доступ к ключам словаря как доступ к атрибутам объекта.
- anytree - простая и расширяемая структура представляющая дерево. Умеет в экспорт в различные форматы, обход, поиск.
- aiomisc - огромное количество различных утилит для asyncio.
- Faker - генератор фейковых данных, крутая штука для тестирования.
- impler - Implementation pattern прям как в Rust.
- exchangelib - библиотека для работы с Microsoft Exchange Web Services.
- dataset - обертка над SQLAlchemy, которая обеспечивает абстракцию, которая позволяет работать с реляционной БД как с MongoDB. Умеет менять схему налету.
- tablib - библиотека для создания табличных датасетов.
- sqlalchemy-filters - Фильтры для sqlalchemy моделей без боли.
- godot-python - поддержка Python в Godot.
- Granian - http сервер на Rust для Python приложений.
- Flet - фреимворк который позволяет строить интерактивные десктопные/мобильные/веб приложения, в итоге получаем SPA/PWA. Построено это всё на Flutter (https://flutter.dev/).
- safetywrap - Option и Result из Rust.
- option - Тоже Option и Result из Rust.
- zeep - SOAP клиент.
- pandas - библиотека для работы, анализа и манипуляции данными.
- numpy - библиотека для работы с научными вычислениями и разной математикой.
- more-itertools - itertools для тех, кому не хватает обычного itertools. Примеры применения можно найти здесь
- PyMuPDF - работа с PDF.