Brief overview of the libraries used - RuVl/BEST_sicret GitHub Wiki

Библиотеки, используемые в проекте BEST_sicret.

Общая информация

Enviroment

python-environ~=0.4.54

Telegram

aiogram~=3.20.0

  • Асинхронный фреймворк для создания Telegram-ботов через Bot API. Обрабатывает сообщения, команды, кнопки, медиа. Основа всего бота: маршрутизация, обработчики событий, отправка сообщений.
  • Документация - https://aiogram.readthedocs.io/_/downloads/en/latest/pdf/, https://aiogram.dev/

aiogram-dialog[tools]~=2.3.1

  • Расширение aiogram для создания многошаговых диалогов с визуальными элементами (кнопки, списки, календари, формы). [tools] добавляет отладочные утилиты. Упрощает создание сложных интерфейсов: анкеты, меню, пошаговые сценарии без ручного управления состояниями.
  • Документация - https://aiogram-dialog.readthedocs.io/en/stable/

ujson~=5.10.0

aiohttp[speedups]~=3.10.11

aiodns~=3.4.0

Необязательные библиотеки, условия их применимости описаны.

uvloop

  • fast, drop-in replacement of the built-in asyncio event loop. Windows not supported (uncomment if you are on Linux)

aiohttp[speedups]==3.9.5

  • for windows use this instead (bcs conflicts with aiodns)

cchardet

  • (aiohttp speedup) high speed universal character encoding detector

Cache

redis[hiredis]~=5.2.1

  • Клиент для базы данных Redis. [hiredis] добавляет оптимизированный парсер на C. Хранит состояния пользователей (FSM), сессии, кэш. Необходим для масштабирования бота на несколько серверов.
  • Документация - https://redis.readthedocs.io/?spm=a2ty_o01.29997173.0.0.74ba5171iK0Qna

Logging

structlog~=25.3.0

  • Структурированное логирование (логи в формате JSON, контекстные данные, цепочки обработки). Упрощает отладку и мониторинг: логи содержат user_id, chat_id, состояние диалога. Интегрируется с системами вроде ELK/Sentry.
  • Документация - https://github.com/hynek/structlog, https://pypi.org/project/structlog/

colorama~=0.4.6

Localization

fluent.runtime~=0.4.0

  • Runtime для локализации по стандарту Fluent (Mozilla). Поддерживает множественное число, гендер, интерполяцию переменных. Позволяет создавать многоязычного бота с естественными переводами.
  • Документация - https://projectfluent.org/python-fluent/fluent.runtime/0.4.0/

fluent.syntax~=0.19.0

Templates (.docx)

docxtpl~=0.20.0

  • Генерация .docx-документов из шаблонов с синтаксисом Jinja2 (переменные, циклы, условия). Бот создаёт официальные документы (заявки, анкеты, отчёты) на основе данных пользователя.
  • Документация - https://docxtpl.readthedocs.io/en/latest/?spm=a2ty_o01.29997173.0.0.74ba5171iK0Qna

jsonschema~=4.23.0

  • Валидация JSON-данных по схеме (RFC Draft 7/2019-09). Проверяет корректность данных перед генерацией документов или отправкой во внешние системы.
  • Документация - https://python-jsonschema.readthedocs.io/en/stable/