.. Argenta documentation master file, created by sphinx-quickstart on Sat Oct 11 19:54:43 2025. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. Argenta ======= **Библиотека для построения модульных CLI-приложений с простым и приятным API.** У вас есть некая функциональность и вы хотите распространять её в виде CLI? Argenta поможет вам. Основная цель библиотеки дать возможность разработчикам сфокусироваться на реализации своих идей, предоставляя для этого удобные абстракциию. .. image:: https://github.com/koloideal/Argenta/blob/main/imgs/mock_app_preview4.png?raw=True :alt: Пример приложения Argenta нужна для создания приложений, которым необходим свой скоуп, то есть: при запуске приложения юзер входит в абстрагированный скоуп, в котором у него есть доступ к созданной функциональности. Один из основных принципов библиотеки это цикличность, это значит, что после ввода юзером команды он не выходит из скоупа, в этом основное отличие от таких библиотек, как ``argparse``, ``click`` и ``typer``. Выход из скоупа контролируется самим юзером. **Ключевые особенности:** * **Обработчики**. Объекты представления приложения, непосредственные обработчики введённых команд. Создание обработчиков максимально декларативно * **Маршрутизаторы**. Объекты маршрутизации, которые регистрируют обработчиков, позволяя создавать кастомные настройки для групп обработчиков, а также семантически их разделять. * **Приложение**. Объект управления жизненным циклом приложения, подключения созданных маршрутизаторов, конфигурирования различных вторичных утилит, таких как автокомплит, логирование и т.д. * **Оркестратор**. Объект *оркестрации*, который конфигурирует, запускает и управляет всеми остальными компонентами программы. * **Внедрение зависимостей**. ``Argenta`` нативно поддерживает ``dishka`` и предоставляет возможность инжектирования зависимостей в хэндлерах, резолвя тайпхинты, подробнее_. .. _подробнее: https://dishka.readthedocs.io/en/stable/di_intro.html * **Поддержка флагов**. Библиотека поддерживает определение флагов, введённых вместе с командой, ``Argenta`` сама парсит и валидирует их, отдавая понятные сущности. * **Поддержка аргументов**. Осуществленна поддержка аргументов командной строки, позволяя пользователю передавать различные параметры при запуске приложения. .. toctree:: :hidden: :caption: Контент: root/quickstart root/error_handling root/flags root/dependency_injection root/overriding_formatting root/redirect_stdout root/api/index .. toctree:: :hidden: :caption: Для разработчиков: root/contributing root/code_of_conduct .. toctree:: :hidden: :caption: Ссылки проекта: GitHub PyPI