qh3 is a fast QUIC and HTTP/3 implementation for Python, backed by a
native Rust transport core. It is a maintained fork of aioquic and is not
a drop-in replacement.
It provides:
- a convenient
asyncioclient and server API; - sans-I/O QUIC and HTTP/3 APIs for custom integrations;
- QUIC v1 and v2, TLS 1.3, IPv4 and IPv6, migration, QLOG, datagrams, server push, WebTransport streams, ECH, and post-quantum key exchange;
- support for CPython and PyPy 3.7 or newer.
python -m pip install qh3Read the qh3 documentation for the getting-started guide, asyncio and sans-I/O integration guides, and the supported public API reference.
Only interfaces listed in the public API reference are covered by API
compatibility guarantees. In particular, qh3._hazmat and
underscore-prefixed modules are implementation details.
Complete examples are available in the examples directory. Applications looking for a complete HTTP client should generally use Niquests or urllib3.future.
- RFC 9000: QUIC
- RFC 9001: Using TLS to Secure QUIC
- RFC 9002: QUIC Loss Detection and Congestion Control
- RFC 9114: HTTP/3
- RFC 9369: QUIC Version 2
qh3 is distributed under the BSD 3-Clause License.