Skip to content

FastOpenAPI

Логотип

FastOpenAPI — это библиотека для генерации и интеграции OpenAPI-схем с использованием Pydantic и различных фреймворков.

Этот проект вдохновлён FastAPI и стремится обеспечить такой же удобный опыт для разработчиков.

Загрузки с PyPI


О проекте

FastOpenAPI — это библиотека для Python, предназначенная для генерации и интеграции OpenAPI-схем с использованием моделей Pydantic в различных веб-фреймворках. Вдохновлённая FastAPI, она предлагает аналогичный удобный опыт для таких фреймворков, как AIOHTTP, Falcon, Flask, Quart, Sanic, Starlette и Tornado. С помощью FastOpenAPI вы можете добавить интерактивную документацию API и валидацию запросов/ответов к существующему приложению без необходимости менять фреймворк.

FastOpenAPI находится в активной разработке (до версии 1.0). Несмотря на то, что библиотека уже пригодна к использованию, возможны изменения. Обратная связь и участие в разработке приветствуются.

Возможности

  • Автоматическая генерация схем OpenAPI — определите маршруты и модели, и FastOpenAPI сгенерирует полноценную OpenAPI-схему.
  • Поддержка Pydantic v2 — используйте Pydantic для валидации и сериализации данных. Проверяются как запросы, так и ответы.
  • Интеграция с несколькими фреймворками — из коробки поддерживаются AIOHTTP, Falcon, Flask, Quart, Sanic, Starlette и Tornado.
  • Маршрутизация в стиле FastAPI — используйте декораторы @router.get, @router.post и т.п., как в FastAPI.
  • Интерактивная документация — Swagger UI доступен по /docs, ReDoc — по /redoc.
  • Валидация запросов и обработка ошибок — некорректные данные возвращают ошибку в формате JSON. В комплекте идут классы исключений для 400, 404 и других стандартных ошибок.

Используйте навигацию слева, чтобы изучить документацию. Начните с разделов Установка и Быстрый старт, затем перейдите к Использование. Отдельные страницы описывают интеграцию с каждым фреймворком. Продвинутые темы и структура библиотеки описаны в разделах Дополнительно и Справочник API. Если хотите помочь — смотрите Участие в разработке. Список изменений — в соответствующем разделе, а часто задаваемые вопросы — в ЧаВо.