mirror of
https://github.com/koloideal/Argenta.git
synced 2026-06-10 18:15:28 +03:00
docs: create index.rst
This commit is contained in:
+23
-1
@@ -6,7 +6,28 @@
|
|||||||
Argenta
|
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::
|
.. toctree::
|
||||||
:hidden:
|
:hidden:
|
||||||
@@ -15,6 +36,7 @@ Python библиотека для построения модульных CLI-
|
|||||||
quickstart
|
quickstart
|
||||||
error_handling
|
error_handling
|
||||||
dependency_injection
|
dependency_injection
|
||||||
|
redirect_stdout
|
||||||
api/index
|
api/index
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
Перенаправление стандартного вывода
|
||||||
|
***********************************
|
||||||
|
|
||||||
Reference in New Issue
Block a user