skillfed

aioquic

An implementation of QUIC and HTTP/3

aioquic v1.3.0 3.1M downloads/30d#2,753 on PyPI1,994
Permissive license BSD-3-Clause AGING released

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 aioquic

uv

uv add aioquic

poetry

poetry add aioquic

Installing 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

Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentIntended Audience :: DevelopersOperating 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.14Topic :: Internet :: WWW/HTTP

Tags

QUIC protocol implementationHTTP/3 support PythonTLS 1.3 libraryasync network protocolQUIC server client library
quic-protocolhttp3tls-crypto

More WWW/HTTP packages