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
|
# 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):
|
def handler(response: Response):
|
||||||
print("Hello, world!")
|
print("Hello, world!")
|
||||||
|
|
||||||
+1
-1
@@ -9,7 +9,7 @@
|
|||||||
project = "Argenta"
|
project = "Argenta"
|
||||||
copyright = "2025, kolo"
|
copyright = "2025, kolo"
|
||||||
author = "kolo"
|
author = "kolo"
|
||||||
master_doc = "index"
|
master_doc = "root/index"
|
||||||
|
|
||||||
# -- General configuration ---------------------------------------------------
|
# -- General configuration ---------------------------------------------------
|
||||||
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
||||||
|
|||||||
@@ -4,18 +4,19 @@
|
|||||||
contain the root `toctree` directive.
|
contain the root `toctree` directive.
|
||||||
|
|
||||||
Argenta
|
Argenta
|
||||||
=============================================
|
*******
|
||||||
|
|
||||||
**Библиотека для построения модульных CLI-приложений с простым и приятным API.**
|
**Библиотека для построения модульных CLI-приложений с простым и приятным API.**
|
||||||
|
|
||||||
У вас есть некая функциональность и вы хотите распространять её в виде cli? Argenta поможет вам.
|
У вас есть некая функциональность и вы хотите распространять её в виде CLI? Argenta поможет вам.
|
||||||
Основная цель библиотеки дать возможность разработчикам сфокусироваться на реализации своих идей, предоставляя для этого удобные абстракциию.
|
Основная цель библиотеки дать возможность разработчикам сфокусироваться на реализации своих идей, предоставляя для этого удобные абстракциию.
|
||||||
|
|
||||||
.. image:: https://github.com/koloideal/Argenta/blob/main/imgs/mock_app_preview4.png?raw=True
|
.. image:: https://github.com/koloideal/Argenta/blob/main/imgs/mock_app_preview4.png?raw=True
|
||||||
:alt: Пример приложения
|
:alt: Пример приложения
|
||||||
|
|
||||||
Argenta нужна для создания приложений, которым необходим свой скоуп, то есть: при запуске приложения юзер входит в абстрагированный скоуп,
|
Argenta нужна для создания приложений, которым необходим свой скоуп, то есть: при запуске приложения юзер входит в абстрагированный скоуп,
|
||||||
в котором у него есть доступ к созданной функциональности
|
в котором у него есть доступ к созданной функциональности.
|
||||||
|
|
||||||
Один из основных принципов библиотеки это цикличность, это значит, что после ввода юзером команды он не выходит из скоупа, в этом основное
|
Один из основных принципов библиотеки это цикличность, это значит, что после ввода юзером команды он не выходит из скоупа, в этом основное
|
||||||
отличие от таких библиотек, как ``argparse``, ``click`` и ``typer``. Выход из скоупа контролируется самим юзером.
|
отличие от таких библиотек, как ``argparse``, ``click`` и ``typer``. Выход из скоупа контролируется самим юзером.
|
||||||
|
|
||||||
@@ -39,8 +40,9 @@ Argenta нужна для создания приложений, которым
|
|||||||
quickstart
|
quickstart
|
||||||
error_handling
|
error_handling
|
||||||
dependency_injection
|
dependency_injection
|
||||||
|
overriding_formatting
|
||||||
redirect_stdout
|
redirect_stdout
|
||||||
api/index
|
../api/index
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:hidden:
|
:hidden:
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
.. _overriding_formatting:
|
||||||
|
|
||||||
|
Переопределение форматирования
|
||||||
|
*****************************************
|
||||||
@@ -11,12 +11,12 @@
|
|||||||
|
|
||||||
2. **Определение роутера и хэндлеров**, за регистрацию функции как обработчика отвечает декоратор ``@router.command``, хэндлер всегда должен принимать аргумент с типом ``Response``, подробнее в :ref:`разделе <Response>`.
|
2. **Определение роутера и хэндлеров**, за регистрацию функции как обработчика отвечает декоратор ``@router.command``, хэндлер всегда должен принимать аргумент с типом ``Response``, подробнее в :ref:`разделе <Response>`.
|
||||||
|
|
||||||
.. literalinclude:: ./code_snippets/quickstart_example_routers.py
|
.. literalinclude:: ../code_snippets/quickstart_example_routers.py
|
||||||
:language: python
|
:language: python
|
||||||
|
|
||||||
3. **Определение приложения и оркестратора**, для запуска приложения необходимо вызвать ``.include_router()`` у созданного приложения и передать ему раннее созданный роутер, после этого необходимо вызвать ``.start_polling()`` у созданного оркестратора и передать ему созданное приложение.
|
3. **Определение приложения и оркестратора**, для запуска приложения необходимо вызвать ``.include_router()`` у созданного приложения и передать ему раннее созданный роутер, после этого необходимо вызвать ``.start_polling()`` у созданного оркестратора и передать ему созданное приложение.
|
||||||
|
|
||||||
.. literalinclude:: ./code_snippets/quickstart_example_main.py
|
.. literalinclude:: ../code_snippets/quickstart_example_main.py
|
||||||
:language: python
|
:language: python
|
||||||
|
|
||||||
4. **Запуск приложения**, запускаем приложение как обычный процесс.
|
4. **Запуск приложения**, запускаем приложение как обычный процесс.
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 1.3 MiB |
@@ -1,9 +1,9 @@
|
|||||||
# routers.py
|
# 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):
|
def handler(response: Response):
|
||||||
print("Hello, world!")
|
print("Hello, world!")
|
||||||
|
|
||||||
Reference in New Issue
Block a user