Go to file
Tobias Oberstein 75af9bfb92 improve setup
2014-01-04 19:20:09 +01:00
2014-01-04 19:20:09 +01:00
2014-01-02 01:02:46 +01:00
2013-12-31 23:32:45 +01:00
2014-01-04 19:20:09 +01:00
2013-09-27 07:54:24 +02:00
2013-12-31 22:39:29 +01:00
2012-03-13 01:28:42 +01:00
2014-01-03 12:52:55 +01:00

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
  1. 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.
  2. 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

  • Running under PyPy or
  • on CPython, install the native accelerators wsaccel and ujson

Get in touch

Get in touch on IRC #autobahn on chat.freenode.net, follow us on Twitter or join the mailing list.

Description
RETIRED, further work has moved to Debian project infrastructure
Readme 9.4 MiB
Languages
Python 99.1%
Makefile 0.9%