--- id: aioquic version: "1.3.0" license: BSD-3-Clause license_treatment: permissive maintenance: aging --- # aioquic — An implementation of QUIC and HTTP/3 License: permissive · Maintenance: aging · Downloads: 3.1M/mo ## 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 above — 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 pip install aioquic uv add aioquic 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_current - Install friction: medium - Maintenance: aging - Downloads: 3.1M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags QUIC protocol implementation, HTTP/3 support Python, TLS 1.3 library, async network protocol, QUIC server client library, quic-protocol, http3, tls-crypto [View on SkillFed](https://skillfed.io/packages/aioquic) · [View on PyPI](https://pypi.org/project/aioquic/)