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://z4j.dev/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"],
)

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. Queue overflow drops new events; buffer pressure evicts the oldest rows. Both paths log the loss.
  • The supervisor retries transient network and TLS failures with bounded backoff. Authentication, configuration, and protocol-version failures are terminal so they do not create reconnect storms.

Documentation

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

License

Apache-2.0, see LICENSE.

Metadata

Release files for z4j-bare 1.11.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.11.0
File Size Uploaded
z4j_bare-1.11.0.tar.gz 281.7 kB Details

Built distribution (wheel)

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

Total release size: 471.8 kB

Release files / z4j_bare-1.11.0.tar.gz

Download URL z4j_bare-1.11.0.tar.gz
Size 281.7 kB
Tags Source
SHA-256 checksum
How to use checksums
eb7d025ff7c9b3e2b50a4f1669457c6bf960efe8abeccb2b64ec8c9b89639bd2
BLAKE2b-256 checksum
How to use checksums
bf344c3d50db84ff0b90886d241908e1b772dfe5cf0733365db1c849b4a43c52
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.11.0-py3-none-any.whl

Download URL z4j_bare-1.11.0-py3-none-any.whl
Size 190.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b6003ed73623f3a0b615c2fed3abb11cfc442a9829d6ea263d5bceb4d77171f1
BLAKE2b-256 checksum
How to use checksums
547b4395e2bb26f3afe8108325f333344ccefcfaf6d2d21d748d9892f4aa79ad
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.11.0 This release

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