diff options
author | noptuno <repollo.marrero@gmail.com> | 2023-04-28 02:29:30 +0200 |
---|---|---|
committer | noptuno <repollo.marrero@gmail.com> | 2023-04-28 02:29:30 +0200 |
commit | 355dee533bb34a571b9367820a63cccb668cf866 (patch) | |
tree | 838af886b4fec07320aeb10f0d1e74ba79e79b5c /venv/lib/python3.9/site-packages/trio_websocket-0.10.2.dist-info | |
parent | added pyproject.toml file (diff) | |
download | gpt4free-355dee533bb34a571b9367820a63cccb668cf866.tar gpt4free-355dee533bb34a571b9367820a63cccb668cf866.tar.gz gpt4free-355dee533bb34a571b9367820a63cccb668cf866.tar.bz2 gpt4free-355dee533bb34a571b9367820a63cccb668cf866.tar.lz gpt4free-355dee533bb34a571b9367820a63cccb668cf866.tar.xz gpt4free-355dee533bb34a571b9367820a63cccb668cf866.tar.zst gpt4free-355dee533bb34a571b9367820a63cccb668cf866.zip |
Diffstat (limited to 'venv/lib/python3.9/site-packages/trio_websocket-0.10.2.dist-info')
6 files changed, 156 insertions, 0 deletions
diff --git a/venv/lib/python3.9/site-packages/trio_websocket-0.10.2.dist-info/INSTALLER b/venv/lib/python3.9/site-packages/trio_websocket-0.10.2.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/venv/lib/python3.9/site-packages/trio_websocket-0.10.2.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.9/site-packages/trio_websocket-0.10.2.dist-info/LICENSE b/venv/lib/python3.9/site-packages/trio_websocket-0.10.2.dist-info/LICENSE new file mode 100644 index 00000000..5759baa0 --- /dev/null +++ b/venv/lib/python3.9/site-packages/trio_websocket-0.10.2.dist-info/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2018 Hyperion Gray + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/venv/lib/python3.9/site-packages/trio_websocket-0.10.2.dist-info/METADATA b/venv/lib/python3.9/site-packages/trio_websocket-0.10.2.dist-info/METADATA new file mode 100644 index 00000000..7fff7f96 --- /dev/null +++ b/venv/lib/python3.9/site-packages/trio_websocket-0.10.2.dist-info/METADATA @@ -0,0 +1,116 @@ +Metadata-Version: 2.1 +Name: trio-websocket +Version: 0.10.2 +Summary: WebSocket library for Trio +Home-page: https://github.com/HyperionGray/trio-websocket +Author: Mark E. Haase +Author-email: mehaase@gmail.com +Project-URL: Bug Reports, https://github.com/HyperionGray/trio-websocket/issues +Project-URL: Source, https://github.com/HyperionGray/trio-websocket +Keywords: websocket client server trio +Classifier: Development Status :: 3 - Alpha +Classifier: Intended Audience :: Developers +Classifier: Topic :: Software Development :: Libraries +Classifier: License :: OSI Approved :: MIT License +Classifier: Programming Language :: Python :: 3.7 +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 :: Implementation :: CPython +Classifier: Programming Language :: Python :: Implementation :: PyPy +Requires-Python: >=3.7 +Description-Content-Type: text/markdown +License-File: LICENSE +Requires-Dist: exceptiongroup +Requires-Dist: trio (>=0.11) +Requires-Dist: wsproto (>=0.14) + +# Trio WebSocket + +This library implements both server and client aspects of the [the WebSocket +protocol](https://tools.ietf.org/html/rfc6455), striving for safety, +correctness, and ergonomics. It is based on the [wsproto +project](https://wsproto.readthedocs.io/en/latest/), which is a +[Sans-IO](https://sans-io.readthedocs.io/) state machine that implements the +majority of the WebSocket protocol, including framing, codecs, and events. This +library handles I/O using [the Trio +framework](https://trio.readthedocs.io/en/latest/). This library passes the +[Autobahn Test Suite](https://github.com/crossbario/autobahn-testsuite). + +This README contains a brief introduction to the project. Full documentation [is +available here](https://trio-websocket.readthedocs.io). + +[![PyPI](https://img.shields.io/pypi/v/trio-websocket.svg?style=flat-square)](https://pypi.org/project/trio-websocket/) +![Python Versions](https://img.shields.io/pypi/pyversions/trio-websocket.svg?style=flat-square) +[![Build Status](https://img.shields.io/github/actions/workflow/status/HyperionGray/trio-websocket/ci.yml)](https://github.com/HyperionGray/trio-websocket/actions/workflows/ci.yml) +[![Read the Docs](https://img.shields.io/readthedocs/trio-websocket.svg)](https://trio-websocket.readthedocs.io) + +## Alternatives + +If you happen to only need a server, using Quart via the [quart-trio](https://github.com/pgjones/quart-trio) +extension may suffice. While trio-websocket is more flexible, Quart covers +both HTTP and WebSocket within a single framework, and serving both from the +same port is straightforward. There has yet to be a performance comparison. + +## Installation + +This library requires Python 3.7 or greater. To install from PyPI: + + pip install trio-websocket + +## Client Example + +This example demonstrates how to open a WebSocket URL: + +```python +import trio +from sys import stderr +from trio_websocket import open_websocket_url + + +async def main(): + try: + async with open_websocket_url('wss://echo.websocket.org') as ws: + await ws.send_message('hello world!') + message = await ws.get_message() + print('Received message: %s' % message) + except OSError as ose: + print('Connection attempt failed: %s' % ose, file=stderr) + +trio.run(main) +``` + +The WebSocket context manager connects automatically before entering the block +and disconnects automatically before exiting the block. The full API offers a +lot of flexibility and additional options. + +## Server Example + +A WebSocket server requires a bind address, a port, and a coroutine to handle +incoming connections. This example demonstrates an "echo server" that replies to +each incoming message with an identical outgoing message. + +```python +import trio +from trio_websocket import serve_websocket, ConnectionClosed + +async def echo_server(request): + ws = await request.accept() + while True: + try: + message = await ws.get_message() + await ws.send_message(message) + except ConnectionClosed: + break + +async def main(): + await serve_websocket(echo_server, '127.0.0.1', 8000, ssl_context=None) + +trio.run(main) +``` + +The server's handler ``echo_server(…)`` receives a connection request object. +This object can be used to inspect the client's request and modify the +handshake, then it can be exchanged for an actual WebSocket object ``ws``. +Again, the full API offers a lot of flexibility and additional options. diff --git a/venv/lib/python3.9/site-packages/trio_websocket-0.10.2.dist-info/RECORD b/venv/lib/python3.9/site-packages/trio_websocket-0.10.2.dist-info/RECORD new file mode 100644 index 00000000..384f63ba --- /dev/null +++ b/venv/lib/python3.9/site-packages/trio_websocket-0.10.2.dist-info/RECORD @@ -0,0 +1,12 @@ +trio_websocket-0.10.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
+trio_websocket-0.10.2.dist-info/LICENSE,sha256=LV4_xQa2yHrZO3e5qnYAmlj-pyvl-1bmgDvAjLKIeZk,1080
+trio_websocket-0.10.2.dist-info/METADATA,sha256=oMDUUHC8LQcSffjP8iQNbzHhg5BEc00ghqm7YUtYSrY,4606
+trio_websocket-0.10.2.dist-info/RECORD,,
+trio_websocket-0.10.2.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
+trio_websocket-0.10.2.dist-info/top_level.txt,sha256=Q1lPttKnadThXspRJagWH0QGxlu9GKeG1ae5iO2aPAM,15
+trio_websocket/__init__.py,sha256=ovn1M3CuhTW2IFD8nXwSA3kFGS8gLE3yqhlvGvYxNqU,434
+trio_websocket/__pycache__/__init__.cpython-39.pyc,,
+trio_websocket/__pycache__/_impl.cpython-39.pyc,,
+trio_websocket/__pycache__/_version.cpython-39.pyc,,
+trio_websocket/_impl.py,sha256=gHsaoip5KIGiZE5CEpH1ImyXbMOO1JC8QG_eAyFI4OI,56673
+trio_websocket/_version.py,sha256=KniWsK3VleHLcYbbhl5YHxNYNRusZE0zJco_WyUvAwI,23
diff --git a/venv/lib/python3.9/site-packages/trio_websocket-0.10.2.dist-info/WHEEL b/venv/lib/python3.9/site-packages/trio_websocket-0.10.2.dist-info/WHEEL new file mode 100644 index 00000000..1f37c02f --- /dev/null +++ b/venv/lib/python3.9/site-packages/trio_websocket-0.10.2.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.40.0) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/venv/lib/python3.9/site-packages/trio_websocket-0.10.2.dist-info/top_level.txt b/venv/lib/python3.9/site-packages/trio_websocket-0.10.2.dist-info/top_level.txt new file mode 100644 index 00000000..39ca8ed4 --- /dev/null +++ b/venv/lib/python3.9/site-packages/trio_websocket-0.10.2.dist-info/top_level.txt @@ -0,0 +1 @@ +trio_websocket |