This release is a pre-release and may not be stable for production use.
Causentra for Python
Python-first instrumentation, durable event delivery, processing, and authenticated collection for multi-agent applications. Every component uses the portable RuntimeEvent 1.0 contract.
Install
Causentra is published on PyPI for Python 3.10 and later. The current 0.1.0b1 beta is installed explicitly with --pre:
python -m pip install --pre causentra
Add only the framework extras your application uses:
python -m pip install --pre "causentra[openai-agents,langgraph]"
For contributor development from this repository, use the editable source installation instead:
python -m pip install -e ".[dev,openai-agents,langgraph]"
The optional signing prerequisite is installed separately when needed:
python -m pip install -e ".[dev,signing]"
causentra[signing] declares the bounded rfc8785>=0.1.4,<0.2 range and exposes
canonicalize_json for RFC 8785 UTF-8 bytes. This is canonicalization
infrastructure only; no signer or verifier exists yet. Review the dependency,
golden vectors and security posture before using it in a release.
from causentra import CausentraRuntime, HttpBatchExporter
runtime = CausentraRuntime(
service_name="support-agents",
exporter=HttpBatchExporter(),
)
with runtime.trace("resolve-ticket"):
with runtime.agent("triage"):
with runtime.model("classify", provider_name="anthropic", request_model="model-id"):
call_model()
with runtime.handoff("triage", "billing"):
with runtime.tool("lookup-account"):
lookup_account()
runtime.shutdown()
Maintained native adapters cover OpenAI Agents, LangGraph/LangChain, CrewAI, Google ADK, Semantic Kernel, and AutoGen. Install only the framework extras used by the application.
The aggregate frameworks extra exists for compatibility labs. It installs a large upstream dependency graph and is not the recommended production installation. Production environments should select named extras, lock the resolved graph, generate an SBOM, and review the current advisory evidence.
OpenAI Agents example:
from agents import add_trace_processor
from causentra.adapters.openai_agents import create_openai_agents_processor
add_trace_processor(create_openai_agents_processor("support-agents", exporter))
LangGraph uses LangGraphCallbackHandler through config={"callbacks": [handler]}. The other native registration recipes are in the integration guide. The otel extra provides OpenTelemetryEventExporter and start_otlp_exporter for standards-based pipelines.
Provider-aware call instrumentation supports eight deep integrations and all 15 canonical provider profiles:
response = runtime.call_model(
"generate",
lambda: client.chat.completions.create(...),
provider_name="groq",
request_model="model-id",
)
See the provider support contract for exact extraction and compatibility guarantees.
Durable delivery and processing:
from causentra import DurableTransportExporter, EventEngine, HttpTransport, SqliteEventSpool
exporter = DurableTransportExporter(
SqliteEventSpool(".causentra/outbox.db"),
HttpTransport(
"https://collector.example/v1/events",
headers={"Authorization": "Bearer <key>"},
),
)
engine = EventEngine(".causentra/events.db")
engine.subscribe("audit", audit_handler, event_types=("agent.*", "tool.*"))
The authenticated collector provides project-isolated atomic ingestion, trace query/delete, health/readiness, quotas, and operator metrics:
causentra init --config collector.json --key-output collector.key
causentra-collector --config collector.json
causentra --key-file collector.key doctor
causentra --key-file collector.key traces
The CLI keeps the raw generated key in a separate file, refuses to overwrite files, requires explicit trace-ID confirmation for deletion, and also provides consistent backup and idempotency-tombstone retention commands.
See the production deployment runbook, production runtime, and transport/plugin operations.
Prompts, outputs, tool arguments, arbitrary framework state, and error messages are not captured by default. Instrumentation failure never replaces application behavior.
Causentra 0.1.0b1 is a published PyPI beta. Strict typing/lint, deterministic tests, exact-framework registration, clean-wheel, collector, durable transport, and package verification gates are implemented. Independent security review and target-infrastructure load/soak evidence remain general-availability gates.
Metadata
Release files for causentra 0.1.0b1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| causentra-0.1.0b1.tar.gz | 108.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| causentra-0.1.0b1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 204.1 kB
Release files / causentra-0.1.0b1.tar.gz
| Download URL | causentra-0.1.0b1.tar.gz |
|---|---|
| Size | 108.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d36d120831e15dbaecfa0d364361fecc5661c4841f9cbbd62682a6ab44e60200
|
|
BLAKE2b-256 checksum How to use checksums |
437e1d216c7a3c91b4dbbddf7344fdc9aa6eecff4e6e1c91484759303d3b2b7e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.9
|
Release files / causentra-0.1.0b1-py3-none-any.whl
| Download URL | causentra-0.1.0b1-py3-none-any.whl |
|---|---|
| Size | 96.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
31a22f86421677c2a98528f72f7f5d0eaa0d9f06b74da0a677b2e16fbbf0b3d3
|
|
BLAKE2b-256 checksum How to use checksums |
a7eb76958d7ce7ba90cecd8d75b5521544ff5c4e9a09e3b0af8d63008f88543d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.9
|