Python-фреймворк для создания API со стандартными аннотациями типов, автоматической валидацией, документацией OpenAPI и высокой производительностью.
Kludex/starlette
Лёгкий ASGI-фреймворк и набор инструментов для создания асинхронных веб-сервисов и API на Python.
- Звёзды
- 12,676
- Форки
- 1,383
- Открытые issues
- 46
- Последний коммит
- вчера
Что это?
Starlette — лёгкий ASGI-фреймворк и набор инструментов для создания асинхронных веб-сервисов на Python. Он предоставляет маршрутизацию, обработку HTTP и WebSocket, фоновые задачи, события запуска и остановки, а также middleware, например для CORS, GZip и сессий. Компоненты можно использовать по отдельности или вместе как полноценный фреймворк.
Starlette требует только anyio в качестве обязательной зависимости; остальные возможности, такие как тестовый клиент, шаблоны Jinja2, обработка форм и сессии, устанавливаются как дополнительные компоненты. Фреймворк работает на ASGI-сервере, например uvicorn, и совместим с бэкендами asyncio и trio.
Поскольку компоненты соответствуют интерфейсу ASGI, middleware и подключаемые приложения теоретически можно использовать и с другими ASGI-фреймворками.
Ключевые возможности
- 01Лёгкая маршрутизация HTTP и обработка запросов и ответов.
- 02Поддержка WebSocket.
- 03Фоновые задачи в процессе и события запуска и остановки.
- 04Встроенные middleware для CORS, GZip, статических файлов и сессий и cookies.
- 05Тестовый клиент на базе httpx2.
- 06Совместимость с бэкендами asyncio и trio.
Сценарии использования
- Создание асинхронных JSON API и веб-сервисов на Python.
- Добавление WebSocket-эндпоинтов в бэкенд на Python.
- Использование отдельных компонентов ASGI, например middleware или ответов, в собственной связке.
Быстрый старт
- 1
Установите Starlette
pip install starlette - 2
Установите ASGI-сервер, например uvicorn
pip install uvicorn - 3
Сохраните пример в файл main.py, затем запустите его с помощью Uvicorn
uvicorn main:app
Что важно знать
- Starlette — это набор инструментов, поэтому сервер и необходимые дополнительные зависимости нужно настроить самостоятельно.
- Для некоторых возможностей требуются дополнительные пакеты, например jinja2 или python-multipart.
Темы
Частые вопросы
- Что такое starlette?
- Лёгкий ASGI-фреймворк и набор инструментов для создания асинхронных веб-сервисов и API на Python. Starlette — лёгкий ASGI-фреймворк и набор инструментов для создания асинхронных веб-сервисов на Python. Он предоставляет маршрутизацию, обработку HTTP и WebSocket, фоновые задачи, события запуска и остановки, а также middleware, например для CORS, GZip и сессий. Компоненты можно использовать по отдельности или вместе как полноценный фреймворк.
- starlette можно использовать бесплатно? Какая у него лицензия?
- starlette распространяется с открытым исходным кодом под лицензией BSD-3-Clause. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- starlette всё ещё поддерживается?
- Активно поддерживается. Последний коммит в starlette — 18 окт. 2026 г..
- Для чего можно использовать starlette?
- Создание асинхронных JSON API и веб-сервисов на Python. Добавление WebSocket-эндпоинтов в бэкенд на Python. Использование отдельных компонентов ASGI, например middleware или ответов, в собственной связке.
- Как установить starlette?
- Установите Starlette: pip install starlette Установите ASGI-сервер, например uvicorn: pip install uvicorn Сохраните пример в файл main.py, затем запустите его с помощью Uvicorn: uvicorn main:app
- Где скачать starlette?
- Исходный код и инструкции по установке — на GitHub: https://github.com/Kludex/starlette
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Python-фреймворк для создания веб-, десктопных и мобильных приложений с интерфейсом на базе Flutter — без опыта во фронтенд-разработке.
Подборка сторонних пакетов, инструментов, учебных материалов и ресурсов для разработки на Django, составленная сообществом.
Открытая платформа данных на Python, объединяющая финансовые и другие источники и предоставляющая к ним доступ из Python, Excel, AI-агентов и через REST API.
Инструмент для удаления фона с изображений: доступен как CLI, библиотека Python, HTTP-сервер или Docker-контейнер.
Открытая модель для локальной генерации музыки: создаёт целые песни по текстовым запросам и поддерживает редактирование, создание каверов и обучение LoRA.