Starlette
A lightweight ASGI framework/toolkit for building async web services and apps in Python
Repository Health
Technical Analysis
Starlette is a lightweight ASGI framework and toolkit for building high-performance async web services in Python. It provides the core primitives every ASGI app needs — routing, request/response objects, middleware, WebSockets, background tasks, and a test client — without imposing a large amount of structure on top, making it usable either directly or as the foundation other frameworks build on.
FastAPI is the most visible consumer of Starlette, using it for all of the underlying HTTP/WebSocket handling while layering in validation and OpenAPI generation; but Starlette itself is designed to be used standalone for services that need async performance without a full-featured framework’s opinions.
What You Get
- ASGI-native routing with path parameters, mounting, and WebSocket routes
- Request/Response objects, form/multipart parsing, and streaming responses
- A composable middleware stack (CORS, GZip, sessions, trusted host, etc.)
- Native async WebSocket support and background task scheduling
- A
TestClientbuilt onhttpxfor synchronous-style testing of async apps - Static file serving and Jinja2 templating integration
Common Use Cases
- Building lightweight async microservices or internal APIs without a heavier framework
- Serving as the ASGI foundation underneath higher-level frameworks (as FastAPI does)
- Building real-time services that need native WebSocket routing and handling
- Adding async middleware (CORS, auth, sessions) to an existing ASGI application
Under The Hood
Architecture - applications.py assembles a Starlette app from a middleware stack (middleware/), a Router (routing.py) that dispatches ASGI scope/receive/send calls to endpoint callables or classes (endpoints.py), with request parsing (requests.py, formparsers.py) and response construction (responses.py) as thin, composable layers around the raw ASGI interface. Tech Stack - Pure-Python, dependency-light (optional extras for httpx, jinja2, python-multipart, itsdangerous depending on features used), built and packaged via modern pyproject.toml/uv tooling, deployed under any ASGI server (Uvicorn, Hypercorn, Daphne). Code Quality - A large, well-organized tests/ directory (26+ files) covers routing, middleware, WebSockets, static files, and exception handling individually, and the project enforces type checking (py.typed) and consistent style across a 300+ contributor codebase. API Design - The Starlette(routes=[...]) constructor and decorator-free route definitions keep the surface small and explicit; because it’s intentionally low-level, using it directly requires more boilerplate than a batteries-included framework, but that same minimalism is what makes it easy to build other frameworks on top of.
Used by 21 apps in this directory
Magnitude
AI Development · Developer Tools
An open source inference engine that profiles your hardware, recommends the best local models, and tunes them for the coding agent you already use.
marimo
Data Engineering · Developer Tools
A reactive Python notebook that eliminates hidden state, runs reproducibly, and deploys as a web app or script — stored as pure Python, built for the AI era.
MLflow
AI Development · Monitoring
The open source AI engineering platform for debugging, evaluating, monitoring, and optimizing production LLMs and agents at scale.
OpenHands
AI Code Assistants · AI Development
The self-hosted developer control center for running AI coding agents — locally, in Docker, on VMs, or across cloud backends — with automation workflows for GitHub, Slack, and more.
OpenSandbox
Developer Tools · Security
Secure, fast, and extensible sandbox runtime for AI agents with multi-language SDKs and Docker/Kubernetes runtimes.
Arize Phoenix
Analytics · Devops · Monitoring
Open-source AI observability platform for tracing, evaluating, and debugging LLM applications with built-in intelligence and MCP support.
Scalar
Developer Tools
Beautiful, interactive OpenAPI documentation with a built-in offline-first API client and multi-language code generation — all in one open-source platform.
Shadowbroker
Analytics · Monitoring · Security
Self-hosted OSINT dashboard that fuses 60+ live intelligence feeds — flight tracking, ship AIS, satellites, CCTV, seismic and radio networks — into one real-time map, with an agent-ready command channel for AI co-analysts.
Skyvern
AI Agents · Automation
Skyvern (YC S2023) automates browser-based workflows by pairing LLMs with computer vision, letting agents click, fill, and extract data on sites they've never seen, without brittle XPath selectors that break on every layout change.