Kludex/uvicorn
An ASGI web server, for Python. π¦
Build with Backblaze B2
SDKs, agent skills, IDE extensions, and reference pipelines from Backblaze Labs. All open source.
Loading star history...
Where it stands
Rank, growth pace and release cadence relative to everything GStars tracks.
5 releases in the last 90 days, the latest 45 days ago, with 215 contributors on GitHub.
Use Cases & Benefits
- Implements a high-performance ASGI web server for Python supporting HTTP/1.1 and WebSockets.
- Offers a minimal, fast, and async-native server optimized with optional Cython-based dependencies for enhanced speed.
- Use for deploying asynchronous Python web applications requiring efficient HTTP and WebSocket handling.
- Use for development environments needing automatic reloads and environment variable support via optional extras.
- Use for integrating with various async frameworks and middleware leveraging the ASGI specification for interoperability.
Should you depend on it?
License terms, project hygiene and risks, from GitHub metadata and GStars' snapshots.
License
BSD 3-Clause
Permissive: commercial use, modification and redistribution are allowed with attribution.
Community files
- README: present
- Contributing guide: present
Watch-outs
No watch-outs from GStars' checks.
General guidance from repository metadata, not legal advice. How we score
From the README
An ASGI web server, for Python.
Documentation: https://uvicorn.dev Source Code: https://www.github.com/Kludex/uvicorn
Uvicorn is an ASGI web server implementation for Python.
Until recently Python has lacked a minimal low-level server/application interface for async frameworks. The ASGI specification fills this gap, and means we're now able to start building a common set of tooling usable across all async frameworks.
Uvicorn supports HTTP/1.1 and WebSockets.
This will install uvicorn with minimal (pure Python) dependencies.
This will install uvicorn with "Cython-based" dependencies (where possible) and other "optional extras".
Most well established Python Web frameworks started out as WSGI-based frameworks.
WSGI applications are a single, synchronous callable that takes a request and returns a response. This doesnβt allow for long-lived connections, like you get with long-poll HTTP or WebSocket connections, which WSGI doesn't support well.
Having an async concurrency model also allows for options such as lightweight background tasks, and can be less of a limiting factor for endpoints that have long periods being blocked on network I/O such as dealing with slow HTTP requests.
Daily snapshots
Stars gained per day, and how forks and open issues moved, from GStars' daily snapshots
Forks
1.1K+85
Open issues
107+27
Compared with peers in Networking
Fastest-growing repositories GStars tracks in this cohort for the week of Nov 8, by 7-day star growth
| Repository | Stars | +7d | Health | Last release |
|---|---|---|---|---|
| MHSanaei/3x-ui | 49.6K | +448 | 52 | 137 days ago |
| GyulyVGC/sniffnet | 42.3K | +422 | 75 | 111 days ago |
| tailscale/tailscale | 38.9K | +311 | 75 | today |
| netbirdio/netbird | 30.9K | +267 | 75 | today |
| fosrl/pangolin | 23.6K | +218 | 75 | 6 days ago |
| Kludex/uvicorn | 11.1K | β | 58 | 45 days ago |
| Category median | 38.9K | +311 | 75 | β |
Also by Kludex
Other repositories from this maintainer that GStars tracks
Discover Repositories
Search across tracked repositories by name or description