continue create docs

This commit is contained in:
2025-10-15 14:26:33 +03:00
parent 6e3da8b4e4
commit bd37fab1ce
18 changed files with 238 additions and 26 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
live-ru:
sphinx-autobuild -b html . _build/html/ -D language=ru
sphinx-autobuild -b html . _build/html/ru -D language=ru
serve-all:
sphinx-build -b html . _build/html/ -D language=en
@@ -0,0 +1,14 @@
# main.py
from argenta import App, Orchestrator
from routers import router
app: App = App()
orchestrator: Orchestrator = Orchestrator()
def main() -> None:
app.include_router(router)
orchestrator.start_polling(app)
if __name__ == '__main__':
main()
@@ -0,0 +1,9 @@
# routers.py
from argenta import Router, Response
router = Router()
@router.command("hello")
def handler(response: Response):
print("Hello, world!")
+2
View File
@@ -1,3 +1,5 @@
.. _contributing:
Вклад в проект
***************************
+3
View File
@@ -12,6 +12,7 @@ Argenta
Основная цель библиотеки дать возможность разработчикам сфокусироваться на реализации своих идей, предоставляя для этого удобные абстракциию.
.. image:: https://github.com/koloideal/Argenta/blob/main/imgs/mock_app_preview4.png?raw=True
:alt: Пример приложения
Argenta нужна для создания приложений, которым необходим свой скоуп, то есть: при запуске приложения юзер входит в абстрагированный скоуп,
в котором у него есть доступ к созданной функциональности
@@ -25,7 +26,9 @@ Argenta нужна для создания приложений, которым
* **Приложение**. Объект управления жизненным циклом приложения, подключения созданных маршрутизаторов, конфигурирования различных вторичных утилит, таких как автокомплит, логирование и т.д.
* **Оркестратор**. Объект *оркестрации*, который конфигурирует, запускает и управляет всеми остальными компонентами программы.
* **Внедрение зависимостей**. ``Argenta`` нативно поддерживает ``dishka`` и предоставляет возможность инжектирования зависимостей в хэндлерах, резолвя тайпхинты, подробнее_.
.. _подробнее: https://dishka.readthedocs.io/en/stable/di_intro.html
* **Поддержка флагов**. Библиотека поддерживает определение флагов, введённых вместе с командой, ``Argenta`` сама парсит и валидирует их, отдавая понятные сущности.
* **Поддержка аргументов**. Осуществленна поддержка аргументов командной строки, позволяя пользователю передавать различные параметры при запуске приложения.
+5 -2
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-15 11:06+0300\n"
"POT-Creation-Date: 2025-10-15 13:40+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -20,6 +20,9 @@ msgstr ""
"Generated-By: Babel 2.17.0\n"
#: ../../api/index.rst:2
msgid "Public API"
msgid "Публичный API"
msgstr ""
#~ msgid "Public API"
#~ msgstr ""
+5 -2
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-15 11:06+0300\n"
"POT-Creation-Date: 2025-10-15 13:40+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -20,7 +20,7 @@ msgstr ""
"Generated-By: Babel 2.17.0\n"
#: ../../contributing.rst:2
msgid "Contributing"
msgid "Вклад в проект"
msgstr ""
#: ../../contributing.rst:4
@@ -33,3 +33,6 @@ msgstr ""
msgid "Getting started"
msgstr ""
#~ msgid "Contributing"
#~ msgstr ""
+87 -9
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-15 11:06+0300\n"
"POT-Creation-Date: 2025-10-15 14:19+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -19,23 +19,23 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n"
#: ../../index.rst:11
#: ../../index.rst:35
msgid "Контент:"
msgstr "Content:"
#: ../../index.rst:20
#: ../../index.rst:45
msgid "Для разработчиков:"
msgstr "For developers:"
#: ../../index.rst:26
#: ../../index.rst:51
msgid "GitHub"
msgstr ""
#: ../../index.rst:26
#: ../../index.rst:51
msgid "PyPI"
msgstr ""
#: ../../index.rst:26
#: ../../index.rst:51
msgid "Ссылки проекта:"
msgstr "Project Links"
@@ -44,8 +44,86 @@ msgid "Argenta"
msgstr ""
#: ../../index.rst:9
#, fuzzy
msgid ""
"Python библиотека для построения модульных CLI-приложений с простым и "
"приятным API."
msgstr "Python library for building modular CLI applications with simple and agreeable API."
"**Библиотека для построения модульных CLI-приложений с простым и приятным"
" API.**"
msgstr ""
"Python library for building modular CLI applications with simple and "
"agreeable API."
#: ../../index.rst:11
msgid ""
"У вас есть некая функциональность и вы хотите распространять её в виде "
"cli? Argenta поможет вам. Основная цель библиотеки дать возможность "
"разработчикам сфокусироваться на реализации своих идей, предоставляя для "
"этого удобные абстракциию."
msgstr ""
#: ../../index.rst:14
msgid "Пример приложения"
msgstr ""
#: ../../index.rst:17
msgid ""
"Argenta нужна для создания приложений, которым необходим свой скоуп, то "
"есть: при запуске приложения юзер входит в абстрагированный скоуп, в "
"котором у него есть доступ к созданной функциональности Один из основных "
"принципов библиотеки это цикличность, это значит, что после ввода юзером "
"команды он не выходит из скоупа, в этом основное отличие от таких "
"библиотек, как ``argparse``, ``click`` и ``typer``. Выход из скоупа "
"контролируется самим юзером."
msgstr ""
#: ../../index.rst:22
msgid "**Ключевые особенности:**"
msgstr ""
#: ../../index.rst:24
msgid ""
"**Обработчики**. Объекты представления приложения, непосредственные "
"обработчики введённых команд. Создание обработчиков максимально "
"декларативно"
msgstr ""
#: ../../index.rst:25
msgid ""
"**Маршрутизаторы**. Объекты маршрутизации, которые регистрируют "
"обработчиков, позволяя создавать кастомные настройки для групп "
"обработчиков, а также семантически их разделять."
msgstr ""
#: ../../index.rst:26
msgid ""
"**Приложение**. Объект управления жизненным циклом приложения, "
"подключения созданных маршрутизаторов, конфигурирования различных "
"вторичных утилит, таких как автокомплит, логирование и т.д."
msgstr ""
#: ../../index.rst:27
msgid ""
"**Оркестратор**. Объект *оркестрации*, который конфигурирует, запускает и"
" управляет всеми остальными компонентами программы."
msgstr ""
#: ../../index.rst:28
msgid ""
"**Внедрение зависимостей**. ``Argenta`` нативно поддерживает ``dishka`` и"
" предоставляет возможность инжектирования зависимостей в хэндлерах, "
"резолвя тайпхинты, подробнее_."
msgstr ""
#: ../../index.rst:32
msgid ""
"**Поддержка флагов**. Библиотека поддерживает определение флагов, "
"введённых вместе с командой, ``Argenta`` сама парсит и валидирует их, "
"отдавая понятные сущности."
msgstr ""
#: ../../index.rst:33
msgid ""
"**Поддержка аргументов**. Осуществленна поддержка аргументов командной "
"строки, позволяя пользователю передавать различные параметры при запуске "
"приложения."
msgstr ""
+32 -6
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-15 11:06+0300\n"
"POT-Creation-Date: 2025-10-15 14:19+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -19,11 +19,37 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n"
#: ../../quickstart.rst:2
msgid "Quickstart"
msgstr ""
#: ../../quickstart.rst:4
msgid "**Install Argenta**"
msgid "Быстрый старт"
msgstr ""
#: ../../quickstart.rst:6
msgid "**Установка** ``Argenta``"
msgstr ""
#: ../../quickstart.rst:12
msgid ""
"**Определение роутера и хэндлеров**, за регистрацию функции как "
"обработчика отвечает декоратор ``@router.command``, хэндлер всегда должен"
" принимать аргумент с типом ``Response``, подробнее в :ref:`разделе "
"<Response>`."
msgstr ""
#: ../../quickstart.rst:17
msgid ""
"**Определение приложения и оркестратора**, для запуска приложения "
"необходимо вызвать ``.include_router()`` у созданного приложения и "
"передать ему раннее созданный роутер, после этого необходимо вызвать "
"``.start_polling()`` у созданного оркестратора и передать ему созданное "
"приложение."
msgstr ""
#~ msgid "Quickstart"
#~ msgstr ""
#~ msgid "**Install Argenta**"
#~ msgstr ""
#~ msgid "**Установка**"
#~ msgstr ""
@@ -0,0 +1,25 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025, kolo
# This file is distributed under the same license as the Argenta package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-15 13:40+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n"
#: ../../redirect_stdout.rst:2
msgid "Перенаправление стандартного вывода"
msgstr ""
+20 -1
View File
@@ -1,8 +1,27 @@
.. _quickstart:
Быстрый старт
********************
1. **Установка**
1. **Установка** ``Argenta``
.. code-block:: shell
pip install argenta
2. **Определение роутера и хэндлеров**, за регистрацию функции как обработчика отвечает декоратор ``@router.command``, хэндлер всегда должен принимать аргумент с типом ``Response``, подробнее в :ref:`разделе <Response>`.
.. literalinclude:: ./code_snippets/quickstart_example_routers.py
:language: python
3. **Определение приложения и оркестратора**, для запуска приложения необходимо вызвать ``.include_router()`` у созданного приложения и передать ему раннее созданный роутер, после этого необходимо вызвать ``.start_polling()`` у созданного оркестратора и передать ему созданное приложение.
.. literalinclude:: ./code_snippets/quickstart_example_main.py
:language: python
4. **Запуск приложения**, запускаем приложение как обычный процесс.
.. image:: https://github.com/koloideal/Argenta/blob/docs/create_docs/imgs/mock_app_preview5.png?raw=true
:alt: Quickstart Example
+1
View File
@@ -1,3 +1,4 @@
sphinx
shibuya
sphinx-intl
sphinx-autobuild