hydromodpy.project.state#

Mutable state container for hydromodpy.project.Project.

Encapsulates the runtime fields that previously lived directly on the Project instance and are assigned from hydromodpy.project.phases and hydromodpy.project.runner. Centralising them gives mypy/pyright a typed view of the state and removes the dunder-attribute sprawl on Project itself.

Project proxies private attribute reads and writes (project._config_path, project._cfg, …) to this dataclass via __getattr__ / __setattr__. The public read-only view of the config is Project.config.

Module attributes

PROJECT_ATTR_TO_STATE_FIELD

Maps project.<name> access to project._state.<state_field>.

Classes

ProjectState([config_path, cfg, solver, ...])

Typed bag of runtime state owned by a Project.