Skip to content

io.workflow_utils

vhrharmonize.io.workflow_utils

Shared workflow path and skip helpers.

StepOutputPlan dataclass

Resolved output paths and pending work for a workflow step.

resolve_relative_to_input(path, input_folder)

Resolve a path against an input folder. Args: path: Candidate relative or absolute path. input_folder: Input folder used for relative resolution. Returns: Resolved absolute or normalized path.

resolve_temp_dir(configured_dir, *, input_folder)

Resolve a workflow temp directory. Args: configured_dir: Configured temp directory or None. input_folder: Input folder used for relative resolution. Returns: Resolved temp directory path.

resolve_output_dir(configured_dir, *, temp_dir, step_name)

Resolve a workflow output directory. Args: configured_dir: Configured output directory or None. temp_dir: Temp directory used when no explicit output directory is provided. step_name: Workflow step name. Returns: Resolved output directory path.

build_output_path_from_input(input_path, output_dir, *, suffix='', extension=None)

Build an output path from an input basename. Args: input_path: Source file path. output_dir: Output directory. suffix: Suffix to append before the extension. extension: Optional extension override. Returns: Resolved output file path.

plan_step_outputs(input_paths, *, output_dir, suffix='', extension=None, skip_existing=False)

Plan step outputs and pending work. Args: input_paths: Input file paths for the step. output_dir: Output directory for generated files. suffix: Suffix to append before the extension. extension: Optional extension override. skip_existing: Whether to exclude already existing outputs from pending work. Returns: Planned output paths and pending work details.