// the find
crossbario/autobahn-python
WebSocket and WAMP in Python for Twisted and asyncio
Autobahn|Python implements WebSocket (RFC6455) and WAMP — a combined RPC + Pub/Sub protocol over WebSocket — for both Twisted and asyncio. It's the reference Python client for the Crossbar.io ecosystem. If you need strict WebSocket compliance or want RPC and pub/sub over a single persistent connection without rolling your own protocol, this is the mature option.
100% RFC6455 conformance verified by the Autobahn Testsuite, which is an independently runnable test harness — not a marketing claim. The Twisted/asyncio abstraction is done well: swapping one import line is genuinely all it takes to switch frameworks. Serializer coverage is good out of the box — JSON, MessagePack, CBOR, and FlatBuffers ship by default without optional installs. The project is actively maintained with a push this month and comprehensive binary wheel coverage across Python 3.11-3.14, CPython, PyPy, x86_64, and ARM64.
WAMP requires a running router process (Crossbar.io or another implementation) before any client can connect — there's no peer-to-peer mode. This is a real deployment burden that the README undersells. WAMP itself is a decade-old protocol that never crossed into mainstream adoption, so the ecosystem outside of Crossbar.io is thin and you're betting on a niche standard. The NVX SIMD acceleration is labeled ALPHA and is explicitly incomplete, yet it's promoted in the README as a feature. Starting with the next release, contributions may include AI-generated code — the project posted a formal AI policy and is transparently warning users who have compliance concerns (EU CRA, etc.), which is honest but means the codebase provenance guarantee just changed.