[workspace] WorkspaceConfig#
TOML section: [workspace]
Pydantic model: WorkspaceConfig defined in hydromodpy.core.workspace.config.
Strict-binary workspace configuration.
The canonical workspace layout is:
<workspace>/
workspace.toml
data/
cache.duckdb
projects/
<name>/
project.toml <- TOML lives here when using scaffold
runs/<run>/
share/
.hmp/index.duckdb
Fields under [workspace]:
project_root(required)Directory of the project TOML. Usually auto-derived from the TOML location by the loader.
root(explicit workspace override)When set, the shared data workspace root. Derives
data_dirunless it is explicitly overridden.catalog_path/data_dir/runs_dirPer-component explicit overrides.
catalog_pathandruns_dirare project-local by default.output_rootOptional redirect for heavy outputs (
.hmp/scratch/and the publishedshare/tree). Defaults toproject_root.
Fields#
project_root
Path | UPath required user source
Path to the project directory. Required in TOML configs.
Example: "."
root
Path | UPath | None default = None user source
Explicit shared data workspace root. When set, derives data_dir unless it is overridden. Result catalogs stay project-local by default.
Example: "../.."
catalog_path
Path | None default = None dev source
Explicit path to the project index database. Defaults to <project_root>/.hmp/index.duckdb.
data_dir
Path | None default = None dev source
Explicit path to the workspace data directory. Defaults to <root>/data.
runs_dir
Path | None default = None dev source
Explicit path to the directory holding one sub-directory per run. Defaults to <project_root>/runs.
output_root
Path | None default = None user source
Root directory for per-project outputs (.hmp/scratch/, share/). Defaults to project_root when not set. Use this to redirect heavy outputs to a separate disk.
Example: "outputs/run_a"