sseclient /

Filename Size Date modified Message
71 B
init
235 B
Added tag 0.0.5 for changeset 3354a0f8f4c5
19 B
include manifest
1.9 KB
init
428 B
bump to 0.0.5
4.3 KB
s/prefetch=False/stream=True/g
3.4 KB
init

Python SSE Client

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

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.