This commit is contained in:
2025-10-15 14:47:36 +03:00
parent bd37fab1ce
commit 2275ec1d00
11 changed files with 19 additions and 13 deletions
@@ -1,9 +1,9 @@
# routers.py
from argenta import Router, Response
from argenta import Router, Response, Command
router = Router()
router = Router(title="Quickstart Example")
@router.command("hello")
@router.command(Command("hello", description="Say hello"))
def handler(response: Response):
print("Hello, world!")
+1 -1
View File
@@ -9,7 +9,7 @@
project = "Argenta"
copyright = "2025, kolo"
author = "kolo"
master_doc = "index"
master_doc = "root/index"
# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
+6 -4
View File
@@ -4,18 +4,19 @@
contain the root `toctree` directive.
Argenta
=============================================
*******
**Библиотека для построения модульных CLI-приложений с простым и приятным API.**
У вас есть некая функциональность и вы хотите распространять её в виде cli? Argenta поможет вам.
У вас есть некая функциональность и вы хотите распространять её в виде CLI? Argenta поможет вам.
Основная цель библиотеки дать возможность разработчикам сфокусироваться на реализации своих идей, предоставляя для этого удобные абстракциию.
.. image:: https://github.com/koloideal/Argenta/blob/main/imgs/mock_app_preview4.png?raw=True
:alt: Пример приложения
Argenta нужна для создания приложений, которым необходим свой скоуп, то есть: при запуске приложения юзер входит в абстрагированный скоуп,
в котором у него есть доступ к созданной функциональности
в котором у него есть доступ к созданной функциональности.
Один из основных принципов библиотеки это цикличность, это значит, что после ввода юзером команды он не выходит из скоупа, в этом основное
отличие от таких библиотек, как ``argparse``, ``click`` и ``typer``. Выход из скоупа контролируется самим юзером.
@@ -39,8 +40,9 @@ Argenta нужна для создания приложений, которым
quickstart
error_handling
dependency_injection
overriding_formatting
redirect_stdout
api/index
../api/index
.. toctree::
:hidden:
+4
View File
@@ -0,0 +1,4 @@
.. _overriding_formatting:
Переопределение форматирования
*****************************************
@@ -11,12 +11,12 @@
2. **Определение роутера и хэндлеров**, за регистрацию функции как обработчика отвечает декоратор ``@router.command``, хэндлер всегда должен принимать аргумент с типом ``Response``, подробнее в :ref:`разделе <Response>`.
.. literalinclude:: ./code_snippets/quickstart_example_routers.py
.. literalinclude:: ../code_snippets/quickstart_example_routers.py
:language: python
3. **Определение приложения и оркестратора**, для запуска приложения необходимо вызвать ``.include_router()`` у созданного приложения и передать ему раннее созданный роутер, после этого необходимо вызвать ``.start_polling()`` у созданного оркестратора и передать ему созданное приложение.
.. literalinclude:: ./code_snippets/quickstart_example_main.py
.. literalinclude:: ../code_snippets/quickstart_example_main.py
:language: python
4. **Запуск приложения**, запускаем приложение как обычный процесс.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.3 MiB

+3 -3
View File
@@ -1,9 +1,9 @@
# routers.py
from argenta import Router, Response
from argenta import Router, Response, Command
router = Router()
router = Router(title="Quickstart Example")
@router.command("hello")
@router.command(Command("hello", description="Say hello"))
def handler(response: Response):
print("Hello, world!")