Что такое FastAPI
FastAPI — современный Python-фреймворк для создания API. Создан Себастьяном Рамиресом в 2018 году. Название отражает суть: это действительно быстро — и в плане производительности (один из самых быстрых Python-фреймворков), и в плане разработки (автоматическая документация, валидация).
FastAPI использует современные возможности Python: type hints (аннотации типов), async/await. Если ты уже знаешь Flask или Django — FastAPI покажется одновременно знакомым и значительно удобнее в ряде задач.
Ключевые особенности
Автоматическая документация: FastAPI анализирует типы параметров и автоматически генерирует Swagger UI (/docs) и ReDoc (/redoc). Описал функцию — получил интерактивную документацию API без дополнительных усилий.
Pydantic-валидация: тела запросов и ответов описываются через Pydantic-модели. FastAPI автоматически валидирует входящие данные и возвращает понятные ошибки при несоответствии.
Async/await: нативная поддержка асинхронного кода. Запросы к базе данных, внешним API — всё можно делать асинхронно, не блокируя сервер.
Производительность
FastAPI работает поверх Starlette (ASGI-фреймворк) и Uvicorn (ASGI-сервер). По бенчмаркам, FastAPI сопоставим с Go и Node.js по скорости — значительно быстрее Flask и Django при высокой нагрузке.
Применение и экосистема
FastAPI используют Microsoft, Uber, Netflix для внутренних сервисов. Популярен для ML-сервисов: модели машинного обучения часто оборачивают в FastAPI-эндпоинты. SQLModel (от того же автора) объединяет Pydantic и SQLAlchemy для работы с базой данных.
По данным опросов Python-разработчиков, FastAPI — самый быстро растущий фреймворк последних лет. Постепенно вытесняет Flask в нишах, где важны производительность и автоматическая документация.
