Architecture#

OpenSTEF is organized into four packages with clear responsibilities: openstef_core provides foundational data structures and utilities, openstef_models implements forecasting models and transforms, openstef_beam handles backtesting, evaluation, and metrics pipelines, and openstef_meta combines models into ensemble forecasts.

        graph TD
    A[openstef_core] --> B[openstef_models]
    A --> C[openstef_beam]
    A --> D[openstef_meta]
    B --> D
    C --> D
    classDef primary fill:#00D9C5,stroke:#1E3A5F,stroke-width:2px,color:#000
    classDef secondary fill:#1E3A5F,stroke:#00D9C5,stroke-width:2px,color:#fff
    classDef accent fill:#e6f7f5,stroke:#00D9C5,stroke-width:2px,color:#000
    class A secondary
    class B,C primary
    class D accent
    
Core Package (The openstef_core Package)

Deep dive into openstef_core: the validated dataset hierarchy, shared utilities, and base abstractions that all other packages build upon.

Models Package (The openstef_models Package)

Deep dive into openstef_models: domain-organized transforms, forecasting model implementations, and the model training lifecycle.

BEAM Package (The openstef_beam Package)

Deep dive into openstef_beam: backtesting pipelines, evaluation metrics, analysis tools, and reporting capabilities.

Meta Package (The openstef_meta Package)

Deep dive into openstef_meta: ensemble forecasting, forecast combination strategies, and multi-model orchestration.