skillfed

sseclient-py

SSE client for Python

sseclient-py v1.9.0 13.6M downloads/30d#1,271 on PyPI
Permissive license Apache Software License v2 AGING released

What it is and what it does

sseclient-py is a lightweight parser for Server-Sent Events (SSE), a standard protocol for pushing real-time updates from a server to a client over HTTP. It wraps response objects from popular HTTP libraries and exposes an iterator that yields individual events as they arrive on the stream. The package handles the SSE wire format (newline-delimited text with optional event types, IDs, and retry hints) so you don't have to.

Typical use is to pass an open HTTP response stream to SSEClient and iterate over its events() method. It has no runtime dependencies beyond Python itself, making it simple to add to projects that already use an HTTP client. The aging maintenance status (last release 224 days ago) suggests the package is stable but not actively developed; it works well for straightforward SSE consumption but may not track rapid changes in HTTP client APIs.

Use it for:

  • Consume real-time updates from a server (e.g., live notifications or status feeds) over a single HTTP connection.
  • Build a client for push notifications using standard HTTP and SSE instead of a custom protocol.
  • Stream structured events with type and ID fields from an event source and dispatch them to handlers.
  • Monitor a remote service's event feed and react to specific event types in real time.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Parses Server-Sent Events (SSE) from HTTP response streams, yielding individual events as they arrive.

Yes, if you need to consume Server-Sent Events and are already using an HTTP client library. The package is lightweight, dependency-free at runtime, and permissively licensed. The aging maintenance status is not a blocker for straightforward SSE parsing, but verify that it works with your chosen HTTP client's current version and that you don't need advanced features like automatic reconnection.

Install

sseclient-py on PyPI

pip

pip install sseclient-py

uv

uv add sseclient-py

poetry

poetry add sseclient-py

Installing sseclient-py

Before you install

Low friction to install with no runtime dependencies. Maintenance status is aging—last release was 224 days ago—so expect slower response to issues, though the package has been stable since its first release in 2016.

License in practice

Licensed under Apache Software License v2, a permissive license that allows commercial and private use with minimal restrictions, making it safe to adopt in most projects.

Quickstart

import sseclient

res = http_response_stream  # from urllib3, requests, or httpx
for event in sseclient.SSEClient(res).events():
    print(event.data)

Requires Python 3.7 or later; you must install and import one of urllib3, requests, or httpx separately to provide the HTTP stream.

Verify before relying

  • Whether the package handles reconnection, backoff, or error recovery on stream interruption.
  • Performance characteristics when processing high-volume or long-lived event streams.
  • Compatibility with recent versions of urllib3, requests, and httpx.

Package facts

License Apache Software License v2 (permissive)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance aging — 224 days since the last release
First released
Downloads 13,620,340/month — #1,271 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: sseclient_py-1.9.0-py3-none-any.whl

Operating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3

Tags

server-sent events clientSSE streaming parserreal-time event streamingHTTP event stream parserevent source client pythonstreaming HTTP eventsSSE event consumer
streamingreal-timehttp-client

More WWW/HTTP packages