z4j-core
The z4j domain core, shared models, protocols, transport, redaction, policy.
Pure-Python dependency for every z4j package. No framework / engine / database imports, so it can be vendored into agent processes without dragging server runtime weight. End users do not install this package directly; it ships as a transitive dependency of z4j or any agent package.
Compatibility
Python 3.11+. Pure-Python, no framework or database imports.
Full per-adapter matrix at https://docs.z4j.com/reference/compatibility/.
What's in here
- Pydantic models,
Task,Worker,Queue,Schedule,Event,Command,Agent, plus the wire-frame envelope types - Adapter protocols,
QueueEngineAdapter,SchedulerAdapter,FrameworkAdapter. Every framework / engine / scheduler package implements one or more of these. - Wire protocol, frame definitions and the HMAC envelope used by z4j ↔ agent WebSocket transport (signed v2 protocol)
- Redaction engine, scrubs values that match the built-in or operator-configured patterns from event payloads (URLs, headers, kwargs, exceptions) before they hit the brain
- Policy helpers, the project-role order, the role-to-action table and a pure policy engine over them. The brain takes that vocabulary from here, so the table is defined once, and the brain enforces its API RBAC in its own domain layer.
- Error hierarchy, shared exception classes so agents and brain
agree on what counts as
AuthorizationErrorvsNotFoundErrorvsConflictError
Install
pip install z4j-core
End users normally get this as a transitive dependency. Direct installation is appropriate when you're building a custom adapter against the protocols.
Stability
The wire protocol is v=2; its frame models ignore additive fields.
Product-version skew is narrower than the wire format alone, so upgrade
the active z4j packages together according to the
compatibility policy. Adapter
interfaces are structural Python protocols; adding a method can therefore
require coordinated adapter updates even when the wire format is unchanged.
Documentation
Full docs at docs.z4j.com/concepts/architecture/.
License
Apache-2.0, see LICENSE.
Links
- Homepage: https://z4j.com
- Documentation: https://docs.z4j.com
- PyPI: https://pypi.org/project/z4j-core/
- Issues: https://github.com/z4jdev/z4j-core/issues
- Changelog: CHANGELOG.md
- Security: security@z4j.com (see SECURITY.md)
Dependency compatibility
The shared models support Pydantic 2.9.2+ on Python 3.11 to 3.13 and Pydantic 2.12+
on Python 3.14+, with typing-extensions>=4.12.2. The latter Python branch needs
upstream Pydantic runtime/wheel support. Z4J's development lockfile selects the
current reviewed versions; it does not force host applications onto those exact
versions. The project's CI workflow defines framework-compatibility lanes that
run the z4j-core unit tests (strict validation, redaction and wire protocol) at
the declared Pydantic and typing-extensions minimums as well as at the current
dependency profile.
Metadata
Release files for z4j-core 1.13.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| z4j_core-1.13.0.tar.gz | 149.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| z4j_core-1.13.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 277.0 kB
Release files / z4j_core-1.13.0.tar.gz
| Download URL | z4j_core-1.13.0.tar.gz |
|---|---|
| Size | 149.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2e8c1042f7fbe6ef27bef0ed0f0ceec6556ed4ed3f23fb3a537cb5c0c313a638
|
|
BLAKE2b-256 checksum How to use checksums |
f7745b831da796a5e640f4589dbf75bc4143aeba39c67b0e156c912763909b7f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / z4j_core-1.13.0-py3-none-any.whl
| Download URL | z4j_core-1.13.0-py3-none-any.whl |
|---|---|
| Size | 127.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1f586692d6f4cfea659819a33d8b504b7f6fe02908b47f01021cb2aaea04dd14
|
|
BLAKE2b-256 checksum How to use checksums |
71f097d9722a67282f183625b0f190a27aabf2ae3cab9e92c4c8b3766e6e7820
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|