skillfed

django-eventstream

Server-Sent Events for Django

django-eventstream v5.3.4 84.3K downloads/30d#14,010 on PyPI865
Permissive license MIT Active released

What it is and what it does

Django EventStream is a Django app that streams data to connected clients using the Server-Sent Events protocol (SSE). Instead of clients polling for updates, they open a persistent HTTP connection and receive events as they occur. The package handles the streaming protocol, connection management, and event delivery, making it straightforward to add real-time capabilities to Django views.

It supports per-user channel permissions, optional event persistence to the database for reliable delivery after disconnections, and integration with Django REST Framework. For scaling across multiple instances, it can use Redis or a GRIP proxy to coordinate event delivery. The package depends on Django, PyJWT, gripcontrol, django_grip, and six.

Use it for:

  • Build a live notification feed where clients connect once and receive updates without polling.
  • Stream real-time data to multiple connected browsers as events occur on the server.
  • Implement a dashboard that updates automatically when backend data changes.
  • Send event notifications from Django views to connected clients with reliable delivery.
  • Create a live activity log or audit trail visible to multiple users simultaneously.

Worth the install?

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

Adds Server-Sent Events (SSE) streaming to Django applications, allowing views to push data to connected clients over persistent HTTP connections.

Yes, if you need real-time push notifications or live data streaming in Django without WebSockets. The package is actively maintained, has low install friction, uses a permissive MIT license, and requires only standard dependencies. It's well-suited for applications that need SSE but not the complexity of alternative infrastructure. Requires Python >=3.10.

Install

django-eventstream on PyPI

pip

pip install django-eventstream

uv

uv add django-eventstream

poetry

poetry add django-eventstream

Installing django-eventstream

Before you install

Low friction installation with a pure-Python wheel. Depends on Django, PyJWT, gripcontrol, django_grip, and six. Repository is active with recent commits and 865 stars; last release 77 days ago.

License in practice

MIT license (permissive) allows commercial and private use with minimal restrictions; attribution required.

Quickstart

pip install django-eventstream

# In urls.py
from django.urls import path, include
import django_eventstream
urlpatterns = [
    path("events/", include(django_eventstream.urls), {"channels": ["test"]}),
]

# Send events
from django_eventstream import send_event
send_event("test", "message", {"text": "hello world"})

Requires Python >=3.10. An ASGI server must be configured as ASGI_APPLICATION in settings.py for production deployment.

Verify before relying

  • Whether event storage persists for exactly 24 hours or if this is configurable.
  • Whether Redis integration requires additional setup beyond the EVENTSTREAM_REDIS setting.
  • Performance characteristics under high client connection counts or event throughput.
  • Which ASGI server is recommended or required for production deployment.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 5 — Django, PyJWT, gripcontrol, django_grip, six
Maintenance actively maintained — 77 days since the last release
Last repo commit
First released
Downloads 84,297/month — #14,010 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: django_eventstream-5.3.4-py3-none-any.whl

Development Status :: 4 - BetaFramework :: DjangoLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Topic :: Utilities

Tags

django server-sent eventssse streaming djangoreal-time push notifications djangodjango event streaminghttp long-polling djangodjango live data feedpersistent http connection django
real-time-streamingsse

More Utilities packages