hydromodpy.calibration.runners.contracts#

Protocol contracts that the calibration trial primitives consume.

The calibration package must not import the workflow package (layer-matrix rule). The trial primitive nevertheless needs a Pipeline driver, the ordered list of standard steps, the dependency-cut helper, the structural data binder, and the spatial-support resolvers. All of those live in the workflow layer.

This module defines:

  • a TrialPipelineProvider Protocol that bundles every callable the trial primitive needs from the workflow layer,

  • a registration pair (register_trial_pipeline_provider() / get_trial_pipeline_provider()) the bootstrap wires up at import time.

The concrete provider is instantiated by hydromodpy.workflow.steps.calibration and registered from hydromodpy._bootstrap.

Functions

get_trial_pipeline_provider()

Return the registered provider, or raise if none is wired.

get_trial_promotion_provider()

Return the registered promotion provider, or raise if none is wired.

register_trial_pipeline_provider(provider)

Register the workflow-backed provider used by the trial primitive.

register_trial_promotion_provider(provider)

Register the provider used by legacy trial promotion helpers.

Classes

CalibrationSeriesExtractor(*args, **kwargs)

Solver-adapter contract used by calibration extractors.

TrialPipelineProvider(*args, **kwargs)

Bundle of workflow callables consumed by the trial primitive.

TrialPipelineRunner(*args, **kwargs)

Minimal pipeline runner contract used by the trial primitive.

TrialPromotionProvider(*args, **kwargs)

Bundle that promotes a calibration candidate to a persisted run.

TrialStep(*args, **kwargs)

Minimal pipeline step contract used by the trial primitive.