Skip to main content

z4j-bare

PyPI version Python License

The framework-free agent runtime for z4j.

Bootstraps a z4j agent inside any Python process, Celery worker, RQ worker, Dramatiq actor, plain script, custom service, and connects it to z4j over an authenticated WebSocket. Used directly when there's no framework adapter (z4j-django / z4j-flask / z4j-fastapi); used indirectly by those framework adapters too.

Compatibility

Python 3.11+. No framework or engine pinned; pair with whichever engine adapter your worker runs (z4j-celery, z4j-rq, z4j-dramatiq, z4j-huey, z4j-arq, z4j-taskiq) and that adapter carries the engine-version floor.

Full per-adapter matrix at https://docs.z4j.com/reference/compatibility/.

What it ships

  • Agent runtime, connect, authenticate, supervise, reconnect with bounded backoff
  • Outbound buffer, captured events are written to a bounded local SQLite ring before going out on the wire and survive short brain outages and agent restarts. At the configured count or byte limit, the oldest buffered rows are evicted and the loss is logged.
  • Engine signal hooks, wired up by whichever engine adapter you install (z4j-celery, z4j-rq, etc.); the runtime drains them into the buffer
  • Schedule inventory, emits a full snapshot at boot, on a periodic timer (default 15 min), and on demand from the brain's Sync now command. Existing schedules show up automatically.
  • Command dispatcher, receives operator actions from the brain (retry, cancel, restart, schedule.fire, schedule.resync, etc.) and routes them to the right adapter

Install

pip install z4j-bare

Most users install a framework adapter (z4j-django / z4j-flask / z4j-fastapi) which pulls z4j-bare automatically.

Quick start (framework-free worker)

import os

from z4j_bare import install_agent
from z4j_celery import CeleryEngineAdapter

install_agent(
    engines=[CeleryEngineAdapter(celery_app=app)],
    brain_url="https://brain.example.com",
    token="z4j_agent_...",
    project_id="my-project",
    hmac_secret=os.environ["Z4J_HMAC_SECRET"],
)

Durable native schedule control

from z4j_bare import NativeScheduleControl provides the private SQLite store used by the Huey periodic, arq cron and TaskIQ label-source adapters. Construct it with a stable application-local file path and pass it as control= to the scheduler adapter in the actual native producer. Back up this file: it retains dashboard-created schedules, field overrides, pauses and deletion tombstones. The producer consumes it without requiring a live server connection. See each scheduler's setup guide for startup ordering.

Reliability

  • Invalid or missing configuration and unsafe buffer initialization fail the explicit install_agent() call; after successful startup, transport work runs off the host application's request and task paths.
  • Engine adapters use bounded in-process event queues and the runtime uses a bounded SQLite buffer. A full engine queue loses an event: the Celery, RQ and Dramatiq adapters evict the oldest queued event, the Huey, arq and TaskIQ adapters drop the new one. Buffer pressure evicts the oldest rows. Both paths log the loss.
  • The supervisor retries every failure with bounded, jittered backoff until the agent is stopped. Authentication and protocol-version failures are retried on much longer schedules (up to 10 minutes and 1 hour between attempts) so they do not create reconnect storms.

Documentation

Full docs at docs.z4j.com/frameworks/bare/.

License

Apache-2.0, see LICENSE.

Metadata

Release files for z4j-bare 1.13.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for z4j-bare 1.13.0
File Size Uploaded
z4j_bare-1.13.0.tar.gz 308.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for z4j-bare 1.13.0
File Interpreter ABI Platform
z4j_bare-1.13.0-py3-none-any.whl Python 3 none any Details

Total release size: 510.1 kB

Release files / z4j_bare-1.13.0.tar.gz

Download URL z4j_bare-1.13.0.tar.gz
Size 308.2 kB
Tags Source
SHA-256 checksum
How to use checksums
96c4f8110837b7e133b51d9feaff28e415a9bc740bd5e6ac6e8b95fc2c5c28ad
BLAKE2b-256 checksum
How to use checksums
d08f4dd01b6eb33d0e18fb6dbd974db9b72c835185ba42d2b6f07e89b7e8bb48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / z4j_bare-1.13.0-py3-none-any.whl

Download URL z4j_bare-1.13.0-py3-none-any.whl
Size 201.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2a9e511b75e41fcd466d5f1b180c4dfec4adf804aa064376ec9f22e22d85ab7c
BLAKE2b-256 checksum
How to use checksums
e5497cb0fca25c6357323c922103b948fd9d76b0a38ab9681f0714d7ef0f6d57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release history Release notifications | RSS feed

This release

1.13.0 This release

2 release files

1.11.0

2 release files

1.10.0

2 release files

1.9.1

2 release files

1.9.0

2 release files

1.8.0

2 release files

1.7.0

2 release files

1.6.9

2 release files

1.6.8

2 release files

1.6.7

2 release files

1.6.5

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.2

2 release files

1.1.0

2 release files

1.0.7

2 release files

1.0.6

1 release file

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page