mirror of
https://github.com/koloideal/Argenta.git
synced 2026-06-10 10:05:28 +03:00
docs
This commit is contained in:
@@ -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
@@ -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
|
||||
|
||||
@@ -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:
|
||||
@@ -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. **Запуск приложения**, запускаем приложение как обычный процесс.
|
||||
Reference in New Issue
Block a user