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. Strict validation, redaction and wire-protocol tests run at the declared
minimums as well as the current dependency profile.
Metadata
Release files for z4j-core 1.12.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.12.0.tar.gz | 147.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| z4j_core-1.12.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 272.3 kB
Release files / z4j_core-1.12.0.tar.gz
| Download URL | z4j_core-1.12.0.tar.gz |
|---|---|
| Size | 147.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7fdcfdd4b2735ad73787faad3345673cb1898364ef6385e0296a66259301cb83
|
|
BLAKE2b-256 checksum How to use checksums |
81f511ed081023f609dd1d0050a406b25a48c44271fb9851fe9ba62f5eb008bb
|
| 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.12.0-py3-none-any.whl
| Download URL | z4j_core-1.12.0-py3-none-any.whl |
|---|---|
| Size | 124.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b998fa43c7c28a6293537e8c9c5bb19f6efee0ff18143bb61b968a5c3a18c8c7
|
|
BLAKE2b-256 checksum How to use checksums |
4ea25f24fffe7371f169b38eb62e3b7a88eede301f1baed5acd9d28c2198ae82
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|