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.
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
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" });
For more information on how the library works internally refer to docs <docs/> directory inside this package.
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.
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.0Unless 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.