Skip to main content

Tornado-sent events

Project description

An implementation of the publish/subscribe pattern for the Tornado web server.

Installation

Tornadose is on PyPI:

$ pip install tornadose

This will grab the latest official release. Alternatively, or for development, you can clone the repository and install it manually:

$ git clone https://github.com/mivade/tornadose.git
$ cd tornadose
$ python setup.py install

Usage

A simple example of using server-sent events (a.k.a. EventSource):

import random
from tornado.ioloop import IOLoop, PeriodicCallback
from tornado.web import Application
from tornadose.handlers import EventSource
from tornadose.stores import DataStore

store = DataStore()

app = Application(
    [(r'/', EventSource, {'store': store})],
    debug=True)
app.listen(9000)

loop = IOLoop.instance()
PeriodicCallback(lambda: store.set_data(random.random()), 1000).start()
loop.start()

To monitor the stream with curl:

$ curl http://localhost:9000

or with HTTPie:

$ http -S get localhost:9000

Additional demos can be found in the demos directory.

Contributing

Contributions, complaints, criticisms, and whatever else are welcome. The source code and issue tracker can be found on GitHub.

See also

Some other implementations of server-sent events with Tornado include:

License

Tornadose is freely available under the terms of the MIT license. See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
tornadose-0.2.2-py2.py3-none-any.whl (8.6 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Oct 21, 2015

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page