Autobahn|Python
Autobahn|Python is a subproject of Autobahn and provides open-source implementations of
in Python running on Twisted and asyncio.
WebSocket allows bidirectional real-time messaging on the Web and WAMP adds asynchronous Remote Procedure Calls and Publish & Subscribe on top of WebSocket.
You can use Autobahn|Python to create clients and servers in Python speaking just plain WebSocket or WAMP:
- framework for WebSocket / WAMP clients and servers
 - compatible with Python 2.6, 2.7, 3.3 and 3.4
 - runs on CPython, PyPy and Jython
 - runs under Twisted and asyncio
 - implements WebSocket RFC6455, Draft Hybi-10+, Hixie-76
 - implements WebSocket compression
 - implements WAMPv1 and WAMPv2 (upcoming)
 - high-performance, fully asynchronous implementation
 - best-in-class standards conformance (100% strict passes with Autobahn Testsuite)
 - message-, frame- and streaming-APIs for WebSocket
 - supports TLS (secure WebSocket) and proxies
 - Open-source (Apache 2 license)
 
Installation
You will need at least one of Twisted or Asyncio as your networking framework.
Asyncio comes bundled with Python 3.4. For Python 3.3, install it from here. For Twisted, please see here.
Install from the Python Package Index:
easy_install autobahn
Install from sources:
python setup.py install
- The setup will install the Twisted integration automatically if Twisted is available. If Twisted is not available, no integration will be installed. Same for asyncio.
 - If installing from source, you should checkout a tagged release. Do not use head/trunk.
 
Getting Started
The "Hello, world!" of WebSocket is probably:
Autobahn comes with lots of examples with ready-to-run code.
For complete API documentation, please consult the reference documentation.
For more information, including some tutorials, please visit the project's homepage.
Upgrading from Autobahn < 0.7.0
Starting with release 0.7.0, Autobahn|Python now supports both Twisted and asyncio as the underlying network library. This required changing module naming, e.g.
Autobahn|Python < 0.7.0:
 from autobahn.websocket import WebSocketServerProtocol
Autobahn|Python >= 0.7.0:
 from autobahn.twisted.websocket import WebSocketServerProtocol
or
 from autobahn.asyncio.websocket import WebSocketServerProtocol 
Performance
Autobahn|Python is portable, well tuned code. You can further accelerate performance by
Get in touch
Get in touch on IRC #autobahn on chat.freenode.net, follow us on Twitter or join the mailing list.