Source code for sparsehydro.enums
"""Enumerations for tracking model lifecycle state in sparsehydro."""
from enum import Enum
[docs]
class ModelState(Enum):
"""Enumeration of the six lifecycle states for a parsimonious model.
States follow a strict progression::
CREATED → INITIALIZED → VALIDATED → PREPARED → PREDICTED → FINALIZED
Concrete :class:`~sparsehydro.models.IModel` implementations are
responsible for advancing ``_state`` as each lifecycle method completes.
:cvar CREATED: Object has been instantiated; no parameters registered yet.
:cvar INITIALIZED: ``initialize()`` has completed; parameters are
registered and model structure is set up.
:cvar VALIDATED: ``validate()`` returned ``True``; all parameters are
within their specified bounds.
:cvar PREPARED: ``prepare()`` has completed; forcing/input data are loaded
and pre-processed.
:cvar PREDICTED: ``predict()`` has completed; model outputs are available.
:cvar FINALIZED: ``finalize()`` has completed; resources have been released.
"""
CREATED = "created"
INITIALIZED = "initialized"
VALIDATED = "validated"
PREPARED = "prepared"
PREDICTED = "predicted"
FINALIZED = "finalized"
def __str__(self) -> str: # pragma: no cover
return self.value