2025-12-25 upload
This commit is contained in:
1
venv/Lib/site-packages/aioquic-1.2.0.dist-info/INSTALLER
Normal file
1
venv/Lib/site-packages/aioquic-1.2.0.dist-info/INSTALLER
Normal file
@@ -0,0 +1 @@
|
||||
pip
|
||||
25
venv/Lib/site-packages/aioquic-1.2.0.dist-info/LICENSE
Normal file
25
venv/Lib/site-packages/aioquic-1.2.0.dist-info/LICENSE
Normal file
@@ -0,0 +1,25 @@
|
||||
Copyright (c) Jeremy Lainé.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
* Neither the name of aioquic nor the names of its contributors may
|
||||
be used to endorse or promote products derived from this software without
|
||||
specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
194
venv/Lib/site-packages/aioquic-1.2.0.dist-info/METADATA
Normal file
194
venv/Lib/site-packages/aioquic-1.2.0.dist-info/METADATA
Normal file
@@ -0,0 +1,194 @@
|
||||
Metadata-Version: 2.1
|
||||
Name: aioquic
|
||||
Version: 1.2.0
|
||||
Summary: An implementation of QUIC and HTTP/3
|
||||
Author-email: Jeremy Lainé <jeremy.laine@m4x.org>
|
||||
License: BSD-3-Clause
|
||||
Project-URL: Homepage, https://github.com/aiortc/aioquic
|
||||
Project-URL: Changelog, https://aioquic.readthedocs.io/en/stable/changelog.html
|
||||
Project-URL: Documentation, https://aioquic.readthedocs.io/
|
||||
Classifier: Development Status :: 5 - Production/Stable
|
||||
Classifier: Environment :: Web Environment
|
||||
Classifier: Intended Audience :: Developers
|
||||
Classifier: License :: OSI Approved :: BSD License
|
||||
Classifier: Operating System :: OS Independent
|
||||
Classifier: Programming Language :: Python
|
||||
Classifier: Programming Language :: Python :: 3
|
||||
Classifier: Programming Language :: Python :: 3.8
|
||||
Classifier: Programming Language :: Python :: 3.9
|
||||
Classifier: Programming Language :: Python :: 3.10
|
||||
Classifier: Programming Language :: Python :: 3.11
|
||||
Classifier: Programming Language :: Python :: 3.12
|
||||
Classifier: Topic :: Internet :: WWW/HTTP
|
||||
Requires-Python: >=3.8
|
||||
Description-Content-Type: text/x-rst
|
||||
License-File: LICENSE
|
||||
Requires-Dist: certifi
|
||||
Requires-Dist: cryptography >=42.0.0
|
||||
Requires-Dist: pylsqpack <0.4.0,>=0.3.3
|
||||
Requires-Dist: pyopenssl >=24
|
||||
Requires-Dist: service-identity >=24.1.0
|
||||
Provides-Extra: dev
|
||||
Requires-Dist: coverage[toml] >=7.2.2 ; extra == 'dev'
|
||||
|
||||
aioquic
|
||||
=======
|
||||
|
||||
.. image:: https://img.shields.io/pypi/l/aioquic.svg
|
||||
:target: https://pypi.python.org/pypi/aioquic
|
||||
:alt: License
|
||||
|
||||
.. image:: https://img.shields.io/pypi/v/aioquic.svg
|
||||
:target: https://pypi.python.org/pypi/aioquic
|
||||
:alt: Version
|
||||
|
||||
.. image:: https://img.shields.io/pypi/pyversions/aioquic.svg
|
||||
:target: https://pypi.python.org/pypi/aioquic
|
||||
:alt: Python versions
|
||||
|
||||
.. image:: https://github.com/aiortc/aioquic/workflows/tests/badge.svg
|
||||
:target: https://github.com/aiortc/aioquic/actions
|
||||
:alt: Tests
|
||||
|
||||
.. image:: https://img.shields.io/codecov/c/github/aiortc/aioquic.svg
|
||||
:target: https://codecov.io/gh/aiortc/aioquic
|
||||
:alt: Coverage
|
||||
|
||||
.. image:: https://readthedocs.org/projects/aioquic/badge/?version=latest
|
||||
:target: https://aioquic.readthedocs.io/
|
||||
:alt: Documentation
|
||||
|
||||
What is ``aioquic``?
|
||||
--------------------
|
||||
|
||||
``aioquic`` is a library for the QUIC network protocol in Python. It features
|
||||
a minimal TLS 1.3 implementation, a QUIC stack and an HTTP/3 stack.
|
||||
|
||||
``aioquic`` is used by Python opensource projects such as `dnspython`_,
|
||||
`hypercorn`_, `mitmproxy`_ and the `Web Platform Tests`_ cross-browser test
|
||||
suite. It has also been used extensively in research papers about QUIC.
|
||||
|
||||
To learn more about ``aioquic`` please `read the documentation`_.
|
||||
|
||||
Why should I use ``aioquic``?
|
||||
-----------------------------
|
||||
|
||||
``aioquic`` has been designed to be embedded into Python client and server
|
||||
libraries wishing to support QUIC and / or HTTP/3. The goal is to provide a
|
||||
common codebase for Python libraries in the hope of avoiding duplicated effort.
|
||||
|
||||
Both the QUIC and the HTTP/3 APIs follow the "bring your own I/O" pattern,
|
||||
leaving actual I/O operations to the API user. This approach has a number of
|
||||
advantages including making the code testable and allowing integration with
|
||||
different concurrency models.
|
||||
|
||||
A lot of effort has gone into writing an extensive test suite for the
|
||||
``aioquic`` code to ensure best-in-class code quality, and it is regularly
|
||||
`tested for interoperability`_ against other `QUIC implementations`_.
|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
- minimal TLS 1.3 implementation conforming with `RFC 8446`_
|
||||
- QUIC stack conforming with `RFC 9000`_ (QUIC v1) and `RFC 9369`_ (QUIC v2)
|
||||
* IPv4 and IPv6 support
|
||||
* connection migration and NAT rebinding
|
||||
* logging TLS traffic secrets
|
||||
* logging QUIC events in QLOG format
|
||||
* version negotiation conforming with `RFC 9368`_
|
||||
- HTTP/3 stack conforming with `RFC 9114`_
|
||||
* server push support
|
||||
* WebSocket bootstrapping conforming with `RFC 9220`_
|
||||
* datagram support conforming with `RFC 9297`_
|
||||
|
||||
Installing
|
||||
----------
|
||||
|
||||
The easiest way to install ``aioquic`` is to run:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
pip install aioquic
|
||||
|
||||
Building from source
|
||||
--------------------
|
||||
|
||||
If there are no wheels for your system or if you wish to build ``aioquic``
|
||||
from source you will need the OpenSSL development headers.
|
||||
|
||||
Linux
|
||||
.....
|
||||
|
||||
On Debian/Ubuntu run:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
sudo apt install libssl-dev python3-dev
|
||||
|
||||
On Alpine Linux run:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
sudo apk add openssl-dev python3-dev bsd-compat-headers libffi-dev
|
||||
|
||||
OS X
|
||||
....
|
||||
|
||||
On OS X run:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
brew install openssl
|
||||
|
||||
You will need to set some environment variables to link against OpenSSL:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
export CFLAGS=-I$(brew --prefix openssl)/include
|
||||
export LDFLAGS=-L$(brew --prefix openssl)/lib
|
||||
|
||||
Windows
|
||||
.......
|
||||
|
||||
On Windows the easiest way to install OpenSSL is to use `Chocolatey`_.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
choco install openssl
|
||||
|
||||
You will need to set some environment variables to link against OpenSSL:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$Env:INCLUDE = "C:\Progra~1\OpenSSL\include"
|
||||
$Env:LIB = "C:\Progra~1\OpenSSL\lib"
|
||||
|
||||
Running the examples
|
||||
--------------------
|
||||
|
||||
`aioquic` comes with a number of examples illustrating various QUIC usecases.
|
||||
|
||||
You can browse these examples here: https://github.com/aiortc/aioquic/tree/main/examples
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
``aioquic`` is released under the `BSD license`_.
|
||||
|
||||
.. _read the documentation: https://aioquic.readthedocs.io/en/latest/
|
||||
.. _dnspython: https://github.com/rthalley/dnspython
|
||||
.. _hypercorn: https://github.com/pgjones/hypercorn
|
||||
.. _mitmproxy: https://github.com/mitmproxy/mitmproxy
|
||||
.. _Web Platform Tests: https://github.com/web-platform-tests/wpt
|
||||
.. _tested for interoperability: https://interop.seemann.io/
|
||||
.. _QUIC implementations: https://github.com/quicwg/base-drafts/wiki/Implementations
|
||||
.. _cryptography: https://cryptography.io/
|
||||
.. _Chocolatey: https://chocolatey.org/
|
||||
.. _BSD license: https://aioquic.readthedocs.io/en/latest/license.html
|
||||
.. _RFC 8446: https://datatracker.ietf.org/doc/html/rfc8446
|
||||
.. _RFC 9000: https://datatracker.ietf.org/doc/html/rfc9000
|
||||
.. _RFC 9114: https://datatracker.ietf.org/doc/html/rfc9114
|
||||
.. _RFC 9220: https://datatracker.ietf.org/doc/html/rfc9220
|
||||
.. _RFC 9297: https://datatracker.ietf.org/doc/html/rfc9297
|
||||
.. _RFC 9368: https://datatracker.ietf.org/doc/html/rfc9368
|
||||
.. _RFC 9369: https://datatracker.ietf.org/doc/html/rfc9369
|
||||
71
venv/Lib/site-packages/aioquic-1.2.0.dist-info/RECORD
Normal file
71
venv/Lib/site-packages/aioquic-1.2.0.dist-info/RECORD
Normal file
@@ -0,0 +1,71 @@
|
||||
aioquic-1.2.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
aioquic-1.2.0.dist-info/LICENSE,sha256=_BNyHToBhv8JR7npW2XAZyOy2nQUsX_NhLLVXIlH_Og,1528
|
||||
aioquic-1.2.0.dist-info/METADATA,sha256=FIgaUuEIdbF9mGc_dvWbM8t8l_9Kd_uP5qfW4MVM7BE,6521
|
||||
aioquic-1.2.0.dist-info/RECORD,,
|
||||
aioquic-1.2.0.dist-info/WHEEL,sha256=Aavq5XXl58tL6bL-VsXq6M2KHwSF4I7YrvRYfeAzm5A,100
|
||||
aioquic-1.2.0.dist-info/top_level.txt,sha256=wIoYXYSiS7-Q4mTEPQ437O21BliXaBRsqhRDaDp_SeY,8
|
||||
aioquic/__init__.py,sha256=El1sbpINO-cJ2mX6y_07W6DCl7IpRhkDNz3fpZpHII0,23
|
||||
aioquic/__pycache__/__init__.cpython-312.pyc,,
|
||||
aioquic/__pycache__/buffer.cpython-312.pyc,,
|
||||
aioquic/__pycache__/tls.cpython-312.pyc,,
|
||||
aioquic/_buffer.c,sha256=VBHD2AIfgklEZy5dXLBP7ko_EPyEzII9a3VvWr56scM,12704
|
||||
aioquic/_buffer.pyd,sha256=SBaLyy7q6RPIs5m1s7KyD0_ZN1MpWU2BZWu4i0LRBcM,16896
|
||||
aioquic/_buffer.pyi,sha256=pF9BOhwtGWYyGrw0GBMLytR5JyBvkYO6rO9vLY6kA28,1041
|
||||
aioquic/_crypto.c,sha256=OIGhVj0jCDGpkx2wq8Hv1x9bmbT4OSewXFpPbQ-o82Y,12505
|
||||
aioquic/_crypto.pyd,sha256=zCXnQSsYQlB8pfPIIMYwuoetXHjtLxk3SGvopOUXejM,3718656
|
||||
aioquic/_crypto.pyi,sha256=wBmsaRvlLwIWHd-PeNp6OlS9D6XCbbgtBV20D87EoEk,627
|
||||
aioquic/asyncio/__init__.py,sha256=xs5hCEa4W3Y3iQaSi710jKk9p4Gw2w4QioRAdEz3YWQ,126
|
||||
aioquic/asyncio/__pycache__/__init__.cpython-312.pyc,,
|
||||
aioquic/asyncio/__pycache__/client.cpython-312.pyc,,
|
||||
aioquic/asyncio/__pycache__/protocol.cpython-312.pyc,,
|
||||
aioquic/asyncio/__pycache__/server.cpython-312.pyc,,
|
||||
aioquic/asyncio/client.py,sha256=jrEfESeCJK79hbP90CX7nsJQ0C0nzb6vGLFo2sGgGmk,3889
|
||||
aioquic/asyncio/protocol.py,sha256=77fuXKZj5om5TU6fuBFQbHUaFeLj1OHf-GdfDA7gCzg,10115
|
||||
aioquic/asyncio/server.py,sha256=YpVUoNrfWHC9di3hMZKuu1ykhLfFnqI0m72SrA90fzA,8647
|
||||
aioquic/buffer.py,sha256=gpu1hSuMHCDZric2X2s4FLeTuu7Mgbb4ZnxayhP6ZJ4,800
|
||||
aioquic/h0/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
aioquic/h0/__pycache__/__init__.cpython-312.pyc,,
|
||||
aioquic/h0/__pycache__/connection.cpython-312.pyc,,
|
||||
aioquic/h0/connection.py,sha256=aQFjgMhFLsCHOdEW3fgbmVmwrh429LmturlJBcxqSU0,2626
|
||||
aioquic/h3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
aioquic/h3/__pycache__/__init__.cpython-312.pyc,,
|
||||
aioquic/h3/__pycache__/connection.cpython-312.pyc,,
|
||||
aioquic/h3/__pycache__/events.cpython-312.pyc,,
|
||||
aioquic/h3/__pycache__/exceptions.cpython-312.pyc,,
|
||||
aioquic/h3/connection.py,sha256=EcusUQpoOzdqez3tCvKxbmiNw4jRlpPyWFeRsbLiYJA,44456
|
||||
aioquic/h3/events.py,sha256=F9giKpS-3NHJhx2bzlNn00W6GTpsF8YsrNLMxnIXMfM,2247
|
||||
aioquic/h3/exceptions.py,sha256=kLBJYqEewWIj-2fuCxNeHtnne22iw7NZwDQcIpQ1yVU,358
|
||||
aioquic/py.typed,sha256=3VVwXUAWVEVX7sDwyYDnW5ZdBC9_Z9AJAFfLCleUW0k,8
|
||||
aioquic/quic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
aioquic/quic/__pycache__/__init__.cpython-312.pyc,,
|
||||
aioquic/quic/__pycache__/configuration.cpython-312.pyc,,
|
||||
aioquic/quic/__pycache__/connection.cpython-312.pyc,,
|
||||
aioquic/quic/__pycache__/crypto.cpython-312.pyc,,
|
||||
aioquic/quic/__pycache__/events.cpython-312.pyc,,
|
||||
aioquic/quic/__pycache__/logger.cpython-312.pyc,,
|
||||
aioquic/quic/__pycache__/packet.cpython-312.pyc,,
|
||||
aioquic/quic/__pycache__/packet_builder.cpython-312.pyc,,
|
||||
aioquic/quic/__pycache__/rangeset.cpython-312.pyc,,
|
||||
aioquic/quic/__pycache__/recovery.cpython-312.pyc,,
|
||||
aioquic/quic/__pycache__/retry.cpython-312.pyc,,
|
||||
aioquic/quic/__pycache__/stream.cpython-312.pyc,,
|
||||
aioquic/quic/configuration.py,sha256=CnJvPzJPBpLVhcfBndEyYOfzm5nJoZF-9b3_fWIesDg,4712
|
||||
aioquic/quic/congestion/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
aioquic/quic/congestion/__pycache__/__init__.cpython-312.pyc,,
|
||||
aioquic/quic/congestion/__pycache__/base.cpython-312.pyc,,
|
||||
aioquic/quic/congestion/__pycache__/cubic.cpython-312.pyc,,
|
||||
aioquic/quic/congestion/__pycache__/reno.cpython-312.pyc,,
|
||||
aioquic/quic/congestion/base.py,sha256=DI7oxX3DDZbS4gizPOJDqBgusczlWrVeQXjzIomcTAo,3986
|
||||
aioquic/quic/congestion/cubic.py,sha256=WX-a-qUUI6-3ZBkHtfA6zw0hQ7I1LzKg7lFwVFjlZyI,8230
|
||||
aioquic/quic/congestion/reno.py,sha256=G5Z3KAMUNcp9wJs9l_yZ5U9dhIYKFkLpNb9iok_1DLI,2932
|
||||
aioquic/quic/connection.py,sha256=A_AKqf6CTA9M1j9pzhPIo-7lXzky-CUGZuB5XdroiCU,142882
|
||||
aioquic/quic/crypto.py,sha256=ka01cTHzST_FgQ3r4rvQ3fN9J-Cae61xJ-B9Lbpl5Qc,8396
|
||||
aioquic/quic/events.py,sha256=mroGXHVoMFhASsvCMfYh4Iz_a0QGeqZWzcWIxRzliIc,2854
|
||||
aioquic/quic/logger.py,sha256=6fPFMEKEgxj3L1LW83979AJBBCL7-4hBeGaOE9Kc3P4,10665
|
||||
aioquic/quic/packet.py,sha256=AIAGX1Q9uLo0R5_glAJi27ugScnKxXJGXy8xBW8i2eU,20716
|
||||
aioquic/quic/packet_builder.py,sha256=voRPp4G1J4vmTzRH9J5pEE0AQqD0ah-RHTDXFssFaUs,13456
|
||||
aioquic/quic/rangeset.py,sha256=oTc4kgGDSU11RfQPVPU2vqF6g5Xth1Q9J8kBd234zJw,3231
|
||||
aioquic/quic/recovery.py,sha256=IFfoQ-gpE3l_aAU-bqPZHwMauuo0dtlxRnI9BZ2wcYU,13923
|
||||
aioquic/quic/retry.py,sha256=jErCCfSKKpXagyWdDEg4F1Xa89EpJZmWsvhD-i24kSE,1935
|
||||
aioquic/quic/stream.py,sha256=I6XR4SgEqK16-h5kPa3WrnLmKIT5Iv3JItFQ_0VoxF4,12445
|
||||
aioquic/tls.py,sha256=od9ls3M8OlyCukIBru6UEKQQkPx26BGKQHXaOUcrH5c,78595
|
||||
5
venv/Lib/site-packages/aioquic-1.2.0.dist-info/WHEEL
Normal file
5
venv/Lib/site-packages/aioquic-1.2.0.dist-info/WHEEL
Normal file
@@ -0,0 +1,5 @@
|
||||
Wheel-Version: 1.0
|
||||
Generator: bdist_wheel (0.43.0)
|
||||
Root-Is-Purelib: false
|
||||
Tag: cp38-abi3-win_amd64
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
aioquic
|
||||
Reference in New Issue
Block a user