{"id":51195922,"url":"https://github.com/z4jdev/z4j-django","last_synced_at":"2026-06-27T20:31:17.935Z","repository":{"id":357621903,"uuid":"1228454744","full_name":"z4jdev/z4j-django","owner":"z4jdev","description":"z4j Django framework adapter (Apache 2.0)","archived":false,"fork":false,"pushed_at":"2026-06-23T08:43:57.000Z","size":78,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-23T10:24:27.372Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://pypi.org/project/z4j-django/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/z4jdev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-04T03:13:28.000Z","updated_at":"2026-06-23T08:44:00.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/z4jdev/z4j-django","commit_stats":null,"previous_names":["z4jdev/z4j-django"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/z4jdev/z4j-django","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/z4jdev%2Fz4j-django","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/z4jdev%2Fz4j-django/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/z4jdev%2Fz4j-django/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/z4jdev%2Fz4j-django/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/z4jdev","download_url":"https://codeload.github.com/z4jdev/z4j-django/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/z4jdev%2Fz4j-django/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34867616,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-27T02:00:06.362Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-27T20:31:16.151Z","updated_at":"2026-06-27T20:31:17.929Z","avatar_url":"https://github.com/z4jdev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# z4j-django\n\n[![PyPI version](https://img.shields.io/pypi/v/z4j-django.svg?v=1.6.9)](https://pypi.org/project/z4j-django/)\n[![Python](https://img.shields.io/pypi/pyversions/z4j-django.svg?v=1.6.9)](https://pypi.org/project/z4j-django/)\n[![License](https://img.shields.io/pypi/l/z4j-django.svg?v=1.6.9)](https://github.com/z4jdev/z4j-django/blob/main/LICENSE)\n\nThe Django framework adapter for [z4j](https://z4j.com).\n\nAdds the z4j agent into your Django project as a single\n`INSTALLED_APPS` entry. Auto-discovers the engine adapter you have\ninstalled (Celery, RQ, Dramatiq, Huey, arq, TaskIQ) and streams every\ntask lifecycle event from your Django workers to z4j. Operator\ncontrol actions (retry, cancel, bulk retry, purge, restart) flow back\nthe same channel.\n\n## Compatibility\n\n- Django 5.0+ (no upper cap)\n- Python 3.10+\n\nPair with an engine adapter (`z4j-celery`, `z4j-rq`, `z4j-dramatiq`, `z4j-huey`, `z4j-arq`, `z4j-taskiq`); each engine adapter carries its own upstream floor.\n\nFull per-adapter matrix at \u003chttps://z4j.dev/reference/compatibility/\u003e.\n\n## What it ships\n\n- **One-line install**, add `\"z4j_django\"` to `INSTALLED_APPS`; the\n  agent starts when Django boots, no decorator on every task\n- **Engine auto-discovery**, picks up whichever z4j engine adapter\n  is installed alongside (Celery, RQ, Dramatiq, Huey, arq, TaskIQ).\n  Multiple engines in the same project are first-class.\n- **Schedule integration**, pair with `z4j-celerybeat` to surface\n  django-celery-beat schedules on the dashboard's Schedules page\n- **`@z4j_meta` decorator**, optional per-task annotations\n  (`priority=\"critical\"`, `description=\"...\"`) that the dashboard\n  honors for filtering and SLO display\n- **Service-user safe**, auto-relocates the local outbound buffer\n  to `$TMPDIR/z4j-{uid}` when `$HOME` is unwritable (gunicorn\n  under `www-data`, `nginx`, etc.)\n\n## Install\n\n```bash\npip install z4j-django z4j-celery z4j-celerybeat\n```\n\nThen in `settings.py`:\n\n```python\nINSTALLED_APPS = [\n    # ...\n    \"django_celery_beat\",  # if you use celery-beat\n    \"z4j_django\",\n]\n```\n\nThe agent reads its bearer token from `Z4J_AGENT_TOKEN`, z4j URL\nfrom `Z4J_BRAIN_URL`, and the project slug from `Z4J_PROJECT`. Mint\nthe token from the dashboard's Agents page.\n\n## Reliability\n\n- No exception from the agent ever propagates back into Django request\n  handlers, signals, or your worker code.\n- Events buffer locally when z4j is unreachable; your application\n  never blocks on network I/O.\n- Agent reconnects on every transient failure with bounded backoff.\n\n## Documentation\n\nFull docs at [z4j.dev/frameworks/django/](https://z4j.dev/frameworks/django/).\n\n## License\n\nApache-2.0, see [LICENSE](LICENSE).\n\n## Links\n\n- Homepage: https://z4j.com\n- Documentation: https://z4j.dev\n- PyPI: https://pypi.org/project/z4j-django/\n- Issues: https://github.com/z4jdev/z4j-django/issues\n- Changelog: [CHANGELOG.md](CHANGELOG.md)\n- Security: security@z4j.com (see [SECURITY.md](SECURITY.md))\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fz4jdev%2Fz4j-django","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fz4jdev%2Fz4j-django","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fz4jdev%2Fz4j-django/lists"}