Autobahn integration with crochet to provide WAMP for synchronous applications.
Originaly based on the work of Sam & Max (warning: French, pr0n and awesomeness inside !).
from time import sleep
from autobahn_sync import publish, call, register, subscribe, run
@register('com.app.shout')
def shout(msg):
return msg.upper()
@subscribe('com.app.idea')
def on_thought(msg):
print("I've just had a new idea: %s" % msg)
run()
while True:
print(call('com.app.shout', 'Autobahn is cool !'))
publish('com.app.idea', 'Use autobahn everywhere !')
sleep(1)
This code will connect to the crossbar router (don't forget to start it
before trying this snippet !) listening ws://127.0.0.1:8080/ws
and register itself in realm realm1
.
Also see the examples for more usecases
See extensions folder for a nice Flask extension ;-)
pip install -U autobahn-sync
MIT licensed. See the bundled LICENSE file for more details.