aioquic
An implementation of QUIC and HTTP/3
What it is and what it does
aioquic is a Python library that implements the QUIC network protocol (RFC 9000, RFC 9369) and HTTP/3 stack (RFC 9114), along with a minimal TLS 1.3 implementation. It is designed as an embeddable component for Python libraries that need QUIC or HTTP/3 support, rather than a standalone server or client tool.
The library follows a "bring your own I/O" design pattern, meaning it handles protocol logic but leaves actual socket and I/O operations to the caller. This makes it testable and compatible with different concurrency models. It supports IPv4 and IPv6, connection migration, NAT rebinding, server push, WebSocket bootstrapping, and datagram support. Runtime dependencies include cryptography, pyopenssl, certifi, pylsqpack, and service-identity.
Use it for:
- Embed QUIC/HTTP/3 support into DNS clients or servers (used by dnspython).
- Add HTTP/3 protocol support to web servers or reverse proxies (used by hypercorn).
- Implement QUIC in network testing or interception tools (used by mitmproxy).
- Build custom QUIC-based applications with fine-grained I/O control.
- Test QUIC interoperability across implementations.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
aioquic implements QUIC and HTTP/3 network protocols for Python, providing a minimal TLS 1.3 stack and protocol handlers designed to be embedded into client and server libraries.
Yes, if you need to add QUIC or HTTP/3 support to a Python library or application. The library is production-stable, actively maintained, widely used in established projects, has no known vulnerabilities, and carries a permissive license. Install friction is moderate due to OpenSSL build requirements on some platforms, but prebuilt wheels cover common systems. Not suitable if you need a standalone QUIC server or client—it is a protocol implementation library, not an application.
Install
aioquic on PyPI
pip
pip install aioquicuv
uv add aioquicpoetry
poetry add aioquicInstalling aioquic
Before you install
Medium install friction: prebuilt wheels exist for common platforms (macOS, Linux x86/ARM, Windows), but building from source requires OpenSSL development headers. Last release was 307 days ago; repository is active with recent commits and marked Production/Stable.
License in practice
BSD-3-Clause permissive license allows commercial and private use with minimal restrictions, typical for network infrastructure libraries.
Quickstart
pip install aioquic
from aioquic.quic.connection import QuicConnection
from aioquic.h3.connection import H3Connection
Requires OpenSSL development headers if building from source; prebuilt wheels available for Python 3.10+.
Verify before relying
- Whether the 'bring your own I/O' pattern requires specific async framework knowledge or integration effort.
- Performance characteristics and scalability limits for production deployments.
- Maturity of WebSocket bootstrapping and datagram support relative to standard HTTP/3 implementations.
Package facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 5 — certifi, cryptography, pylsqpack, pyopenssl, service-identity |
| Maintenance | aging — 307 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,102,986/month — #2,753 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: aioquic-1.3.0-cp310-abi3-macosx_10_9_x86_64.whl; aioquic-1.3.0-cp310-abi3-macosx_11_0_arm64.whl; aioquic-1.3.0-cp310-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; aioquic-1.3.0-cp310-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl; aioquic-1.3.0-cp310-abi3-manylinux_2_28_i686.whl; aioquic-1.3.0-cp310-abi3-musllinux_1_2_aarch64.whl; aioquic-1.3.0-cp310-abi3-musllinux_1_2_i686.whl; aioquic-1.3.0-cp310-abi3-musllinux_1_2_x86_64.whl; aioquic-1.3.0-cp310-abi3-win32.whl; aioquic-1.3.0-cp310-abi3-win_amd64.whl; aioquic-1.3.0-cp310-abi3-win_arm64.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
qh3qh3 is a Python library implementing the QUIC…
permissive · top 5,000 on PyPI
niquestsNiquests is a drop-in replacement for Requests…
permissive · top 5,000 on PyPI
urllib3-futureHTTP client library supporting HTTP/1.1,…
permissive · top 5,000 on PyPI
tlslite-ngPure Python implementation of SSL/TLS protocols…
copyleft · top 15,000 on PyPI
telnetlib3Telnet server, client, and protocol library for…
permissive · top 5,000 on PyPI
HypercornHypercorn is an ASGI and WSGI web server…
permissive · top 5,000 on PyPI
aiortcaiortc is a Python library implementing WebRTC…
permissive · top 5,000 on PyPI
aiaBuilds and validates TLS certificate chains by…
permissive · top 15,000 on PyPI
uvicornUvicorn is an ASGI web server that runs async…
permissive · top 100 on PyPI
aioiceaioice implements Interactive Connectivity…
permissive · top 5,000 on PyPI