Skip to content

DRTML overview

DRTML is the YAML contract shipped with a step package (*.drtml plus optional fragments). It is the source of truth for execution, params, datasets, feed, storage, metrics, generated UI, dashboard views and orchestration metadata.

main *.drtml
→ resolve relative include files
→ merge fragments
→ StepManifest (Pydantic)
→ version and cross-section validation
→ compile_step_manifest
→ immutable runtime plans

The DRTML layer performs no dataset I/O. Runtime consumes compiled plans.

  • v3: builtin pattern or explicit execution.entry.
  • legacy: execution.mode and runner remain supported where documented.

New steps should use v3 and a thin adjacent hook only when an entry is needed.

src/acme_pipeline_steps/normalize/
normalize.drtml
fragments/
params.drtml
ui.drtml
metrics.drtml
hooks.py
processor.py

Package DRTML files as distribution data. Airflow/UI discover their root through deployment configuration; manifest_path_adjacent resolves a main manifest from a thin hook.

Steps do not parse DRTML. The parser does not perform parquet/database I/O. A YAML field without a compiled/runtime consumer is not a supported feature.