hydromodpy.results.catalog.protocol#

SimulationStore Protocol for result-catalog backends.

The default in-tree implementation is hydromodpy.results.catalog.SimulationCatalog, backed by DuckDB for tabular state and Zarr / Parquet for field arrays and timeseries.

Conforming alternative backends (PostgreSQL, Parquet-only, in-memory for tests, remote object storage) can be plugged behind this same contract without changing the workflow steps that consume it. Implementations conform structurally - no base class to inherit from.

The contract is the minimal write/read surface that workflow steps, solver adapters, and post-run extractors actually call. Methods absent from this Protocol stay implementation-specific to SimulationCatalog (find, rank, archive package_io …).

Classes

SimulationStore(*args, **kwargs)

Minimal write/read contract for a simulation results catalog.