fasthep-flow provides the core FAST-HEP workflow language and execution engine.
It is responsible for:
- workflow compilation
- execution planning
- runtime orchestration
- registry/profile loading
- backend interfaces
- artifact lifecycle management
The Python import namespace is:
import hepflowfasthep-flow is intentionally lightweight and domain-agnostic.
It does not implement:
- ROOT IO
- histogram filling
- HEP-specific transforms
- plotting/rendering
- experiment-specific analysis logic
Those capabilities are provided by companion FAST-HEP packages.
For High Energy Physics (HEP) workflows, most users will also want:
-
fasthep-carpenter- HEP analysis transforms
- ROOT/awkward sources and writers
- histogramming
- cutflows
- object reconstruction helpers
-
fasthep-curator- dataset inspection
- schema snapshots
- diagnostics
- runtime hooks
-
fasthep-render- plotting
- tables
- reports
- render styles
-
fasthep-cli- the
fasthepcommand-line interface
- the
Alternatively, install the meta package:
pip install fasthepCore workflow package only:
pip install fasthep-flowDevelopment environment:
pixi install
pixi run cifrom hepflow.api import compile_author_file, run_author_file
compile_author_file(
"analysis/author.yaml",
work_dir="build/example",
)
run_author_file(
"analysis/author.yaml",
outdir="build/example",
)fasthep-flow focuses on:
- small and composable interfaces
- explicit workflow compilation stages
- registry-driven extensibility
- backend-independent execution planning
- reproducible workflow artifacts
- minimal domain assumptions
The long-term goal is to make the workflow layer reusable beyond High Energy Physics.
Main FAST-HEP documentation:
API documentation for this package:
Main FAST-HEP repository and project links:
Contribution guidelines, development setup, and project-wide documentation are maintained centrally in the main FAST-HEP repository.
The pre-split prototype implementation is preserved in the legacy branch.
The new main branch contains the split-package architecture.
FAST-HEP is currently in active pre-alpha development.
Interfaces may still evolve rapidly while the package split and stabilization work continues.