--- id: qh3 version: "1.9.4" license: unclear license_treatment: permissive maintenance: active --- # qh3 — A lightway and fast implementation of QUIC and HTTP/3 License: permissive · Maintenance: active · Downloads: 2.4M/mo ## What it is and what it does qh3 is a maintained fork of aioquic that provides a lightweight QUIC and HTTP/3 implementation for Python. It includes a minimal TLS 1.3 stack and conforms to RFC 9000 (QUIC v1) and RFC 9114 (HTTP/3), with support for QUIC v2 via RFC 9369. The library has no external dependencies and does not rely on OpenSSL, making it simpler to embed and deploy. The package follows a "bring your own I/O" design pattern, meaning you control socket operations and concurrency integration rather than the library imposing a specific I/O model. This makes it testable and compatible with different async frameworks. While client-side support is the primary focus, server-side code is maintained. The library supports modern features including post-quantum key exchange (ML-KEM-768), connection migration, OCSP stapling, and encrypted client hello. Use it for: - Embed QUIC/HTTP/3 support in Python HTTP clients or libraries that need standards-compliant protocol handling - Build low-level QUIC applications where you control I/O and concurrency (e.g., custom UDP socket handling) - Integrate HTTP/3 into frameworks like urllib3.future or niquests that wrap qh3 for higher-level APIs - Test QUIC protocol behavior or implement QUIC-based services with post-quantum cryptography support - Migrate from aioquic while gaining lighter dependencies and faster performance ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. qh3 is a Python library implementing the QUIC network protocol and HTTP/3 stack, with a minimal TLS 1.3 implementation, designed for embedding in client and server applications. Yes, if you need QUIC/HTTP/3 support in Python and prefer a dependency-free, actively maintained implementation. The library is production-stable and suitable for embedding in client libraries. Not recommended if you need a high-level HTTP client (use niquests or urllib3.future instead) or if you require extensive server-side features—the maintainers prioritize client functionality. ## Install pip install qh3 uv add qh3 poetry add qh3 ## Installing qh3 Before you install: Medium install friction due to compiled wheels for multiple platforms and Python versions. Active maintenance with recent release (32 days ago) and ongoing repository activity. No external runtime dependencies simplifies deployment. License in practice: BSD license (permissive) allows use in commercial and proprietary projects with minimal restrictions beyond attribution. Quickstart: pip install qh3 import qh3 # Use qh3.QuicConnection or qh3.H3Connection for QUIC/HTTP3 protocol handling # Follows "bring your own I/O" pattern - you manage socket operations Requires Python 3.7 or greater; compiled wheels available for CPython and PyPy on multiple architectures. Verify before relying: - Specific performance benchmarks comparing qh3 to aioquic or other QUIC implementations - Maturity and stability of server-side API (description notes client is primary focus) - Real-world production deployment examples or case studies ## Package facts - License: not declared (permissive) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 2.4M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags QUIC protocol implementation, HTTP/3 library Python, RFC 9000 QUIC v1, TLS 1.3 minimal implementation, bring your own I/O networking, QUIC client server library, post-quantum key exchange, quic-http3, cryptography, networking [View on SkillFed](https://skillfed.io/packages/qh3) · [View on PyPI](https://pypi.org/project/qh3/)