skillfed

qh3

A lightway and fast implementation of QUIC and HTTP/3

qh3 v1.9.4 2.4M downloads/30d#3,108 on PyPI46
Permissive license Active released

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 on this page — 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

qh3 on PyPI

pip

pip install qh3

uv

uv add qh3

poetry

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 the current Python release (>=3.7)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 32 days since the last release
Last repo commit
First released
Downloads 2,357,464/month — #3,108 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: qh3-1.9.4-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl; qh3-1.9.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; qh3-1.9.4-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; qh3-1.9.4-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl; qh3-1.9.4-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; qh3-1.9.4-cp313-cp313t-manylinux_2_17_ppc64.manylinux2014_ppc64.whl; qh3-1.9.4-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl; qh3-1.9.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; qh3-1.9.4-cp313-cp313t-manylinux_2_39_riscv64.whl; qh3-1.9.4-cp313-cp313t-musllinux_1_1_aarch64.whl; qh3-1.9.4-cp313-cp313t-musllinux_1_1_armv7l.whl; qh3-1.9.4-cp313-cp313t-musllinux_1_1_i686.whl; qh3-1.9.4-cp313-cp313t-musllinux_1_1_riscv64.whl; qh3-1.9.4-cp313-cp313t-musllinux_1_1_x86_64.whl; qh3-1.9.4-cp313-cp313t-win32.whl; qh3-1.9.4-cp313-cp313t-win_amd64.whl; qh3-1.9.4-cp313-cp313t-win_arm64.whl; qh3-1.9.4-cp314-cp314t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl; qh3-1.9.4-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; qh3-1.9.4-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Internet :: WWW/HTTP

Tags

QUIC protocol implementationHTTP/3 library PythonRFC 9000 QUIC v1TLS 1.3 minimal implementationbring your own I/O networkingQUIC client server librarypost-quantum key exchange
quic-http3cryptographynetworking

More WWW/HTTP packages