Skip to content

Python code compatible with WAMP (Web Application Messaging Protocol)

License

Notifications You must be signed in to change notification settings

ef-ctx/tornwamp

Repository files navigation

https://travis-ci.org/ef-ctx/tornwamp.svg?branch=master https://coveralls.io/repos/github/ef-ctx/tornwamp/badge.svg?branch=master

TornWAMP

This Python module implements parts of WAMP (Web Application Messaging Protocol).

TornWAMP provides means of having an API which interacts with WAMP-clients (e.g. Autobahn).

TornWAMP is not a WAMP Client nor a WAMP Router.

Although this code was implemented to be used with Websockets and Tornado (Web framework), it can also be used in other ways.

How to install

Using pip:

pip install tornwamp

Or from the source-code:

git clone https://github.com/ef-ctx/tornwamp.git
cd tornwamp
python setup.py install

Example of usage

An example of how to build a server using TornWAMP (wamp.py):

import tornado
from tornwamp import handler

class SampleHandler(handler.WAMPHandler):
    pass

application = tornado.web.Application([
    (r"/ws", SampleHandler),
])

if __name__ == "__main__":
    application.listen(8888)
    tornado.ioloop.IOLoop.instance().start()

Which can be run:

python wamp.py

From the client perspective, you'd be able to use Autobahn JavaScript library to connect to the server using:

var connection = new autobahn.Connection({
  url: "ws://0.0.0.0:8888/ws",
  realm: "sample"
});

Read more

For more information on how the library works internally refer to docs <docs/> directory inside this package.

Other projects

WAMPnado is a sister project which had been started as a fork, but now it contains more features and provides a better conformance to the WAMP standard.

License

Copyright 2015, Education First

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.