Hypercorn
A ASGI Server based on Hyper libraries and inspired by Gunicorn
What it is and what it does
Hypercorn is a web server for running ASGI and WSGI applications asynchronously. It supports modern HTTP protocols (HTTP/1, HTTP/2, WebSockets, and optionally HTTP/3 via aioquic) and can use different async backends—asyncio, uvloop, or trio—depending on your concurrency needs. The package was inspired by Gunicorn and was originally part of the Quart framework before being extracted as a standalone server.
You can run Hypercorn from the command line or embed it programmatically in your application using its async API. It has 8 core runtime dependencies (h11, h2, wsproto, priority, taskgroup, exceptiongroup, tomli, typing_extensions) that handle the low-level protocol work, keeping the package itself focused on server orchestration and request handling.
Use it for:
- Serve ASGI frameworks with HTTP/2 and WebSocket support.
- Run WSGI applications alongside modern async code in a single server.
- Deploy applications requiring WebSocket communication over HTTP/1 or HTTP/2.
- Use alternative async backends (uvloop, trio) to optimize for specific workload patterns.
- Serve HTTP/3 traffic when aioquic is installed and QUIC bindings are configured.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Hypercorn is an ASGI and WSGI web server supporting HTTP/1, HTTP/2, WebSockets, and optionally HTTP/3, with pluggable async worker types (asyncio, uvloop, trio).
Yes, if you need an ASGI/WSGI server with HTTP/2 and WebSocket support. Hypercorn is stable and supports current Python versions, but its aging maintenance status (279 days since last release) means slower issue response. Suitable for production if you can tolerate slower upstream updates; consider alternatives if you need active, rapid development.
Install
hypercorn on PyPI
pip
pip install hypercornuv
uv add hypercornpoetry
poetry add hypercornInstalling Hypercorn
Before you install
Low install friction with a pure-Python wheel distribution. Maintenance status is aging—last release was 279 days ago—so expect slower response to issues, though the package remains functional for current Python versions (3.10–3.14).
License in practice
MIT license is permissive and imposes no restrictions on use, modification, or redistribution in proprietary or open-source projects.
Quickstart
pip install hypercorn
import asyncio
from hypercorn.config import Config
from hypercorn.asyncio import serve
asyncio.run(serve(app, Config()))
Requires Python 3.10 or later; an ASGI or WSGI application must be provided.
Verify before relying
- Performance characteristics (throughput, latency) compared to other ASGI servers under typical workloads.
- Production readiness and stability guarantees given the aging maintenance status.
- Whether HTTP/3 support via the h3 extra is production-ready or experimental.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 8 — exceptiongroup, h11, h2, priority, taskgroup, tomli, typing_extensions, wsproto |
| Maintenance | aging — 279 days since the last release |
| First released | |
| Downloads | 10,847,681/month — #1,431 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: hypercorn-0.18.0-py3-none-any.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
uvicornUvicorn is an ASGI web server that runs async…
permissive · top 100 on PyPI
gunicornGunicorn is a WSGI and ASGI HTTP server for…
permissive · top 1,000 on PyPI
granianGranian is a Rust-based HTTP server that runs…
permissive · top 5,000 on PyPI
gunicorn_h1cFast HTTP/1.1 request and response parser for…
permissive · top 15,000 on PyPI
hyperhyper is an HTTP/2 client library for Python…
permissive · top 15,000 on PyPI
uvicorn-workerIntegrates Uvicorn's ASGI server with…
permissive · top 5,000 on PyPI
hyper-upHTTP/2 client library for Python that provides…
permissive · top 15,000 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
peppercornPeppercorn converts token streams into nested…
permissive · top 15,000 on PyPI
trio-websocketImplements WebSocket protocol (RFC 6455) for…
permissive · top 1,000 on PyPI