Starlette без FastAPI: где микрофреймворк реально экономит код и нервы
Starlette часто воспринимают как «движок под FastAPI», но в отдельных задачах он удобнее напрямую: меньше магии, проще стек вызовов, легче контролировать middleware и lifecycle приложения.
Где брать Starlette без лишних слоёв:
— внутренние API с несколькими ручками, где не нужна автогенерация схем;
— webhook-приёмники: подпись, валидация, запись в очередь;
— прокси между внешним сервисом и вашей системой;
— ASGI-приложения, где важны streaming, websockets или фоновые задачи.
Рабочий паттерн: маршруты держим в отдельных модулях, зависимости прокидываем через app.state, конфиг собираем на старте, сетевые клиенты закрываем в lifespan. Не создавайте http-клиент внутри каждого handler — потом это превращается в утечки и странные таймауты.
Главная ошибка — тащить в Starlette всё, что обычно даёт FastAPI: самописную DI, OpenAPI, сложную сериализацию. Если это уже нужно, берите FastAPI и не героизируйте минимализм.
Starlette хорош там, где приложение маленькое, протокол важнее бизнес-модели, а прозрачность ценнее надстроек.
Python Web & Scripts — Django, FastAPI, скрипты
@python_web_scripts
Starlette без FastAPI: где микрофреймворк реально экономит код и нервы
Этот пост опубликован в Telegram-канале Python Web & Scripts — Django, FastAPI, скрипты. Подписаться можно по ссылке: @python_web_scripts.