// the find
jonathan-s/django-sockpuppet
Build reactive applications with the django tooling you already know and love.
A Django port of Rails' stimulus_reflex, letting you build LiveView-style reactive UIs where DOM updates are pushed over websockets instead of hand-rolled JS/API calls. Aimed at Django devs who want SPA-like interactivity without maintaining a separate frontend state layer or REST/GraphQL API.
Uses django-channels for the websocket transport rather than reinventing one, and the reflex/consumer split keeps the diffing logic out of your views. It ships an optional lxml parser backend that reportedly cuts 30-90ms off the render round-trip, which matters a lot for something latency-sensitive like this. Test setup includes actual Cypress integration tests exercising the frontend/backend websocket round trip, not just unit tests on the Python side.
No commits since January 2023 — nearly three years dead, which for a library this tightly coupled to Django/Channels internals is a real risk on current Django versions. CI still points at Travis, which stopped being viable as a free CI option years ago, a good proxy for how unmaintained the tooling around this repo is. It's a mandatory websocket architecture: every interaction needs a channels layer (Redis in prod) running, so you're taking on real infra just to avoid writing a JSON API. Community is small and shared with the Rails stimulus-reflex Discord rather than having its own, and HTMX now covers a lot of the same 'server-rendered reactivity' ground with far less operational overhead and much more active maintenance.