From d3bf5e703d5fd8d29a24eeeae4edb52c8f5e0da4 Mon Sep 17 00:00:00 2001 From: kolo Date: Fri, 28 Nov 2025 14:54:27 +0300 Subject: [PATCH] docs --- docs/code_snippets/arguments/snippet.py | 28 ++++++ docs/code_snippets/arguments/snippet2.py | 23 +++++ docs/root/api/orchestrator/arguments.rst | 103 +++++------------------ 3 files changed, 70 insertions(+), 84 deletions(-) create mode 100644 docs/code_snippets/arguments/snippet.py create mode 100644 docs/code_snippets/arguments/snippet2.py diff --git a/docs/code_snippets/arguments/snippet.py b/docs/code_snippets/arguments/snippet.py new file mode 100644 index 0000000..f810826 --- /dev/null +++ b/docs/code_snippets/arguments/snippet.py @@ -0,0 +1,28 @@ +from argenta.orchestrator.argparser import ArgParser, ValueArgument + +# Создание аргументов +config_arg = ValueArgument( + "config", + help="Path to configuration file", + default="config.yaml" +) + +log_level_arg = ValueArgument( + "log-level", + help="Logging level", + possible_values=["DEBUG", "INFO", "WARNING", "ERROR"], + default="INFO" +) + +host_arg = ValueArgument( + "host", + help="Server host address", + is_required=True +) + +# Регистрация в ArgParser +parser = ArgParser( + processed_args=[config_arg, log_level_arg, host_arg], + name="MyApp", + description="My application with CLI arguments" +) \ No newline at end of file diff --git a/docs/code_snippets/arguments/snippet2.py b/docs/code_snippets/arguments/snippet2.py new file mode 100644 index 0000000..2ce0404 --- /dev/null +++ b/docs/code_snippets/arguments/snippet2.py @@ -0,0 +1,23 @@ +from argenta.orchestrator.argparser import ArgParser, BooleanArgument + +# Создание булевых аргументов +verbose_arg = BooleanArgument( + "verbose", + help="Enable verbose output" +) + +debug_arg = BooleanArgument( + "debug", + help="Enable debug mode" +) + +no_cache_arg = BooleanArgument( + "no-cache", + help="Disable caching" +) + +# Регистрация в ArgParser +parser = ArgParser( + processed_args=[verbose_arg, debug_arg, no_cache_arg], + name="MyApp" +) \ No newline at end of file diff --git a/docs/root/api/orchestrator/arguments.rst b/docs/root/api/orchestrator/arguments.rst index e75b313..40093a4 100644 --- a/docs/root/api/orchestrator/arguments.rst +++ b/docs/root/api/orchestrator/arguments.rst @@ -12,9 +12,10 @@ Arguments ValueArgument ------------- -Класс для аргументов, требующих передачи значения. Используется для параметров конфигурации, которым необходимо указать значение при запуске. +Класс для аргументов, требующих передачи значения. .. py:class:: ValueArgument(BaseArgument) + :no-index: .. code-block:: python :linenos: @@ -32,45 +33,17 @@ ValueArgument :param name: Имя аргумента :param prefix: Префикс (по умолчанию ``--``) :param help: Сообщение для справки (``--help``) -:param possible_values: Список допустимых значений (передаётся в `choices` `ArgumentParser`) +:param possible_values: Список допустимых значений :param default: Значение по умолчанию, если аргумент не передан -:param is_required: Если ``True``, аргумент становится обязательным -:param is_deprecated: Если ``True``, помечает аргумент как устаревший +:param is_required: Если ``True``, аргумент становится обязательным, если не передать при запуске приложение не запустится +:param is_deprecated: Если ``True``, помечает аргумент как устаревший, если передать при запуске, то будет выведено предупреждение в консоль **Пример использования:** -.. code-block:: python +.. literalinclude:: ../../../code_snippets/arguments/snippet.py + :language: python :linenos: - from argenta import ArgParser, ValueArgument - - # Создание аргументов - config_arg = ValueArgument( - "config", - help="Path to configuration file", - default="config.yaml" - ) - - log_level_arg = ValueArgument( - "log-level", - help="Logging level", - possible_values=["DEBUG", "INFO", "WARNING", "ERROR"], - default="INFO" - ) - - host_arg = ValueArgument( - "host", - help="Server host address", - is_required=True - ) - - # Регистрация в ArgParser - parser = ArgParser( - processed_args=[config_arg, log_level_arg, host_arg], - name="MyApp", - description="My application with CLI arguments" - ) - **Запуск приложения:** .. code-block:: bash @@ -83,9 +56,10 @@ ValueArgument BooleanArgument --------------- -Класс для булевых аргументов, не требующих значения. Их наличие при запуске устанавливает значение в `True`, отсутствие — в `False`. +Класс для булевых аргументов, не требующих значения. Их наличие при запуске устанавливает значение в **True**, отсутствие — в **False**. .. py:class:: BooleanArgument(BaseArgument) + :no-index: .. code-block:: python :linenos: @@ -104,33 +78,10 @@ BooleanArgument **Пример использования:** -.. code-block:: python +.. literalinclude:: ../../../code_snippets/arguments/snippet2.py + :language: python :linenos: - from argenta import ArgParser, BooleanArgument - - # Создание булевых аргументов - verbose_arg = BooleanArgument( - "verbose", - help="Enable verbose output" - ) - - debug_arg = BooleanArgument( - "debug", - help="Enable debug mode" - ) - - no_cache_arg = BooleanArgument( - "no-cache", - help="Disable caching" - ) - - # Регистрация в ArgParser - parser = ArgParser( - processed_args=[verbose_arg, debug_arg, no_cache_arg], - name="MyApp" - ) - **Запуск приложения:** .. code-block:: bash @@ -149,9 +100,10 @@ InputArgument .. seealso:: ``InputArgument`` напрямую связан с контейнером ``ArgSpace`` и является его наполнителем. Подробнее о нём см. :ref:`здесь `. -Представляет собой обработанный аргумент командной строки. Этот класс используется внутри `ArgSpace` для хранения значений, полученных после парсинга. +Представляет собой обработанный аргумент командной строки. Этот класс используется внутри ``ArgSpace`` для хранения значений, полученных после парсинга. .. py:class:: InputArgument + :no-index: .. code-block:: python :linenos: @@ -163,39 +115,22 @@ InputArgument Создаёт экземпляр обработанного входного аргумента. :param name: Имя аргумента -:param value: Значение аргумента. Для `BooleanArgument` — `True`, если аргумент передан; для `ValueArgument` — строка со значением -:param founder_class: Класс-родитель, из которого был создан аргумент (`BooleanArgument` или `ValueArgument`) +:param value: Значение аргумента. Для ``BooleanArgument`` — **True**, если аргумент передан и **False**, если нет; для **ValueArgument** — введённая строка +:param founder_class: Класс-родитель, из которого был создан аргумент (``BooleanArgument`` или ``ValueArgument``) **Атрибуты:** .. py:attribute:: name - :no-index: - Имя аргумента, указанное при создании `ValueArgument` или `BooleanArgument`. + Имя аргумента, указанное при создании ``ValueArgument`` или ``BooleanArgument``. .. py:attribute:: value Значение аргумента. Тип зависит от исходного класса: -* Для `BooleanArgument`: `True`, если аргумент был передан. -* Для `ValueArgument`: строка с переданным значением или значением по умолчанию +* Для ``BooleanArgument``: **True**, если аргумент был передан. +* Для ``ValueArgument``: строка с переданным значением или значением по умолчанию .. py:attribute:: founder_class - Ссылка на класс-родитель. Используется для определения типа и фильтрации в методе `get_by_type()`. - -**Методы:** - -.. py:method:: __str__() -> str - - Возвращает строковое представление в формате `InputArgument(name=value)`. - - .. code-block:: python - :linenos: - - arg = InputArgument("verbose", True, BooleanArgument) - print(str(arg)) # InputArgument(verbose=True) - -.. py:method:: __repr__() -> str - - Возвращает техническое представление объекта. \ No newline at end of file + Ссылка на класс-родитель. Используется для определения типа и фильтрации.