FAST-HEP Flow#
Introduction#
fasthep-flow is a workflow compilation and orchestration framework for describing data analysis workflows in YAML and converting them into serialisable execution graphs.
Users describe what should be computed using Declarative workflows, while fasthep-flow determines how workflows should be validated, normalised, planned, and executed.
flowchart TD
subgraph Compile["Compilation and planning"]
Author["author.yaml"]
Profiles["profiles and registries"]
Normalised["normalised workflow"]
Dependency["dependency inference"]
Plan["execution plan"]
Author --> Normalised
Profiles --> Normalised
Normalised --> Dependency
Dependency --> Plan
end
subgraph Execute["Runtime execution"]
Runtime["runtime execution"]
Outputs["artifacts and outputs"]
Runtime --> Outputs
end
Plan --> Runtime
These execution graphs can be:
executed locally
distributed with systems such as Dask
evaluated step-wise with workflow managers such as Snakemake
lowered into alternative execution and optimisation backends
While designed as the orchestration layer of the FAST-HEP ecosystem, fasthep-flow is intentionally domain-agnostic and can be used independently of High Energy Physics workflows.
Declarative workflows#
fasthep-flowdescribe intent rather than implementation details.
Rather than explicitly writing event loops, scheduling logic, or task orchestration code, users describe:
data sources
transformations
histogramming
rendering
outputs
dependencies
The workflow engine then infers execution order and dependencies automatically.
This allows workflows to scale from:
small local analyses
interactive prototyping
distributed cluster execution
reproducible production workflows
while preserving the same high-level workflow description.
For more information on the language, please see Workflow language#
FAST-HEP ecosystem#
fasthep-flow acts as the orchestration and compilation layer for the broader FAST-HEP ecosystem.
Typical workflows combine:
Package |
Purpose |
|---|---|
|
workflow compilation and orchestration |
|
transforms, histogramming, awkward/ROOT processing |
|
metadata, diagnostics, provenance |
|
rendering, plots, reports |
|
command-line interface |
|
tutorials and example workflows |
Note
Despite the hep in its name, fasthep-flow aims to remain domain-agnostic.
The workflow language, planning system, runtime abstraction, and execution model are intentionally designed to be reusable outside High Energy Physics workflows.
Current status#
fasthep-flow is under active development.
The workflow language and architecture are stabilising rapidly, but some APIs and runtime interfaces may still evolve before the first stable release.
The current focus areas include:
workflow language refinement
execution planning
runtime backends
extensibility APIs
inspection and validation tooling
tutorial and workshop infrastructure