This is a Python client library for iterating over http Server Sent Event (SSE) streams. 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 test dependencies:
pip install pytest mock
And run the tests:
$ py.test ================== test session starts =================== platform linux2 -- Python 2.7.3 -- pytest-2.3.4 collected 9 items test_sseclient.py ......... ================ 9 passed in 0.31 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
Release files for sseclient 0.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sseclient-0.0.6.tar.gz | 3.6 kB | Details |
Release files / sseclient-0.0.6.tar.gz
| Download URL | sseclient-0.0.6.tar.gz |
|---|---|
| Size | 3.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
02be127dc2922014358e92711076a5709ea346e77786d3a698ab0755124b5653
|
|
BLAKE2b-256 checksum How to use checksums |
d49a1745460b12640e919233b134344e13fcfc5f107498b629b6bf0aff20e66f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |