z4j Flask framework adapter (Apache 2.0)
Project description
z4j-flask
License: Apache 2.0
Flask framework adapter for z4j. Flask-extension
shape - one Z4J(app) call and the agent boots on the first request.
Install
Pick your task engine and install with the matching extra. Each extra pulls the engine adapter AND its companion scheduler in one shot, so a fresh install never needs a second command.
pip install z4j-flask[celery] # Celery + celery-beat
pip install z4j-flask[rq] # RQ + rq-scheduler
pip install z4j-flask[dramatiq] # Dramatiq + APScheduler
pip install z4j-flask[huey] # Huey + huey-periodic
pip install z4j-flask[arq] # arq + arq-cron
pip install z4j-flask[taskiq] # TaskIQ + taskiq-scheduler
pip install z4j-flask[all] # every engine (CI / kitchen sink)
pip install z4j-flask (no extra) installs only the framework adapter.
That's useful if you already manage engine packages elsewhere; otherwise
always pick an engine extra.
Configure
Register the extension the standard Flask way:
from flask import Flask
from z4j_flask import Z4J
app = Flask(__name__)
app.config.update(
Z4J_BRAIN_URL="https://z4j.internal",
Z4J_TOKEN="z4j_agent_...", # minted in the brain dashboard
Z4J_PROJECT_ID="my-project",
)
z4j = Z4J(app)
Or use the application-factory pattern:
z4j = Z4J()
def create_app():
app = Flask(__name__)
app.config.from_envvar("FLASK_CONFIG")
z4j.init_app(app)
return app
On the first request, the agent connects to the brain and z4j's dashboard populates with every Celery / Dramatiq task your workers discover.
What it does
| Piece | Purpose |
|---|---|
Z4J(app) |
Flask extension; hooks into the app lifecycle |
Config from app.config |
Reads Z4J_* keys - idiomatic Flask configuration |
| Lazy boot | Agent starts on first request, not at import time (so flask --help stays fast) |
| Teardown integration | Flushes the event buffer on SIGTERM / graceful shutdown |
Reliability
z4j-flask follows the project-wide safety rule: z4j never breaks
your Flask app. Agent failures are caught at the boundary, logged, and
swallowed.
Documentation
License
Apache 2.0 - see LICENSE. Your Flask application is never
AGPL-tainted by importing z4j_flask.
Links
- Homepage: https://z4j.com
- Documentation: https://z4j.dev
- Issues: https://github.com/z4jdev/z4j-flask/issues
- Changelog: CHANGELOG.md
- Security:
security@z4j.com(see SECURITY.md)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file z4j_flask-1.0.2.tar.gz.
File metadata
- Download URL: z4j_flask-1.0.2.tar.gz
- Upload date:
- Size: 21.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df8d031e1721b7f6ac85b59bd2b9131654aec5df79253a890b4f4c05656f9b07
|
|
| MD5 |
983cdebc3fe77f246da5abc654137c56
|
|
| BLAKE2b-256 |
28824588116c62d536ea7106095f67c496258e3762c454a3054e1f327a68cf0f
|
File details
Details for the file z4j_flask-1.0.2-py3-none-any.whl.
File metadata
- Download URL: z4j_flask-1.0.2-py3-none-any.whl
- Upload date:
- Size: 17.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5092d2d02bcfe75459829386c2347488c325430d90e7a7effecf7e085a1ad25
|
|
| MD5 |
4a8697b7f1b763a5ab07069b01db67cb
|
|
| BLAKE2b-256 |
ebef5111794d018d682d41c0fb1977ccf4e2c9b100234cfa0c31bc67f2f7ada1
|