Добро пожаловать в chutils!
chutils — это набор простых утилит для Python, который избавляет от повторяющейся настройки конфигурации, логирования и секретов в ваших проектах.
Эта документация поможет вам быстро освоить все возможности пакета.
Ключевые возможности
-
Конфигурация (
chutils.config): Автоматический поиск и загрузка конфигурации изconfig.ymlилиconfig.ini. Поддерживает вложенные структуры, относительные пути и переопределение локальными файлами (config.local.yml). -
Логирование (
chutils.logger): Быстрая настройка логгеров с выводом в консоль и ротируемые файлы. Позволяет гибко управлять настройками разных логгеров через конфигурационный файл или переменные окружения. -
Управление секретами (
chutils.secret_manager): Безопасное хранение и получение секретов (API-ключи, пароли) с использованием системной связки ключей (Keyring) и/или.envфайлов. -
Неизменяемый журнал событий (
chutils.audit): Неизменяемый журнал аудита. Ведение криптографически защищенного журнала событий безопасности и бизнес-логики с использованием хэш-цепочек. -
Веб-инструменты (
chutils.web,chutils.scraping,chutils.captcha):- Умный HTTP-клиент: Клиент с автоматическими повторами запросов, поддержкой прокси и ротацией User-Agent.
- Имитация поведения: Инструменты для безопасного сбора данных (эмуляция задержек, заголовков).
- Решение капчи: Интеграция с популярными сервисами автоматического распознавания капчи.
Основные разделы
- Рецепты и советы: Практические примеры решения типичных задач.
- Тестирование с chutils: pytest-фикстуры для удобного тестирования конфигурации, секретов и логов.
- Система плагинов: Расширение библиотеки собственными провайдерами и обработчиками.
- Интерфейс командной строки (CLI): Полное руководство по консольной утилите
chutils. - Справочник API: Подробное описание всех функций и классов пакета.
- Миграция: v2 -> v3: Руководство по переходу на новую мажорную версию.
- Опциональные зависимости: Описание дополнительных extra-пакетов и их установки.
- Проверка AI-готовности (ai-lint): Руководство по использованию линтера
dev ai-lintдля оценки кодовой базы.