starlette
The little ASGI library that shines.
Install
starlette on PyPI
pip
pip install starletteuv
uv add starlettepoetry
poetry add starlettePackage facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — anyio, typing-extensions |
| Maintenance | actively maintained — 5 days since the last release |
| First released | |
| Popularity | one of the 100 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: starlette-1.6.0-py3-none-any.whl
About starlette
from the package's own PyPI description — quoted content, verbatim
<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/Kludex/starlette/main/docs/img/starlette_dark.svg" width="420px"> <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/Kludex/starlette/main/docs/img/starlette.svg" width="420px"> <img alt="starlette-logo" src="https://raw.githubusercontent.com/Kludex/starlette/main/docs/img/starlette.svg"> </picture> </p>
<p align="center"> <em>✨ The little ASGI framework that shines. ✨</em> </p>
Build Status (image) Package version (image) Supported Python Version (image) Discord (image)
Documentation: <a href="https://starlette.dev/"...
Read as markdown · JSON record · Source repository · Homepage · Docs
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
Starlette is a lightweight ASGI framework for building async web services in Python, offering HTTP routing, WebSocket support, middleware, and background tasks with minimal dependencies.
Installation is straightforward with low friction—only two runtime dependencies (anyio and typing-extensions). Active maintenance with a release just 5 days ago signals ongoing support.
BSD-3-Clause permissive license allows commercial and private use with minimal restrictions, typical for web frameworks in this ecosystem.
Usage
pip install starlette
from starlette.applications import Starlette
from starlette.responses import JSONResponse
from starlette.routing import Route
async def homepage(request):
return JSONResponse({'hello': 'world'})
app = Starlette(routes=[Route('/', endpoint=homepage)])
Requires Python >=3.10; an ASGI server such as uvicorn must be installed separately to run the application.
Verdict: Starlette is a production-ready, actively maintained ASGI framework in the top 100 PyPI packages with minimal dependencies and no known vulnerabilities. Its permissive BSD license and low install friction make it suitable for building async web services, though you must separately install an ASGI server to deploy.
Needs verification
- Whether the 'Development Status :: 3 - Alpha' classifier reflects current stability or is outdated given the production-ready claim in the description.
- Performance characteristics relative to other ASGI frameworks at the scale your application requires.
Similar packages
permissive · top 1,000 on PyPI
python-multipartpermissive · top 1,000 on PyPI
uvicornpermissive · top 100 on PyPI
duckdbpermissive · top 1,000 on PyPI
rich-toolkitpermissive · top 1,000 on PyPI
reportlabpermissive · top 1,000 on PyPI
fastapi-clipermissive · top 1,000 on PyPI
opentelemetry-instrumentation-asgipermissive · top 1,000 on PyPI
opentelemetry-util-httppermissive · top 1,000 on PyPI
dnspythonpermissive · top 1,000 on PyPI