Metadata-Version: 2.4
Name: dublib
Version: 0.29.0
Summary: Коллекция полезных модулей от DUB1401.
Author-email: DUB1401 <vlad.milosta@outlook.com>
License: This is free and unencumbered software released into the public domain.
        
        Anyone is free to copy, modify, publish, use, compile, sell, or
        distribute this software, either in source code form or as a compiled
        binary, for any purpose, commercial or non-commercial, and by any
        means.
        
        In jurisdictions that recognize copyright laws, the author or authors
        of this software dedicate any and all copyright interest in the
        software to the public domain. We make this dedication for the benefit
        of the public at large and to the detriment of our heirs and
        successors. We intend this dedication to be an overt act of
        relinquishment in perpetuity of all present and future rights to this
        software under copyright law.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
        EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
        MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
        IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
        OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
        ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
        OTHER DEALINGS IN THE SOFTWARE.
        
        For more information, please refer to <http://unlicense.org/>
        
Project-URL: Documentation, https://github.com/DUB1401/dublib/tree/main/docs
Project-URL: Source Code, https://github.com/DUB1401/dublib
Project-URL: Bug Tracker, https://github.com/DUB1401/dublib/issues
Project-URL: Changelog, https://github.com/DUB1401/dublib/releases
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: The Unlicense (Unlicense)
Classifier: Natural Language :: Russian
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: curl_cffi>=0.16.0
Requires-Dist: dateparser
Requires-Dist: ua-generator>=2.1.3
Requires-Dist: httpx
Requires-Dist: httpx[http2]
Requires-Dist: more-itertools
Requires-Dist: orjson
Requires-Dist: prettytable
Requires-Dist: requests
Requires-Dist: pathvalidate
Requires-Dist: pyyaml
Requires-Dist: pydantic
Requires-Dist: validators
Requires-Dist: watchfiles
Requires-Dist: gnureadline>=8.3.3; sys_platform == "linux"
Requires-Dist: pyreadline3; sys_platform == "win32"
Provides-Extra: telebot
Requires-Dist: APScheduler; extra == "telebot"
Requires-Dist: pyTelegramBotAPI; extra == "telebot"
Provides-Extra: dev
Requires-Dist: mypy; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: Sphinx; extra == "dev"
Requires-Dist: sphinx-rtd-theme; extra == "dev"
Dynamic: license-file

# dublib
**dublib** – это библиотека Python, поставляющая полезные компоненты общего назначения, а также опциональные инструменты для разработки ботов Telegram на основе [pyTelegramBotAPI](https://github.com/eternnoir/pyTelegramBotAPI).

Данный пакет является полностью типизированным и автоматически проверяется [mypy](https://github.com/python/mypy).

Разработка происходит по Rolling-модели. Это значит, что если для улучшения, исправления, оптимизации или соответствия стандарту нужно нарушить обратную совместимость, это будет выполнено, потому рекомендуется строго привязывать ваш проект к определённой версии **dublib**.

Автоматически обновляемая документация доступна на [Read the Docs](https://dublib.readthedocs.io/ru/latest). Инструкции по сборке автономной версии доступна [здесь](https://github.com/DUB1401/dublib/tree/main/docs).

## Модули
- **CLI** – набор инструментов для построения интерфейсов командой строки и стилизованного вывода в терминал.
- **Engine** – компоненты для реализации шины общения, работы с конфигурационными файлами, локализации и применения патчей.
- **Functions** – функции преобразования и обработки типов данных, унифицированных системных вызовов, декораторы.
- **Polyglot** – форматировщики для _Markdown_ и _HTML_.
- **TelebotUtils** – менеджер пользователей на основе JSON, оператор кжширования файлов и расширения для бота Telegram.
- **Validators** – валидаторы и преобразователи строковых данных.
- **WebRequestor** – оператор веб-запросов, унифицирующий работу с библиотеками [requests](https://github.com/psf/requests), [httpx](https://github.com/encode/httpx) и [curl_cffi](https://github.com/lexiforest/curl_cffi) и поддерживающий множество расширений и автоматизаций.

_Copyright © DUB1401. 2023-2026._
