{ "info": { "author": "Madricas", "author_email": "madricas@outlook.fr", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Topic :: Internet :: WWW/HTTP" ], "description": "aioquic\n=======\n\n|rtd| |pypi-v| |pypi-pyversions| |pypi-l| |travis| |codecov| |black|\n\n.. |rtd| image:: https://readthedocs.org/projects/aioquic/badge/?version=latest\n :target: https://aioquic.readthedocs.io/\n\n.. |pypi-v| image:: https://img.shields.io/pypi/v/aioquic.svg\n :target: https://pypi.python.org/pypi/aioquic\n\n.. |pypi-pyversions| image:: https://img.shields.io/pypi/pyversions/aioquic.svg\n :target: https://pypi.python.org/pypi/aioquic\n\n.. |pypi-l| image:: https://img.shields.io/pypi/l/aioquic.svg\n :target: https://pypi.python.org/pypi/aioquic\n\n.. |travis| image:: https://img.shields.io/travis/com/aiortc/aioquic.svg\n :target: https://travis-ci.com/aiortc/aioquic\n\n.. |codecov| image:: https://img.shields.io/codecov/c/github/aiortc/aioquic.svg\n :target: https://codecov.io/gh/aiortc/aioquic\n\n.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg\n :target: https://github.com/python/black\n\nWhat is ``aioquic``?\n--------------------\n\n``aioquic`` is a library for the QUIC network protocol in Python. It features\na minimal TLS 1.3 implementation, a QUIC stack and an HTTP/3 stack.\n\nQUIC standardisation is not finalised yet, but ``aioquic`` closely tracks the\nspecification drafts and is regularly tested for interoperability against other\n`QUIC implementations`_.\n\nTo learn more about ``aioquic`` please `read the documentation`_.\n\nWhy should I use ``aioquic``?\n-----------------------------\n\n``aioquic`` has been designed to be embedded into Python client and server\nlibraries wishing to support QUIC and / or HTTP/3. The goal is to provide a\ncommon codebase for Python libraries in the hope of avoiding duplicated effort.\n\nBoth the QUIC and the HTTP/3 APIs follow the \"bring your own I/O\" pattern,\nleaving actual I/O operations to the API user. This approach has a number of\nadvantages including making the code testable and allowing integration with\ndifferent concurrency models.\n\nFeatures\n--------\n\n- QUIC stack conforming with draft-23\n- HTTP/3 stack conforming with draft-23\n- minimal TLS 1.3 implementation\n- IPv4 and IPv6 support\n- connection migration and NAT rebinding\n- logging TLS traffic secrets\n- logging QUIC events in QLOG format\n- HTTP/3 server push support\n\nRunning the examples\n--------------------\n\n``aioquic`` requires Python 3.6 or better, and the OpenSSL development headers.\n\n.. code-block:: console\n\n $ sudo apt install libssl-dev python3-dev\n\nAfter checking out the code using git you can run:\n\n.. code-block:: console\n\n $ pip install -e .\n $ pip install aiofiles asgiref httpbin starlette wsproto\n\nHTTP/3 server\n.............\n\nYou can run the example server, which handles both HTTP/0.9 and HTTP/3:\n\n.. code-block:: console\n\n $ python examples/http3_server.py --certificate tests/ssl_cert.pem --private-key tests/ssl_key.pem\n\nHTTP/3 client\n.............\n\nYou can run the example client to perform an HTTP/3 request:\n\n.. code-block:: console\n\n $ python examples/http3_client.py --ca-certs tests/pycacert.pem https://localhost:4433/\n\nAlternatively you can perform an HTTP/0.9 request:\n\n.. code-block:: console\n\n $ python examples/http3_client.py --ca-certs tests/pycacert.pem --legacy-http https://localhost:4433/\n\nYou can also open a WebSocket over HTTP/3:\n\n.. code-block:: console\n\n $ python examples/http3_client.py --ca-certs tests/pycacert.pem wss://localhost:4433/ws\n\nLicense\n-------\n\n``aioquic`` is released under the `BSD license`_.\n\n.. _read the documentation: https://aioquic.readthedocs.io/en/latest/\n.. _QUIC implementations: https://github.com/quicwg/base-drafts/wiki/Implementations\n.. _cryptography: https://cryptography.io/\n.. _BSD license: https://aioquic.readthedocs.io/en/latest/license.html", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/madricas/aioquic", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "aioquic-gcc49", "package_url": "https://pypi.org/project/aioquic-gcc49/", "platform": "", "project_url": "https://pypi.org/project/aioquic-gcc49/", "project_urls": { "Homepage": "https://github.com/madricas/aioquic" }, "release_url": "https://pypi.org/project/aioquic-gcc49/0.8.2/", "requires_dist": null, "requires_python": "", "summary": "An implementation of QUIC and HTTP/3", "version": "0.8.2", "yanked": false, "yanked_reason": null }, "last_serial": 6024095, "releases": { "0.8.2": [ { "comment_text": "", "digests": { "md5": "635047f441416abf46c54decd0ff8167", "sha256": "d824577e2b68d2573d4838d4a2704abded040e9f693f4d358263d28e8f56d5fe" }, "downloads": -1, "filename": "aioquic-gcc49-0.8.2.tar.gz", "has_sig": false, "md5_digest": "635047f441416abf46c54decd0ff8167", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 123995, "upload_time": "2019-10-24T14:13:50", "upload_time_iso_8601": "2019-10-24T14:13:50.230423Z", "url": "https://files.pythonhosted.org/packages/61/c0/e0798f380d722b7a28e4abf3f1ab3e4d9917fc0d4ad12e96a695e216260d/aioquic-gcc49-0.8.2.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "635047f441416abf46c54decd0ff8167", "sha256": "d824577e2b68d2573d4838d4a2704abded040e9f693f4d358263d28e8f56d5fe" }, "downloads": -1, "filename": "aioquic-gcc49-0.8.2.tar.gz", "has_sig": false, "md5_digest": "635047f441416abf46c54decd0ff8167", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 123995, "upload_time": "2019-10-24T14:13:50", "upload_time_iso_8601": "2019-10-24T14:13:50.230423Z", "url": "https://files.pythonhosted.org/packages/61/c0/e0798f380d722b7a28e4abf3f1ab3e4d9917fc0d4ad12e96a695e216260d/aioquic-gcc49-0.8.2.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }