zizkadb-crewai
PyPI: zizkadb-crewai 0.1.1 · requires zizkadb-sdk>=0.2.6
Self-hosted, open-source observability and causal debugging for CrewAI.
A CrewAI run is normally a black box: when the output is wrong, it's hard to see which task or
agent caused it. zizkadb-crewai logs every step of a crew run to ZizkaDB
with a parent_id link, so a run becomes a causal tree — and one call, db.why(), walks that
tree back to the root cause.
It doesn't only show what happened; it explains why it happened.
CrewAI run ──▶ ZizkaDBCrewLogger ──▶ ZizkaDB (causal store) ──▶ db.why() / dashboard
Install
Both packages are published on PyPI — no git URLs needed:
pip install zizkadb-sdk zizkadb-crewai crewai
Usage
ZizkaDBCrewLogger logs the crew lifecycle. Events auto-chain through the logger's last_event_id,
so you can omit parent_id to link each event to the previous one.
| Method | Event type | Purpose |
|---|---|---|
await log_kickoff(goal, **extra) |
crew_kickoff |
Start of the run (root of the chain) |
await log_task(description, *, parent_id=None, **extra) |
crew_task |
One node per task |
await log_output(output, *, parent_id=None, **extra) |
crew_output |
Final result |
from zizkadb import ZizkaDB
from zizkadb_crewai import ZizkaDBCrewLogger
# OSS-first: default to a local self-hosted instance; pass api_key only for remote/cloud.
async with ZizkaDB(host="http://localhost:8000") as db:
logger = ZizkaDBCrewLogger(db=db, agent="research-crew")
await logger.log_kickoff(goal="Research causal logging for AI agents")
result = await crew.kickoff_async()
for task_output in result.tasks_output: # one causal node per task
await logger.log_task(
description=task_output.description,
output=str(task_output.raw)[:2000],
)
await logger.log_output(str(result))
# The payoff — explain WHY the crew produced its output:
(await db.why(logger.last_event_id)).print()
db.why() reconstructs the chain:
crew_kickoff → crew_task (Researcher) → crew_task (Writer) → crew_output
Runnable example
A complete two-agent crew (Researcher → Writer) with the why() proof lives at
examples/crewai-agent/. It targets a self-hosted ZizkaDB
(http://localhost:8000) — no cloud signup required.
Monorepo dev install
pip install -e sdk/python -e integrations/crewai
Links
- PyPI:
zizkadb-crewai·zizkadb-sdk - Listed in CrewAI's community integrations:
awesome-crewai
License
zizkadb-crewai and zizkadb-sdk are licensed under AGPL-3.0.
Metadata
Release files for zizkadb-crewai 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| zizkadb_crewai-0.1.2.tar.gz | 2.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zizkadb_crewai-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 5.8 kB
Release files / zizkadb_crewai-0.1.2.tar.gz
| Download URL | zizkadb_crewai-0.1.2.tar.gz |
|---|---|
| Size | 2.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
50ff65449647d4291e89ce8b8eeeb86edafdc72182cc67385840e81f244fdf9d
|
|
BLAKE2b-256 checksum How to use checksums |
c605940421fd62b071b62483234703c207f691f480fa0ea95e053d1f03e2fc63
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.9
|
Release files / zizkadb_crewai-0.1.2-py3-none-any.whl
| Download URL | zizkadb_crewai-0.1.2-py3-none-any.whl |
|---|---|
| Size | 3.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d95e04f9fa49eed0710f8d4bb60bc25c752e842f832d11b38e001e420d3fb1b3
|
|
BLAKE2b-256 checksum How to use checksums |
70070b2330921110ee1b4116265349fd1877e4759953ada3d92fccb2c4ee5aae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.9
|