websockets is a library for developing WebSocket servers and clients in Python. It implements RFC 6455 with a focus on correctness and simplicity. It passes the Autobahn Testsuite.

Built on top of asyncio, Python’s standard asynchronous I/O framework, it provides a straightforward API based on coroutines, making it easy to write highly concurrent applications.


Installation is as simple as pip install websockets.

It requires Python ≥ 3.4 or Python 3.3 with the asyncio module, which is available with pip install asyncio.

User guide

If you’re new to websockets, Getting started describes usage patterns and provides examples.

If you’ve used websockets before and just need a quick reference, have a look at Cheat sheet.

If you need more details, the API documentation is for you.

If you’re upgrading websockets, check the Changelog.


Bug reports, patches and suggestions welcome! Just open an issue or send a pull request.