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.3.0.tar.gz (33.0 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.3.0-py3-none-any.whl (24.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: z4j_flask-1.3.0.tar.gz
  • Upload date:
  • Size: 33.0 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.3.0.tar.gz
Algorithm Hash digest
SHA256 6e6a1abd3416d6fac18991f93d4ed962e85a903b5f41b2b22542cafc244cd7e0
MD5 bf1beae73e43ecde740a722349e86a4a
BLAKE2b-256 0fc1b8eba1af796eaf35245bd8e5f7df094d018b56712f22f4bc3db95110cd5e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: z4j_flask-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 24.2 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0a46f4125251a5ca53b8a9300c33157c62c3446fb6b5d27ed28c3e829aa51ecb
MD5 8ec6f1d4e1d504e8ca7edada9a712ec6
BLAKE2b-256 265e3350a862b10d7cb6f30710ce996cfe2414e0843ec0b570b81b54151e3f8f

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