.. _root_api_index: Публичное API ============= Описание раздела ---------------- В этом разделе описан публичный API библиотеки. Он включает: - Классы и функции для интеграции в ваши приложения. - Рекомендации по использованию и поддерживаемые сценарии. - Примеры кода, подробные сигнатуры и описание возвращаемых значений. - Гарантии стабильности и обратной совместимости. Интерфейсы, не описанные в этом разделе, считаются внутренними. Их использование может привести к ошибкам при обновлении библиотеки. При разработке собственных решений используйте только компоненты, описанные здесь. Это обеспечит стабильность и совместимость ваших продуктов с будущими версиями ``Argenta``. ----- Публичные импорты ----------------- Все основные компоненты библиотеки доступны для прямого импорта из корневого пакета ``argenta`` или его подмодулей. .. rubric:: Основные компоненты .. code-block:: python from argenta import ( App, Orchestrator, Router, Command, Response ) * :ref:`App ` — Основной класс приложения. * :ref:`Orchestrator ` — Класс для управления жизненным циклом. * :ref:`Router ` — Класс для группировки и регистрации команд. * :ref:`Command ` — Класс для создания команд. * :ref:`Response ` — Объект ответа, передаваемый в обработчики. .. rubric:: Команды и флаги .. code-block:: python from argenta.command import ( Flag, Flags, InputFlag, InputFlags, PossibleValues, ValidationStatus, PredefinedFlags ) * :ref:`Flag ` — Класс для описания флага. * :ref:`Flags ` — Коллекция для регистрации флагов. * :ref:`InputFlag ` — Класс для введённого пользователем флага. * :ref:`InputFlags ` — Коллекция введённых флагов. * :ref:`PossibleValues ` — Правила валидации значений флагов. * :ref:`ValidationStatus ` — Статусы валидации флагов. * ``PredefinedFlags`` — Готовые наборы флагов (например, ``--help``). .. rubric:: Настройка приложения .. code-block:: python from argenta.app import ( AutoCompleter, StaticDividingLine, DynamicDividingLine, PredefinedMessages ) * :ref:`AutoCompleter ` — Базовый класс для автодополнения. * :ref:`StaticDividingLine ` — Статическая разделительная линия. * :ref:`DynamicDividingLine ` — Динамическая разделительная линия. * ``PredefinedMessages`` — Готовые системные сообщения. .. rubric:: Внедрение зависимостей .. code-block:: python from argenta.di import ( FromDishka, inject ) * :ref:`FromDishka ` — Маркер для внедрения зависимостей. * :ref:`inject ` — Декоратор для асинхронного внедрения. .. toctree:: :hidden: app/index router orchestrator/index command/index response bridge