Skip to main content

z4j Flask framework adapter (Apache 2.0)

Project description

z4j-flask

PyPI version Python License

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

z4j_flask-1.1.0.tar.gz (25.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

z4j_flask-1.1.0-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

Details for the file z4j_flask-1.1.0.tar.gz.

File metadata

  • Download URL: z4j_flask-1.1.0.tar.gz
  • Upload date:
  • Size: 25.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for z4j_flask-1.1.0.tar.gz
Algorithm Hash digest
SHA256 85d98772a8ad793f07e6830eaaa3f9607379615f1189fa75ab7245ceb3cde746
MD5 6be91152bcdb3628bc89874a906d74b2
BLAKE2b-256 c5734161fa80a836166fa888a22de96081968075e321a95fd01aaac5442b742b

See more details on using hashes here.

File details

Details for the file z4j_flask-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: z4j_flask-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for z4j_flask-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 984f09809dd34b21cbcf81e3f1b1a68b39c67ecedaf52adc0d85c4c22a61c23e
MD5 2236e81b0220b82438cde6c512bb36af
BLAKE2b-256 a54b544153141a87e739811a61e70788fd0a55232be7d619f60c3ca1b4916bc1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page