nirs4all.pipeline.steps.step_runner module

Step runner for executing individual pipeline steps.

class nirs4all.pipeline.steps.step_runner.StepRunner(parser: StepParser | None = None, router: ControllerRouter | None = None, verbose: int = 0, mode: str = 'train', show_spinner: bool = True, plots_visible: bool = False)[source]

Bases: object

Executes a single pipeline step.

Handles: - Step parsing (delegates to StepParser) - Controller selection (delegates to ControllerRouter) - Controller execution - Binary loading/saving for this step

parser

Parses step configuration

router

Routes to appropriate controller

verbose

Verbosity level

mode

Execution mode (train/predict/explain)

execute(step: Any, dataset: SpectroDataset, context: ExecutionContext, runtime_context: Any, loaded_binaries: List[Tuple[str, Any]] | None = None, prediction_store: Predictions | None = None) StepResult[source]

Execute a single pipeline step.

Parameters:
  • step – Raw step configuration

  • dataset – Dataset to process

  • context – Execution context

  • runtime_context – Runtime infrastructure context

  • loaded_binaries – Pre-loaded artifacts for this step

  • prediction_store – Prediction store for accumulating results

Returns:

StepResult with updated context and artifacts

Raises:

RuntimeError – If step execution fails