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
$ pip install -e .
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.submit(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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for tornadose-0.4.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17bde7b944d27e6fbd5c5cc1356597579988f836bd78bda96240caa44fcdbde4 |
|
MD5 | 9ad9fb8e0107d113594b2082df8ecb53 |
|
BLAKE2b-256 | 875bb19b813522d27303f192994a9ac9adb44d718c0e76abe1c6b6e4c928829e |