Публичное API

Описание раздела

В этом разделе описан публичный API библиотеки. Он включает:

  • Классы и функции для интеграции в ваши приложения.

  • Рекомендации по использованию и поддерживаемые сценарии.

  • Примеры кода, подробные сигнатуры и описание возвращаемых значений.

  • Гарантии стабильности и обратной совместимости.

Интерфейсы, не описанные в этом разделе, считаются внутренними. Их использование может привести к ошибкам при обновлении библиотеки. При разработке собственных решений используйте только компоненты, описанные здесь. Это обеспечит стабильность и совместимость ваших продуктов с будущими версиями Argenta.


Публичные импорты

Все основные компоненты библиотеки доступны для прямого импорта из корневого пакета argenta или его подмодулей.

Основные компоненты

from argenta import App, Orchestrator, Router, Command, Response
  • App — Объект приложения, который отвечает за логику роутинга, настройки, валидации и т.д.

  • Orchestrator — Класс для конфигурирования и запуска всего приложения.

  • Router — Класс для группировки и регистрации команд.

  • Command — Класс для создания команд при инициализации хэндлеров.

  • Response — Объект ответа, передаваемый в обработчики.

Команды и флаги

from argenta.command import (
    Flag,
    Flags,
    InputFlag,
    InputFlags,
    PossibleValues,
    ValidationStatus,
    PredefinedFlags
)
  • Flag — Класс для описания флага.

  • Flags — Коллекция для регистрации флагов.

  • InputFlag — Класс для введённого пользователем флага.

  • InputFlags — Коллекция введённых флагов.

  • PossibleValues — Правила валидации значений флага.

  • ValidationStatus — Статусы валидации флагов.

  • PredefinedFlags — Коллекция предопределённых флагов.

Настройка приложения

from argenta.app import (
    AutoCompleter,
    StaticDividingLine,
    DynamicDividingLine,
    PredefinedMessages
)
  • AutoCompleter - Класс для настройки автодополнения.

  • StaticDividingLine — Статическая разделительная линия для оформления вывода.

  • DynamicDividingLine — Динамическая разделительная линия для оформления вывода.

  • PredefinedMessages — Готовые сообщения для вывода при старте приложения.

Внедрение зависимостей

from argenta.di import (
    FromDishka,
    inject
)
  • FromDishka — Маркер аргумента функции как зависимости, которая должна быть инжектирована.

  • inject — Декоратор для инжектирования зависимостей, указанных в сигнатуре.