Skip to main content

Why z4j exists.

Flower is a task viewer. There was no z4j for Python task queues, so we built one.

Every Python shop with non-trivial async work hits the same wall. Flower shows your Celery tasks but can't retry them. It can't do bulk actions. It can't manage schedules. It has no audit log, no RBAC, no persistent history, and it only covers Celery.

Meanwhile the ecosystem diversified. RQ, Dramatiq, Huey, arq, taskiq: every one of them has a real user base and zero monitoring/control story beyond the package's own minimal CLI.

z4j is a control plane, not a dashboard. Observation is the easy part. The hard part is a consistent action surface (retry, cancel, bulk-action, purge, restart), RBAC, an audit trail you can defend in a compliance review, and a secrets story that doesn't leak task args into screenshots. That's what z4j does.

what z4j is not

Honest non-goals

license model

Split licensing, explained

The brain (server + dashboard) is AGPL-3.0. That's the same license Grafana, MinIO, Mattermost, Mastodon, and Bitwarden use. It's OSI-approved open source, and its network-copyleft clause closes the "SaaS loophole" that plain GPL has.

Every agent package (z4j-core, z4j-bare, z4j-celery, z4j-rq, z4j-dramatiq, z4j-huey, z4j-arq, z4j-taskiq, z4j-django, z4j-flask, z4j-fastapi, and every scheduler adapter) is Apache-2.0. You can import these into any proprietary application, no license questions.

This split is intentional and mirrors Grafana's exactly: the value-bearing service stays under strong copyleft; the SDK/agent layer stays permissive so it can be adopted without friction.

Organizations whose policies disallow AGPL can request a commercial license for the brain. See Pricing.

contributing

How to contribute

z4j is open source on github.com/z4jdev/z4j. We accept contributions via pull request. DCO sign-off (git commit -s) is required. No CLA.

The highest-leverage contribution is a new engine adapter. Each adapter is ~300 LOC and touches zero existing code. See the contributor guide on z4j.dev for the Protocol surface.