An implementation of QUIC
Project description
What is aioquic?
aioquic is a library for the QUIC network protocol in Python. It is built on top of asyncio, Python’s standard asynchronous I/O framework.
aioquic features a minimal TLS 1.3 implementation built upon the cryptography library. This is because QUIC requires some APIs which are currently unavailable in mainstream TLS implementations such as OpenSSL:
the ability to extract traffic secrets
the ability to operate directly on TLS messages, without using the TLS record layer
Status
aioquic is still a work in progress, and the API is not finalized.
Running the examples
aioquic requires Python 3.7 or better. After checking out the code using git you can run:
$ pip install -e .
You can now run the example server:
$ python examples/server.py --certificate tests/ssl_cert.pem --private-key tests/ssl_key.pem
You can also run the example client, which will perform an HTTP/0.9 request:
$ python examples/client.py localhost 4433
License
aioquic is released under the BSD license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.