.. _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 ` — Статусы валидации флагов. * :ref:`PredefinedFlags ` — Коллекция предопределённых флагов. .. rubric:: Настройка приложения .. code-block:: python from argenta.app import ( AutoCompleter, StaticDividingLine, DynamicDividingLine, PredefinedMessages ) * :ref:`AutoCompleter ` - Класс для настройки автодополнения. * :ref:`StaticDividingLine ` — Статическая разделительная линия для оформления вывода. * :ref:`DynamicDividingLine ` — Динамическая разделительная линия для оформления вывода. * :ref:`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