deb-python-autobahn/examples
meejah 39def15551 Get rid of optional trollius import 2016-08-19 15:03:24 -06:00
..
asyncio Get rid of optional trollius import 2016-08-19 15:03:24 -06:00
router update tls/non-tls example configs 2016-07-29 15:48:50 -06:00
twisted demo for twisted-native objects 2016-08-05 17:23:59 -06:00
Makefile fix pep8 2015-09-05 12:30:52 +02:00
README.md add note for python 3.3 users 2016-08-19 15:02:33 -06:00
asciinema-autobahn-demo.py more cleanup 2016-05-01 18:11:06 +02:00
index.html correct paths for JS links 2015-06-17 14:37:14 -06:00
run-all-examples.py fix pep8 2015-09-05 12:30:52 +02:00
running-the-examples.md some fixes to project URLs 2015-10-20 15:52:48 +02:00

README.md

Autobahn|Python Examples

This folder contains complete working code examples that demonstrate various features of Autobahn|Python:

  1. Twisted-based Examples
  1. asyncio-based Examples

If you are new to Autobahn and WAMP, you should start with the following if you're going to use Twisted:

  • twisted/wamp/pubsub/basic/
  • twisted/wamp/rpc/arguments/

...whereas if you prefer asyncio:

  • asyncio/wamp/pubsub/basic/
  • asyncio/wamp/rpc/arguments/

Note that many of the examples use the same URIs for topics or RPC endpoints, so you can mix and match which backend or frontend script (whether Python or JavaScript) you use. For example, a Web browser tab could load a backend.html page that does publishes while you run a Python frontend.py that subscribes to those topics.

Set up locally to run the examples.

Python 3

All the examples are now using modern Python 3.5+ syntax (await and async def).

However, everything works fine with earlier syntax (yield from and @asyncio.coroutine) or with Python 2 and the "trollius" library. To use an example with older syntax, you'll have to change any await to yield from (or just yield for trollius) and change any async def to a plain def with the @asyncio.coroutine decorator.

To use trollius, additionally change import asyncio to import trollius as asyncio

For Twisted users, everything will work with Python 2.7 or Python 3 without changes.