Skip to content

Reports and history

Status: Available in ETLantic 0.41.0. Operator hub for run reports, durable history, and durable_audit. Protocol detail lives under Plugin SDK.

What to use when

Need Use CLI
Latest run outcomes in the workspace File report store (.etlantic/reports/) etlantic report list / show
Cross-run history + events Run history provider (.etlantic/history/ via workspace) etlantic report query
Fail closed when history cannot persist observability_delivery: durable_audit on the Profile configure profile JSON
Fan-out to OTel / console providers Observability providers profile observability_providers

Minimal operator path

  1. Run a pipeline (CLI creates workspace reports by default):
python -m etlantic run pipeline.py:SamplePipeline --profile development
python -m etlantic report list
  1. Query durable history (workspace .etlantic/history/):
python -m etlantic report query --format json --limit 20
python -m etlantic report query --since 2026-01-01T00:00:00+00:00 --status succeeded
  1. For production pilots that require audit-style persistence, set in profile JSON:
{
  "name": "production",
  "security_mode": "production",
  "plugin_allowlist": {"etlantic-polars": "==0.41.0"},
  "run_history_provider": "file",
  "observability_delivery": "durable_audit"
}

durable_audit fails closed when required history persistence or provider flush fails. best_effort logs and continues.

Detail pages

SDK sketch

import etlantic as etl
from etlantic.observability import FileRunHistoryProvider
from etlantic.runtime.observability_bridge import ObservabilityBridge

profile = etl.Profile(
    name="production",
    security_mode="production",
    plugin_allowlist={"etlantic-polars": "==0.41.0"},
    run_history_provider="file",
    observability_delivery="durable_audit",
)
# Register providers on PipelineRuntime / bridge as documented in
# Observability Provider + Run History Provider guides.

Prefer import etlantic.observability (or the guides above) — there is no etl.observability lazy namespace on the curated root.