Skip to main content

Event/span pipeline with offline exporters for the ABI ecosystem

Project description

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 Event and Span types 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 -- GenAIAttributes constants and to_genai_attributes() helper for interoperable telemetry
  • Status dashboard -- python -m abi_observability.dashboard for 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:

Versioning

Follows Semantic Versioning. Current version: 0.1.3. See CHANGELOG.md for release notes.

License

MIT License (see LICENSE file).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

abi_observability-0.1.3.tar.gz (89.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

abi_observability-0.1.3-py3-none-any.whl (39.0 kB view details)

Uploaded Python 3

File details

Details for the file abi_observability-0.1.3.tar.gz.

File metadata

  • Download URL: abi_observability-0.1.3.tar.gz
  • Upload date:
  • Size: 89.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for abi_observability-0.1.3.tar.gz
Algorithm Hash digest
SHA256 8de68bc4f76a882668cc3f95d972dbeb998ab6bc29c22c8ea544d0021ecb2990
MD5 3d4618cb02947f504ee59b4537b30099
BLAKE2b-256 76fb146de2c349cef0ab8452f1ce084364be9a5257238ea846aeef23ce133651

See more details on using hashes here.

Provenance

The following attestation bundles were made for abi_observability-0.1.3.tar.gz:

Publisher: publish.yml on AbilityBI/abi-observability

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file abi_observability-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for abi_observability-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d7f7c7ef4d35552b4f19c139f2bbf09eab63f04553d3ce7e8b7e3961b444b949
MD5 d17904048ce627f4e7bcafcd1ae541a9
BLAKE2b-256 b6fba8fc05977147b3678b090f0046145e700433ded27cbc241c26e47c3d924d

See more details on using hashes here.

Provenance

The following attestation bundles were made for abi_observability-0.1.3-py3-none-any.whl:

Publisher: publish.yml on AbilityBI/abi-observability

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page