loongson/pypi/: websockets-10.0 metadata and description

Homepage Simple index

An implementation of the WebSocket Protocol (RFC 6455 & 7692)

author Aymeric Augustin
author_email aymeric.augustin@m4x.org
classifiers
  • Development Status :: 5 - Production/Stable
  • 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.7
  • Programming Language :: Python :: 3.8
  • Programming Language :: Python :: 3.9
  • Programming Language :: Python :: 3.10
license BSD
platform
  • UNKNOWN
project_urls
  • Changelog, https://websockets.readthedocs.io/en/stable/project/changelog.html
  • Documentation, https://websockets.readthedocs.io/
  • Funding, https://tidelift.com/subscription/pkg/pypi-websockets?utm_source=pypi-websockets&utm_medium=referral&utm_campaign=readme
  • Tracker, https://github.com/aaugustin/websockets/issues
requires_python >=3.7

Because this project isn't in the mirror_whitelist, no releases from root/pypi are included.

File Tox results History
websockets-10.0-cp36-cp36m-linux_loongarch64.whl
Size
105 KB
Type
Python Wheel
Python
3.6
websockets-10.0-cp37-cp37m-linux_loongarch64.whl
Size
105 KB
Type
Python Wheel
Python
3.7
websockets-10.0-cp38-cp38-linux_loongarch64.whl
Size
105 KB
Type
Python Wheel
Python
3.8
  • Replaced 2 time(s)
  • Uploaded to loongson/pypi by loongson 2022-08-26 06:23:47
websockets-10.0-cp39-cp39-linux_loongarch64.whl
Size
105 KB
Type
Python Wheel
Python
3.9
  • Replaced 1 time(s)
  • Uploaded to loongson/pypi by loongson 2022-08-26 07:33:30
websockets-10.0.tar.gz
Size
80 KB
Type
Source
  • Replaced 2 time(s)
  • Uploaded to loongson/pypi by loongson 2022-08-26 07:33:32
websockets

licence version pyversions wheel tests docs

What is websockets?

websockets is a library for building WebSocket servers and clients in Python with a focus on correctness and simplicity.

Built on top of asyncio, Python’s standard asynchronous I/O framework, it provides an elegant coroutine-based API.

Documentation is available on Read the Docs.

Here’s how a client sends and receives messages:

#!/usr/bin/env python

import asyncio
from websockets import connect

async def hello(uri):
    async with connect(uri) as websocket:
        await websocket.send("Hello world!")
        await websocket.recv()

asyncio.run(hello("ws://localhost:8765"))

And here’s an echo server:

#!/usr/bin/env python

import asyncio
from websockets import serve

async def echo(websocket, path):
    async for message in websocket:
        await websocket.send(message)

async def main():
    async with serve(echo, "localhost", 8765):
        await asyncio.Future()  # run forever

asyncio.run(main())

Does that look good?

Get started with the tutorial!

Why should I use websockets?

The development of websockets is shaped by four principles:

  1. Simplicity: all you need to understand is msg = await ws.recv() and await ws.send(msg); websockets takes care of managing connections so you can focus on your application.
  2. Robustness: websockets is built for production; for example it was the only library to handle backpressure correctly before the issue became widely known in the Python community.
  3. Quality: websockets is heavily tested. Continuous integration fails under 100% branch coverage. Also it passes the industry-standard Autobahn Testsuite.
  4. Performance: memory usage is configurable. An extension written in C accelerates expensive operations. It’s pre-compiled for Linux, macOS and Windows and packaged in the wheel format for each system and Python version.

Documentation is a first class concern in the project. Head over to Read the Docs and see for yourself.

Why shouldn’t I use websockets?

  • If you prefer callbacks over coroutines: websockets was created to provide the best coroutine-based API to manage WebSocket connections in Python. Pick another library for a callback-based API.
  • If you’re looking for a mixed HTTP / WebSocket library: websockets aims at being an excellent implementation of RFC 6455: The WebSocket Protocol and RFC 7692: Compression Extensions for WebSocket. Its support for HTTP is minimal — just enough for a HTTP health check.
  • If you want to use Python 2: websockets builds upon asyncio which only works on Python 3. websockets requires Python ≥ 3.7.

What else?

Bug reports, patches and suggestions are welcome!

To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.

For anything else, please open an issue or send a pull request.

Participants must uphold the Contributor Covenant code of conduct.

websockets is released under the BSD license.