Об этом проекте

Ultralytics OpenAPI — это инструмент, который читает спецификации OpenAPI (версии с 3.0 по 3.2.0) и генерирует два результата из единого контракта: интерактивную документацию API и типизированный Python SDK. Он поддерживает все стандартные HTTP-операции (GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD, TRACE). Настройка выполняется через файл `openapi.config.json`, где вы указываете источник (локальный файл или URL), имя генерируемого пакета, переменную окружения для API-ключа, базовый путь документации и различные метаданные Python-пакета (авторы, классификаторы, версия, лицензия и т.д.). Инструмент также поддерживает необязательную генерацию CLI, включая исходный файл Python, принадлежащий потребителю. Ключевые возможности включают: - Синхронные и асинхронные Python-клиенты - Типизированные ресурсы и ответы TypedDict - Поддержка многопартийной загрузки - Автоматические повторные попытки при временных сбоях - Структурированные ошибки API - Обработка API-ключей, которая остается в памяти браузера для документации - Детерминированная статическая сборка документации - Настраиваемый брендинг (логотип, фавикон, градиентные токены) - Опциональный модуль провайдера аутентификации для пользовательского обнаружения учетных данных Сгенерированные SDK по умолчанию используют лицензию AGPL-3.0, но ее можно настроить. Проект разрабатывается с использованием Bun и uv и включает команды для разработки, тестирования и генерации. Планируются будущие SDK для TypeScript, Go и Java.