Skip to content

API reference

The API reference is organized into two tiers:

  • Essentials: the recommended path API for most users (run, trace, scenario)
  • Advanced: lifecycle, decorators, and lower-level utilities for integrations

Start Here

  1. API Essentials
  2. API Advanced
  3. Public API for complete surface-area inventory

Essentials entry points

If you need Start here Why
One cache-aware function call consist.run Smallest API surface; uses active/default tracker
Multi-step workflow with shared context consist.scenario Groups steps and lineage under one scenario header
Always-execute run-scoped block consist.trace Records provenance but executes block every time
Multi-run grouping and pairwise comparison RunSet / consist.run_set Fluent partitioning, recency selection, and alignment

Minimal first run

from pathlib import Path
import consist
from consist import Tracker

tracker = Tracker(run_dir="./runs", db_path="./provenance.duckdb")

def write_answer() -> Path:
    out = consist.output_path("answer", ext="txt")
    out.write_text("42\n")
    return out

with consist.use_tracker(tracker):
    result = consist.run(fn=write_answer, outputs=["answer"])

print(result.outputs["answer"].path)

API pages (full)