diff --git a/docs/index.rst b/docs/index.rst index 14bdc0c..c4328d7 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -6,7 +6,28 @@ Argenta ============================================= -Python библиотека для построения модульных CLI-приложений с простым и приятным API. +**Библиотека для построения модульных CLI-приложений с простым и приятным API.** + +У вас есть некая функциональность и вы хотите распространять её в виде cli? Argenta поможет вам. +Основная цель библиотеки дать возможность разработчикам сфокусироваться на реализации своих идей, предоставляя для этого удобные абстракциию. + +.. image:: https://github.com/koloideal/Argenta/blob/main/imgs/mock_app_preview4.png?raw=True + +Argenta нужна для создания приложений, которым необходим свой скоуп, то есть: при запуске приложения юзер входит в абстрагированный скоуп, +в котором у него есть доступ к созданной функциональности +Один из основных принципов библиотеки это цикличность, это значит, что после ввода юзером команды он не выходит из скоупа, в этом основное +отличие от таких библиотек, как ``argparse``, ``click`` и ``typer``. Выход из скоупа контролируется самим юзером. + +**Ключевые особенности:** + +* **Обработчики**. Объекты представления приложения, непосредственные обработчики введённых команд. Создание обработчиков максимально декларативно +* **Маршрутизаторы**. Объекты маршрутизации, которые регистрируют обработчиков, позволяя создавать кастомные настройки для групп обработчиков, а также семантически их разделять. +* **Приложение**. Объект управления жизненным циклом приложения, подключения созданных маршрутизаторов, конфигурирования различных вторичных утилит, таких как автокомплит, логирование и т.д. +* **Оркестратор**. Объект *оркестрации*, который конфигурирует, запускает и управляет всеми остальными компонентами программы. +* **Внедрение зависимостей**. ``Argenta`` нативно поддерживает ``dishka`` и предоставляет возможность инжектирования зависимостей в хэндлерах, резолвя тайпхинты, подробнее_. +.. _подробнее: https://dishka.readthedocs.io/en/stable/di_intro.html +* **Поддержка флагов**. Библиотека поддерживает определение флагов, введённых вместе с командой, ``Argenta`` сама парсит и валидирует их, отдавая понятные сущности. +* **Поддержка аргументов**. Осуществленна поддержка аргументов командной строки, позволяя пользователю передавать различные параметры при запуске приложения. .. toctree:: :hidden: @@ -15,6 +36,7 @@ Python библиотека для построения модульных CLI- quickstart error_handling dependency_injection + redirect_stdout api/index .. toctree:: diff --git a/docs/redirect_stdout.rst b/docs/redirect_stdout.rst new file mode 100644 index 0000000..3e48e3f --- /dev/null +++ b/docs/redirect_stdout.rst @@ -0,0 +1,3 @@ +Перенаправление стандартного вывода +*********************************** +