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
File details
Details for the file sseclient-0.0.27.tar.gz
.
File metadata
- Download URL: sseclient-0.0.27.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2fe534dcb33b1d3faad13d60c5a7c718e28f85987f2a034ecf5ec279918c11c |
|
MD5 | f512abac1dda6d096f7f62714e4b83ae |
|
BLAKE2b-256 | cf6cfa601216344952be8f9a51a3f49b4274bbbc58bd395f87f67f6131726358 |