
recp (short for recipe) runs recipes: .yaml files that group shell commands into steps. Commands can be generated from templates, take values from environment variables or prompts, run in parallel and skip outputs that already exist, which is useful when processing large datasets.
- Steps: each step has its own commands, environment variables and working folder. Steps can be selected with
--tagor--step, and a failed run can be resumed with--from. - Modifiers: expand one command into many before the recipe runs, e.g. one command per file with
dir_filesor per combination of values withcartesian_product. - Constructors: such as
!input,!promptand!shellset variables when the recipe is loaded, so the same recipe can be used with different data or settings. - Parallel commands: steps with a
parallelkey run several commands at a time, with their status shown in a live table.
The --dry-run option prints the commands without running them.