Python client library for reading Server Sent Event streams.
Project description
This is a Python client library for iterating over http Server Sent Event (SSE) streams (also known as EventSource, after the name of the Javascript interface inside browsers). The SSEClient class accepts a url on init, and is then an iterator over messages coming from the server.
Installation
Use pip:
pip install sseclient
Usage
from sseclient import SSEClient messages = SSEClient('http://mysite.com/sse_stream/') for msg in messages: do_something_useful(msg)
Each message object will have a ‘data’ attribute, as well as optional ‘event’, ‘id’, and ‘retry’ attributes.
Optional init parameters:
last_id: If provided, this parameter will be sent to the server to tell it to return only messages more recent than this ID.
retry: Number of milliseconds to wait after disconnects before attempting to reconnect. The server may change this by including a ‘retry’ line in a message. Retries are handled automatically by the SSEClient object.
You may also provide any additional keyword arguments supported by the Requests library, such as a ‘headers’ dict and a (username, password) tuple for ‘auth’.
Development
Install the library in editable mode:
pip install -e .
Install the test dependencies:
pip install pytest backports.unittest_mock
Run the tests with py.test:
(sseclient)vagrant sseclient $ py.test ===================== test session starts ====================== platform linux2 -- Python 2.7.6 -- py-1.4.30 -- pytest-2.7.2 rootdir: /vagrant/code/sseclient, inifile: plugins: backports.unittest-mock collected 11 items test_sseclient.py ........... ================== 11 passed in 0.19 seconds ===================
There are a couple TODO items in the code for getting the implementation completely in line with the finer points of the SSE spec.
Additional Resources
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
Hashes for stellar-base-sseclient-0.0.21.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a500f3015dede4e9fac0f9d6d9d85f4fdd7fe1c9c10b2b111a6ae190cc5dc00 |
|
MD5 | fd8cf4f91e43ed8b4284b1c7af48c751 |
|
BLAKE2b-256 | 866a01a4fba30c15b7713b7169a98251ad66f9babf95cbf7bcfc5d3edce43bf1 |