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

Starlette — это лёгкий ASGI-фреймворк для создания асинхронных веб-приложений на Python. Он предоставляет такие возможности, как маршрутизация HTTP, обработка WebSocket, выполнение фоновых задач, события запуска/остановки, CORS, GZip-сжатие, обслуживание статических файлов, потоковые ответы, управление сессиями и куками, а также полное покрытие тестами. Код полностью типизирован и поддерживает обе backend-библиотеки: asyncio и trio. Starlette можно использовать как самостоятельный фреймворк или как набор инструментов — его компоненты модульны и могут быть независимо интегрированы в другие ASGI-совместимые проекты. Единственная обязательная зависимость — anyio; для опциональных возможностей, таких как тестовый клиент, шаблоны Jinja2, OpenTelemetry middleware, парсинг форм, поддержка сессий и генерация схем, требуются дополнительные пакеты, устанавливаемые через 'starlette[full]'. Результаты бенчмарков показывают высокую конкурентоспособность среди других фреймворков. Для развёртывания рекомендуется использовать ASGI-сервера, например Uvicorn. Проект распространяется под лицензией BSD и делает акцент на чистом дизайне API, способствующем созданию переиспользуемого middleware и монтируемых приложений в рамках ASGI-экосистемы.