abi-observability
OTLP-compliant event and span pipeline with multi-backend export and built-in PII redaction. Plugs into any OpenTelemetry pipeline. Aligned with the OTel GenAI SIG semantic conventions.
Zero production dependencies. Standalone.
Install (after PyPI publication)
pip install abi-observability
Status: Not yet published to PyPI. Install from source:
pip install -e .from the repo root.
Quick start
from abi_observability import Event, Span, Collector, CollectorConfig
# Set up a collector with buffering and file-based export
config = CollectorConfig(
buffer_size=100,
flush_interval=60.0,
enabled_exporters=["file"],
auto_flush=True,
)
collector = Collector(config)
# Collect an event
event = Event(
event_id="evt-001",
event_type="MODEL_CALL",
timestamp="2026-03-13T10:00:00Z",
run_id="run-42",
payload={"model": "claude-sonnet-4-20250514", "tokens": 512},
)
collector.collect_event(event)
# Collect a span
span = Span(
span_id="span-001",
trace_id="trace-001",
name="llm.generate",
start_time="2026-03-13T10:00:00Z",
end_time="2026-03-13T10:00:01Z",
attributes={"model": "claude-sonnet-4-20250514"},
)
collector.collect_span(span)
# Flush buffered data to exporters
collector.flush()
OTel GenAI semantic conventions
from abi_observability import GenAIAttributes, to_genai_attributes
# Build OTel GenAI-compliant attributes for a span
attrs = to_genai_attributes(
system="anthropic",
model="claude-sonnet-4-20250514",
input_tokens=1500,
output_tokens=300,
)
# attrs = {"gen_ai.system": "anthropic", "gen_ai.request.model": "claude-sonnet-4-20250514", ...}
What's included
- Event and span models -- structured
EventandSpantypes with NDJSON serialization - Collector -- in-process event collector with buffering and multi-exporter support
- OTLP exporter -- sends spans in OTLP-compatible JSON (file or HTTP)
- Langfuse exporter -- optional LLM observability backend
- PII redaction -- environment variable and path scrubbing before export
- OTel GenAI SIG alignment --
GenAIAttributesconstants andto_genai_attributes()helper for interoperable telemetry - Status dashboard --
python -m abi_observability.dashboardfor pipeline visualization
Use it standalone
abi-observability works with any OpenTelemetry pipeline. Configure an exporter, point it at your collector, and start recording. No ABI ecosystem integration required.
Within the ABI ecosystem, it integrates with the orchestrator for end-to-end trace propagation across agent workflows.
ABI ecosystem
Related packages:
- abi-control-core -- contracts and audit trail SDK
- abi-evals -- eval runner and golden management
- abi-runtime -- sandboxed tool runtime
Versioning
Follows Semantic Versioning. Current version: 0.1.3. See CHANGELOG.md for release notes.
License
MIT License (see LICENSE file).
Metadata
Release files for abi-observability 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| abi_observability-0.1.3.tar.gz | 89.4 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| abi_observability-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 128.4 kB
Release files / abi_observability-0.1.3.tar.gz
| Download URL | abi_observability-0.1.3.tar.gz |
|---|---|
| Size | 89.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8de68bc4f76a882668cc3f95d972dbeb998ab6bc29c22c8ea544d0021ecb2990
|
|
BLAKE2b-256 checksum How to use checksums |
76fb146de2c349cef0ab8452f1ce084364be9a5257238ea846aeef23ce133651
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 14, 2026.
Transparency logRelease files / abi_observability-0.1.3-py3-none-any.whl
| Download URL | abi_observability-0.1.3-py3-none-any.whl |
|---|---|
| Size | 39.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d7f7c7ef4d35552b4f19c139f2bbf09eab63f04553d3ce7e8b7e3961b444b949
|
|
BLAKE2b-256 checksum How to use checksums |
b6fba8fc05977147b3678b090f0046145e700433ded27cbc241c26e47c3d924d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 14, 2026.
Transparency logSecurity for abi-observability 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for abi_observability-0.1.3.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 14, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.