openstef 4.1.2__tar.gz → 4.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (624) hide show
  1. {openstef-4.1.2 → openstef-4.2.2}/PKG-INFO +14 -14
  2. openstef-4.2.2/docs/automation.yml +56 -0
  3. openstef-4.2.2/docs/pages.yml +310 -0
  4. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/pyproject.toml +1 -1
  5. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/pyproject.toml +1 -1
  6. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/pyproject.toml +1 -1
  7. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/pyproject.toml +1 -1
  8. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/pyproject.toml +1 -1
  9. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/models/forecasting/lgbm_forecaster.py +7 -5
  10. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/models/forecasting/lgbmlinear_forecaster.py +7 -5
  11. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/utils/multi_quantile_regressor.py +9 -7
  12. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/utils/test_multi_quantile_regressor.py +25 -0
  13. {openstef-4.1.2 → openstef-4.2.2}/pyproject.toml +14 -14
  14. {openstef-4.1.2 → openstef-4.2.2}/uv.lock +6 -6
  15. {openstef-4.1.2 → openstef-4.2.2}/.github/CODEOWNERS +0 -0
  16. {openstef-4.1.2 → openstef-4.2.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  17. {openstef-4.1.2 → openstef-4.2.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  18. {openstef-4.1.2 → openstef-4.2.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  19. {openstef-4.1.2 → openstef-4.2.2}/.github/ISSUE_TEMPLATE/task.md +0 -0
  20. {openstef-4.1.2 → openstef-4.2.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  21. {openstef-4.1.2 → openstef-4.2.2}/.github/dependabot.yml +0 -0
  22. {openstef-4.1.2 → openstef-4.2.2}/.github/pr-labeler.yml +0 -0
  23. {openstef-4.1.2 → openstef-4.2.2}/.github/workflows/_job_quality_check.yaml +0 -0
  24. {openstef-4.1.2 → openstef-4.2.2}/.github/workflows/check.yaml +0 -0
  25. {openstef-4.1.2 → openstef-4.2.2}/.github/workflows/citations.yaml +0 -0
  26. {openstef-4.1.2 → openstef-4.2.2}/.github/workflows/codeql.yaml +0 -0
  27. {openstef-4.1.2 → openstef-4.2.2}/.github/workflows/docs-check.yaml +0 -0
  28. {openstef-4.1.2 → openstef-4.2.2}/.github/workflows/docs.yaml +0 -0
  29. {openstef-4.1.2 → openstef-4.2.2}/.github/workflows/pr-labeler.yaml +0 -0
  30. {openstef-4.1.2 → openstef-4.2.2}/.github/workflows/release-v4.yaml +0 -0
  31. {openstef-4.1.2 → openstef-4.2.2}/.gitignore +0 -0
  32. {openstef-4.1.2 → openstef-4.2.2}/.python-version +0 -0
  33. {openstef-4.1.2 → openstef-4.2.2}/CITATION.cff +0 -0
  34. {openstef-4.1.2 → openstef-4.2.2}/COMMITTERS.md +0 -0
  35. {openstef-4.1.2 → openstef-4.2.2}/LICENSE.md +0 -0
  36. {openstef-4.1.2 → openstef-4.2.2}/LICENSES/MPL-2.0.txt +0 -0
  37. {openstef-4.1.2 → openstef-4.2.2}/README.md +0 -0
  38. {openstef-4.1.2 → openstef-4.2.2}/REUSE.toml +0 -0
  39. {openstef-4.1.2 → openstef-4.2.2}/THIRD_PARTY_NOTICES.md +0 -0
  40. {openstef-4.1.2 → openstef-4.2.2}/docs/.gitkeep +0 -0
  41. {openstef-4.1.2 → openstef-4.2.2}/docs/README.md +0 -0
  42. {openstef-4.1.2 → openstef-4.2.2}/docs/autosummary_cache.py +0 -0
  43. {openstef-4.1.2 → openstef-4.2.2}/docs/autosummary_helpers.py +0 -0
  44. {openstef-4.1.2 → openstef-4.2.2}/docs/pyproject.toml +0 -0
  45. {openstef-4.1.2 → openstef-4.2.2}/docs/source/_figures/generate_concept_figures.py +0 -0
  46. {openstef-4.1.2 → openstef-4.2.2}/docs/source/_figures/generate_guide_figures.py +0 -0
  47. {openstef-4.1.2 → openstef-4.2.2}/docs/source/_static/css/.gitkeep +0 -0
  48. {openstef-4.1.2 → openstef-4.2.2}/docs/source/_static/css/custom.css +0 -0
  49. {openstef-4.1.2 → openstef-4.2.2}/docs/source/_static/versions.json +0 -0
  50. {openstef-4.1.2 → openstef-4.2.2}/docs/source/_static/versions.json.license +0 -0
  51. {openstef-4.1.2 → openstef-4.2.2}/docs/source/_templates/custom_class.rst +0 -0
  52. {openstef-4.1.2 → openstef-4.2.2}/docs/source/_templates/custom_class_noindex.rst +0 -0
  53. {openstef-4.1.2 → openstef-4.2.2}/docs/source/_templates/custom_function.rst +0 -0
  54. {openstef-4.1.2 → openstef-4.2.2}/docs/source/_templates/module_overview.rst +0 -0
  55. {openstef-4.1.2 → openstef-4.2.2}/docs/source/_templates/package_overview.rst +0 -0
  56. {openstef-4.1.2 → openstef-4.2.2}/docs/source/api/beam.rst +0 -0
  57. {openstef-4.1.2 → openstef-4.2.2}/docs/source/api/core.rst +0 -0
  58. {openstef-4.1.2 → openstef-4.2.2}/docs/source/api/foundation_models.rst +0 -0
  59. {openstef-4.1.2 → openstef-4.2.2}/docs/source/api/index.rst +0 -0
  60. {openstef-4.1.2 → openstef-4.2.2}/docs/source/api/meta.rst +0 -0
  61. {openstef-4.1.2 → openstef-4.2.2}/docs/source/api/models.rst +0 -0
  62. {openstef-4.1.2 → openstef-4.2.2}/docs/source/conf.py +0 -0
  63. {openstef-4.1.2 → openstef-4.2.2}/docs/source/contribute/_getting_help.rst +0 -0
  64. {openstef-4.1.2 → openstef-4.2.2}/docs/source/contribute/code_of_conduct.rst +0 -0
  65. {openstef-4.1.2 → openstef-4.2.2}/docs/source/contribute/code_style_guide.rst +0 -0
  66. {openstef-4.1.2 → openstef-4.2.2}/docs/source/contribute/contributing_guide.rst +0 -0
  67. {openstef-4.1.2 → openstef-4.2.2}/docs/source/contribute/development_setup.rst +0 -0
  68. {openstef-4.1.2 → openstef-4.2.2}/docs/source/contribute/development_workflow.rst +0 -0
  69. {openstef-4.1.2 → openstef-4.2.2}/docs/source/contribute/document.rst +0 -0
  70. {openstef-4.1.2 → openstef-4.2.2}/docs/source/contribute/index.rst +0 -0
  71. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/concepts/beam_diagram_1.mmd +0 -0
  72. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/concepts/beam_diagram_1.mmd.license +0 -0
  73. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/concepts/component_splitting_diagram_1.mmd +0 -0
  74. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/concepts/component_splitting_diagram_1.mmd.license +0 -0
  75. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/concepts/intro_to_energy_forecasting_diagram_1.mmd +0 -0
  76. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/concepts/intro_to_energy_forecasting_diagram_1.mmd.license +0 -0
  77. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_1.mmd +0 -0
  78. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_1.mmd.license +0 -0
  79. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_2.mmd +0 -0
  80. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_2.mmd.license +0 -0
  81. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_3.mmd +0 -0
  82. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_3.mmd.license +0 -0
  83. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/concepts/models_diagram_1.mmd +0 -0
  84. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/concepts/models_diagram_1.mmd.license +0 -0
  85. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/getting_started/migration_diagram_1.mmd +0 -0
  86. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/getting_started/migration_diagram_1.mmd.license +0 -0
  87. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/guides/datasets_diagram_1.mmd +0 -0
  88. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/guides/datasets_diagram_1.mmd.license +0 -0
  89. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/guides/datasets_diagram_2.mmd +0 -0
  90. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/guides/datasets_diagram_2.mmd.license +0 -0
  91. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/guides/deployment_diagram_1.mmd +0 -0
  92. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/guides/deployment_diagram_1.mmd.license +0 -0
  93. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/guides/deployment_diagram_2.mmd +0 -0
  94. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/guides/deployment_diagram_2.mmd.license +0 -0
  95. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/guides/forecasting_diagram_1.mmd +0 -0
  96. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/guides/forecasting_diagram_1.mmd.license +0 -0
  97. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/guides/probabilistic_forecasting_diagram_1.mmd +0 -0
  98. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/guides/probabilistic_forecasting_diagram_1.mmd.license +0 -0
  99. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_1.mmd +0 -0
  100. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_1.mmd.license +0 -0
  101. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_2.mmd +0 -0
  102. {openstef-4.1.2 → openstef-4.2.2}/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_2.mmd.license +0 -0
  103. {openstef-4.1.2 → openstef-4.2.2}/docs/source/examples.rst +0 -0
  104. {openstef-4.1.2 → openstef-4.2.2}/docs/source/images/concepts/aggregation_comparison.svg +0 -0
  105. {openstef-4.1.2 → openstef-4.2.2}/docs/source/images/concepts/aggregation_comparison.svg.license +0 -0
  106. {openstef-4.1.2 → openstef-4.2.2}/docs/source/images/concepts/backtesting_simulation.gif +0 -0
  107. {openstef-4.1.2 → openstef-4.2.2}/docs/source/images/concepts/backtesting_simulation.gif.license +0 -0
  108. {openstef-4.1.2 → openstef-4.2.2}/docs/source/images/concepts/forecast_confidence_bands.svg +0 -0
  109. {openstef-4.1.2 → openstef-4.2.2}/docs/source/images/concepts/forecast_confidence_bands.svg.license +0 -0
  110. {openstef-4.1.2 → openstef-4.2.2}/docs/source/images/concepts/weekly_load_profile.svg +0 -0
  111. {openstef-4.1.2 → openstef-4.2.2}/docs/source/images/concepts/weekly_load_profile.svg.license +0 -0
  112. {openstef-4.1.2 → openstef-4.2.2}/docs/source/images/guides/calibration_plot.svg +0 -0
  113. {openstef-4.1.2 → openstef-4.2.2}/docs/source/images/guides/calibration_plot.svg.license +0 -0
  114. {openstef-4.1.2 → openstef-4.2.2}/docs/source/images/guides/flatline_detection.svg +0 -0
  115. {openstef-4.1.2 → openstef-4.2.2}/docs/source/images/guides/flatline_detection.svg.license +0 -0
  116. {openstef-4.1.2 → openstef-4.2.2}/docs/source/images/guides/liander2024_rcrps_by_group.png +0 -0
  117. {openstef-4.1.2 → openstef-4.2.2}/docs/source/images/guides/liander2024_rcrps_by_group.png.license +0 -0
  118. {openstef-4.1.2 → openstef-4.2.2}/docs/source/images/guides/probabilistic_fan_chart.svg +0 -0
  119. {openstef-4.1.2 → openstef-4.2.2}/docs/source/images/guides/probabilistic_fan_chart.svg.license +0 -0
  120. {openstef-4.1.2 → openstef-4.2.2}/docs/source/images/methodology_train_predict.pptx +0 -0
  121. {openstef-4.1.2 → openstef-4.2.2}/docs/source/images/methodology_train_predict.pptx.license +0 -0
  122. {openstef-4.1.2 → openstef-4.2.2}/docs/source/images/methodology_train_predict.svg +0 -0
  123. {openstef-4.1.2 → openstef-4.2.2}/docs/source/images/methodology_train_predict.svg.license +0 -0
  124. {openstef-4.1.2 → openstef-4.2.2}/docs/source/images/uncertainty_estimation.svg +0 -0
  125. {openstef-4.1.2 → openstef-4.2.2}/docs/source/images/uncertainty_estimation.svg.license +0 -0
  126. {openstef-4.1.2 → openstef-4.2.2}/docs/source/index.rst +0 -0
  127. {openstef-4.1.2 → openstef-4.2.2}/docs/source/js/.gitkeep +0 -0
  128. {openstef-4.1.2 → openstef-4.2.2}/docs/source/logos/favicon.ico +0 -0
  129. {openstef-4.1.2 → openstef-4.2.2}/docs/source/logos/favicon.ico.license +0 -0
  130. {openstef-4.1.2 → openstef-4.2.2}/docs/source/logos/logo_openstef_small.png +0 -0
  131. {openstef-4.1.2 → openstef-4.2.2}/docs/source/logos/logo_openstef_small.png.license +0 -0
  132. {openstef-4.1.2 → openstef-4.2.2}/docs/source/logos/openstef-horizontal-color.svg +0 -0
  133. {openstef-4.1.2 → openstef-4.2.2}/docs/source/logos/openstef-horizontal-color.svg.license +0 -0
  134. {openstef-4.1.2 → openstef-4.2.2}/docs/source/logos/openstef-horizontal-white.svg +0 -0
  135. {openstef-4.1.2 → openstef-4.2.2}/docs/source/logos/openstef-horizontal-white.svg.license +0 -0
  136. {openstef-4.1.2 → openstef-4.2.2}/docs/source/project/citing.rst +0 -0
  137. {openstef-4.1.2 → openstef-4.2.2}/docs/source/project/governance.rst +0 -0
  138. {openstef-4.1.2 → openstef-4.2.2}/docs/source/project/index.rst +0 -0
  139. {openstef-4.1.2 → openstef-4.2.2}/docs/source/project/license.rst +0 -0
  140. {openstef-4.1.2 → openstef-4.2.2}/docs/source/project/support.rst +0 -0
  141. {openstef-4.1.2 → openstef-4.2.2}/docs/source/user_guide/concepts/beam.rst +0 -0
  142. {openstef-4.1.2 → openstef-4.2.2}/docs/source/user_guide/concepts/component_splitting.rst +0 -0
  143. {openstef-4.1.2 → openstef-4.2.2}/docs/source/user_guide/concepts/foundation_models.rst +0 -0
  144. {openstef-4.1.2 → openstef-4.2.2}/docs/source/user_guide/concepts/index.rst +0 -0
  145. {openstef-4.1.2 → openstef-4.2.2}/docs/source/user_guide/concepts/intro_to_energy_forecasting.rst +0 -0
  146. {openstef-4.1.2 → openstef-4.2.2}/docs/source/user_guide/concepts/metalearning.rst +0 -0
  147. {openstef-4.1.2 → openstef-4.2.2}/docs/source/user_guide/concepts/models.rst +0 -0
  148. {openstef-4.1.2 → openstef-4.2.2}/docs/source/user_guide/external_resources.rst +0 -0
  149. {openstef-4.1.2 → openstef-4.2.2}/docs/source/user_guide/getting_started/index.rst +0 -0
  150. {openstef-4.1.2 → openstef-4.2.2}/docs/source/user_guide/getting_started/installation.rst +0 -0
  151. {openstef-4.1.2 → openstef-4.2.2}/docs/source/user_guide/getting_started/migration.rst +0 -0
  152. {openstef-4.1.2 → openstef-4.2.2}/docs/source/user_guide/guides/benchmark_results.rst +0 -0
  153. {openstef-4.1.2 → openstef-4.2.2}/docs/source/user_guide/guides/deployment.rst +0 -0
  154. {openstef-4.1.2 → openstef-4.2.2}/docs/source/user_guide/guides/forecasting.rst +0 -0
  155. {openstef-4.1.2 → openstef-4.2.2}/docs/source/user_guide/guides/index.rst +0 -0
  156. {openstef-4.1.2 → openstef-4.2.2}/docs/source/user_guide/guides/probabilistic_forecasting.rst +0 -0
  157. {openstef-4.1.2 → openstef-4.2.2}/docs/source/user_guide/guides/reliability_fallback.rst +0 -0
  158. {openstef-4.1.2 → openstef-4.2.2}/docs/source/user_guide/index.rst +0 -0
  159. {openstef-4.1.2 → openstef-4.2.2}/docs/source/user_guide/intro/index.rst +0 -0
  160. {openstef-4.1.2 → openstef-4.2.2}/docs/source/user_guide/intro/methodology_train_predict.rst +0 -0
  161. {openstef-4.1.2 → openstef-4.2.2}/docs/source/user_guide/logging.rst +0 -0
  162. {openstef-4.1.2 → openstef-4.2.2}/docs/source/user_guide/tutorials.rst +0 -0
  163. {openstef-4.1.2 → openstef-4.2.2}/docs/sync_sources.py +0 -0
  164. {openstef-4.1.2 → openstef-4.2.2}/examples/.gitkeep +0 -0
  165. {openstef-4.1.2 → openstef-4.2.2}/examples/README.md +0 -0
  166. {openstef-4.1.2 → openstef-4.2.2}/examples/__init__.py +0 -0
  167. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/README.md +0 -0
  168. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/__init__.py +0 -0
  169. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/custom/README.md +0 -0
  170. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/custom/__init__.py +0 -0
  171. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/custom/compare_benchmark_runs.ipynb +0 -0
  172. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/custom/compare_benchmark_runs.ipynb.license +0 -0
  173. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/custom/compare_benchmark_runs.py +0 -0
  174. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/custom/custom_benchmark.ipynb +0 -0
  175. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/custom/custom_benchmark.ipynb.license +0 -0
  176. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/custom/custom_benchmark.py +0 -0
  177. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/custom/custom_forecaster.ipynb +0 -0
  178. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/custom/custom_forecaster.ipynb.license +0 -0
  179. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/custom/custom_forecaster.py +0 -0
  180. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/custom/evaluate_existing_forecasts.ipynb +0 -0
  181. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/custom/evaluate_existing_forecasts.ipynb.license +0 -0
  182. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/custom/evaluate_existing_forecasts.py +0 -0
  183. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/custom/run_custom_benchmark.ipynb +0 -0
  184. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/custom/run_custom_benchmark.ipynb.license +0 -0
  185. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/custom/run_custom_benchmark.py +0 -0
  186. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/custom/run_liander2024_benchmark.ipynb +0 -0
  187. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/custom/run_liander2024_benchmark.ipynb.license +0 -0
  188. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/custom/run_liander2024_benchmark.py +0 -0
  189. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/liander2024/README.md +0 -0
  190. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/liander2024/__init__.py +0 -0
  191. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/liander2024/compare_benchmark_runs.ipynb +0 -0
  192. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/liander2024/compare_benchmark_runs.ipynb.license +0 -0
  193. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/liander2024/compare_benchmark_runs.py +0 -0
  194. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/liander2024/run_chronos2_benchmark.ipynb +0 -0
  195. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/liander2024/run_chronos2_benchmark.ipynb.license +0 -0
  196. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/liander2024/run_chronos2_benchmark.py +0 -0
  197. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/liander2024/run_ensemble_benchmark.ipynb +0 -0
  198. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/liander2024/run_ensemble_benchmark.ipynb.license +0 -0
  199. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/liander2024/run_ensemble_benchmark.py +0 -0
  200. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.ipynb +0 -0
  201. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.ipynb.license +0 -0
  202. {openstef-4.1.2 → openstef-4.2.2}/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.py +0 -0
  203. {openstef-4.1.2 → openstef-4.2.2}/examples/deployment/.gitignore +0 -0
  204. {openstef-4.1.2 → openstef-4.2.2}/examples/deployment/README.md +0 -0
  205. {openstef-4.1.2 → openstef-4.2.2}/examples/deployment/poe_tasks.toml +0 -0
  206. {openstef-4.1.2 → openstef-4.2.2}/examples/deployment/pyproject.toml +0 -0
  207. {openstef-4.1.2 → openstef-4.2.2}/examples/deployment/src/airflow_app/__init__.py +0 -0
  208. {openstef-4.1.2 → openstef-4.2.2}/examples/deployment/src/airflow_app/dags/openstef_forecast.py +0 -0
  209. {openstef-4.1.2 → openstef-4.2.2}/examples/deployment/src/airflow_app/dags/openstef_train.py +0 -0
  210. {openstef-4.1.2 → openstef-4.2.2}/examples/deployment/src/celery_app/__init__.py +0 -0
  211. {openstef-4.1.2 → openstef-4.2.2}/examples/deployment/src/celery_app/app.py +0 -0
  212. {openstef-4.1.2 → openstef-4.2.2}/examples/deployment/src/celery_app/run.py +0 -0
  213. {openstef-4.1.2 → openstef-4.2.2}/examples/deployment/src/celery_app/tasks.py +0 -0
  214. {openstef-4.1.2 → openstef-4.2.2}/examples/deployment/src/common/__init__.py +0 -0
  215. {openstef-4.1.2 → openstef-4.2.2}/examples/deployment/src/common/config.py +0 -0
  216. {openstef-4.1.2 → openstef-4.2.2}/examples/deployment/src/common/pipeline.py +0 -0
  217. {openstef-4.1.2 → openstef-4.2.2}/examples/deployment/src/common/services.py +0 -0
  218. {openstef-4.1.2 → openstef-4.2.2}/examples/deployment/src/dagster_app/__init__.py +0 -0
  219. {openstef-4.1.2 → openstef-4.2.2}/examples/deployment/src/dagster_app/definitions.py +0 -0
  220. {openstef-4.1.2 → openstef-4.2.2}/examples/deployment/src/dagster_app/run.py +0 -0
  221. {openstef-4.1.2 → openstef-4.2.2}/examples/deployment/tests/test_deployment.py +0 -0
  222. {openstef-4.1.2 → openstef-4.2.2}/examples/pyproject.toml +0 -0
  223. {openstef-4.1.2 → openstef-4.2.2}/examples/tutorials/.gitignore +0 -0
  224. {openstef-4.1.2 → openstef-4.2.2}/examples/tutorials/backtesting_quickstart.ipynb +0 -0
  225. {openstef-4.1.2 → openstef-4.2.2}/examples/tutorials/backtesting_quickstart.py +0 -0
  226. {openstef-4.1.2 → openstef-4.2.2}/examples/tutorials/custom_pipeline.ipynb +0 -0
  227. {openstef-4.1.2 → openstef-4.2.2}/examples/tutorials/custom_pipeline.py +0 -0
  228. {openstef-4.1.2 → openstef-4.2.2}/examples/tutorials/datasets.py +0 -0
  229. {openstef-4.1.2 → openstef-4.2.2}/examples/tutorials/ensemble_forecasting.ipynb +0 -0
  230. {openstef-4.1.2 → openstef-4.2.2}/examples/tutorials/ensemble_forecasting.py +0 -0
  231. {openstef-4.1.2 → openstef-4.2.2}/examples/tutorials/feature_engineering.ipynb +0 -0
  232. {openstef-4.1.2 → openstef-4.2.2}/examples/tutorials/feature_engineering.py +0 -0
  233. {openstef-4.1.2 → openstef-4.2.2}/examples/tutorials/forecasting_quickstart.ipynb +0 -0
  234. {openstef-4.1.2 → openstef-4.2.2}/examples/tutorials/forecasting_quickstart.py +0 -0
  235. {openstef-4.1.2 → openstef-4.2.2}/examples/tutorials/foundation_model_forecasting.ipynb +0 -0
  236. {openstef-4.1.2 → openstef-4.2.2}/examples/tutorials/foundation_model_forecasting.py +0 -0
  237. {openstef-4.1.2 → openstef-4.2.2}/examples/tutorials/foundation_model_forecasting_quickstart.ipynb +0 -0
  238. {openstef-4.1.2 → openstef-4.2.2}/examples/tutorials/foundation_model_forecasting_quickstart.py +0 -0
  239. {openstef-4.1.2 → openstef-4.2.2}/examples/tutorials/hyperparameter_tuning_with_optuna.ipynb +0 -0
  240. {openstef-4.1.2 → openstef-4.2.2}/examples/tutorials/hyperparameter_tuning_with_optuna.py +0 -0
  241. {openstef-4.1.2 → openstef-4.2.2}/examples/tutorials/model_explainability.ipynb +0 -0
  242. {openstef-4.1.2 → openstef-4.2.2}/examples/tutorials/model_explainability.py +0 -0
  243. {openstef-4.1.2 → openstef-4.2.2}/examples/tutorials/quantile_calibration.ipynb +0 -0
  244. {openstef-4.1.2 → openstef-4.2.2}/examples/tutorials/quantile_calibration.py +0 -0
  245. {openstef-4.1.2 → openstef-4.2.2}/jupytext.toml +0 -0
  246. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/README.md +0 -0
  247. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/__init__.py +0 -0
  248. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/analysis/__init__.py +0 -0
  249. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/analysis/analysis_pipeline.py +0 -0
  250. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/analysis/models/__init__.py +0 -0
  251. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/analysis/models/target_metadata.py +0 -0
  252. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/analysis/models/visualization_aggregation.py +0 -0
  253. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/analysis/models/visualization_output.py +0 -0
  254. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/analysis/plots/__init__.py +0 -0
  255. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/analysis/plots/forecast_time_series_plotter.py +0 -0
  256. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/analysis/plots/grouped_target_metric_plotter.py +0 -0
  257. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/analysis/plots/precision_recall_curve_plotter.py +0 -0
  258. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/analysis/plots/quantile_calibration_box_plotter.py +0 -0
  259. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/analysis/plots/quantile_probability_plotter.py +0 -0
  260. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/analysis/plots/summary_table_plotter.py +0 -0
  261. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/analysis/plots/windowed_metric_plotter.py +0 -0
  262. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/__init__.py +0 -0
  263. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/base.py +0 -0
  264. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/grouped_target_metric_visualization.py +0 -0
  265. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/precision_recall_curve_visualization.py +0 -0
  266. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/quantile_calibration_box_visualization.py +0 -0
  267. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/quantile_probability_visualization.py +0 -0
  268. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/summary_table_visualization.py +0 -0
  269. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/timeseries_visualization.py +0 -0
  270. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/windowed_metric_visualization.py +0 -0
  271. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/backtesting/__init__.py +0 -0
  272. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_callback.py +0 -0
  273. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_event.py +0 -0
  274. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_event_generator.py +0 -0
  275. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/__init__.py +0 -0
  276. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/dummy_forecaster.py +0 -0
  277. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/mixins.py +0 -0
  278. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_pipeline.py +0 -0
  279. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/backtesting/restricted_horizon_timeseries.py +0 -0
  280. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/benchmarking/__init__.py +0 -0
  281. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/benchmarking/baselines/__init__.py +0 -0
  282. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/benchmarking/baselines/openstef4.py +0 -0
  283. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/benchmarking/benchmark_comparison_pipeline.py +0 -0
  284. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/benchmarking/benchmark_pipeline.py +0 -0
  285. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/benchmarking/benchmarks/__init__.py +0 -0
  286. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/benchmarking/benchmarks/liander2024.py +0 -0
  287. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/__init__.py +0 -0
  288. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/base.py +0 -0
  289. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/strict_execution_callback.py +0 -0
  290. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/benchmarking/models/__init__.py +0 -0
  291. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/benchmarking/models/benchmark_target.py +0 -0
  292. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/benchmarking/storage/__init__.py +0 -0
  293. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/benchmarking/storage/base.py +0 -0
  294. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/benchmarking/storage/local_storage.py +0 -0
  295. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/benchmarking/storage/s3_storage.py +0 -0
  296. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/benchmarking/target_provider.py +0 -0
  297. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/evaluation/__init__.py +0 -0
  298. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/evaluation/evaluation_pipeline.py +0 -0
  299. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/evaluation/metric_providers.py +0 -0
  300. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/evaluation/models/__init__.py +0 -0
  301. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/evaluation/models/report.py +0 -0
  302. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/evaluation/models/subset.py +0 -0
  303. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/evaluation/models/window.py +0 -0
  304. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/evaluation/window_iterators.py +0 -0
  305. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/metrics/__init__.py +0 -0
  306. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/metrics/metrics_deterministic.py +0 -0
  307. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/metrics/metrics_helpers.py +0 -0
  308. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/src/openstef_beam/metrics/metrics_probabilistic.py +0 -0
  309. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/__init__.py +0 -0
  310. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/__init__.py +0 -0
  311. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/analysis/__init__.py +0 -0
  312. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/analysis/plots/__init__.py +0 -0
  313. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/analysis/plots/test_forecast_time_series_plotter.py +0 -0
  314. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/analysis/plots/test_grouped_target_metric_plotter.py +0 -0
  315. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/analysis/plots/test_precision_recall_curve_plotter.py +0 -0
  316. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/analysis/plots/test_quantile_calibration_box_plotter.py +0 -0
  317. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/analysis/plots/test_quantile_probability_plotter.py +0 -0
  318. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/analysis/plots/test_summary_table_plotter.py +0 -0
  319. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/analysis/plots/test_windowed_metric_plotter.py +0 -0
  320. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/analysis/test_analysis_pipeline.py +0 -0
  321. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/analysis/visualizations/__init__.py +0 -0
  322. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/analysis/visualizations/conftest.py +0 -0
  323. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/analysis/visualizations/test_grouped_target_metric_visualization.py +0 -0
  324. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/analysis/visualizations/test_precision_recall_curve_visualization.py +0 -0
  325. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/analysis/visualizations/test_quantile_calibration_box_visualization.py +0 -0
  326. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/analysis/visualizations/test_quantile_probability_visualization.py +0 -0
  327. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/analysis/visualizations/test_summary_table_visualization.py +0 -0
  328. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/analysis/visualizations/test_timeseries_visualization.py +0 -0
  329. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/analysis/visualizations/test_windowed_metric_visualization.py +0 -0
  330. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/backtesting/__init__.py +0 -0
  331. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/backtesting/test_backtest_event_generator.py +0 -0
  332. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/backtesting/test_backtest_pipeline.py +0 -0
  333. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/backtesting/test_batch_prediction.py +0 -0
  334. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/benchmarking/__init__.py +0 -0
  335. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/benchmarking/baselines/__init__.py +0 -0
  336. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/benchmarking/baselines/test_openstef4.py +0 -0
  337. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/benchmarking/storage/__init__.py +0 -0
  338. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/benchmarking/storage/test_local_storage.py +0 -0
  339. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/benchmarking/storage/test_s3_storage.py +0 -0
  340. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/benchmarking/test_benchmark_pipeline.py +0 -0
  341. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/benchmarking/test_target_provider.py +0 -0
  342. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/evaluation/__init__.py +0 -0
  343. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/evaluation/models/__init__.py +0 -0
  344. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/evaluation/models/test_window.py +0 -0
  345. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/evaluation/test_evaluation_pipeline.py +0 -0
  346. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/evaluation/test_metric_provider.py +0 -0
  347. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/evaluation/test_window_iterators.py +0 -0
  348. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/metrics/__init__.py +0 -0
  349. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/metrics/test_metrics_deterministic.py +0 -0
  350. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/metrics/test_metrics_helpers.py +0 -0
  351. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/unit/metrics/test_metrics_probabilistic.py +0 -0
  352. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/utils/__init__.py +0 -0
  353. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-beam/tests/utils/mocks.py +0 -0
  354. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/README.md +0 -0
  355. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/__init__.py +0 -0
  356. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/base_model.py +0 -0
  357. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/constants.py +0 -0
  358. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/datasets/__init__.py +0 -0
  359. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/datasets/mixins.py +0 -0
  360. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/datasets/timeseries_dataset.py +0 -0
  361. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/datasets/validated_datasets.py +0 -0
  362. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/datasets/validation.py +0 -0
  363. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/datasets/versioned_timeseries_dataset.py +0 -0
  364. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/exceptions.py +0 -0
  365. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/mixins/__init__.py +0 -0
  366. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/mixins/param_ranges.py +0 -0
  367. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/mixins/predictor.py +0 -0
  368. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/mixins/stateful.py +0 -0
  369. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/mixins/transform.py +0 -0
  370. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/testing.py +0 -0
  371. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/transforms/__init__.py +0 -0
  372. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/transforms/dataset_transforms.py +0 -0
  373. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/types.py +0 -0
  374. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/utils/__init__.py +0 -0
  375. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/utils/datetime.py +0 -0
  376. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/utils/invariants.py +0 -0
  377. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/utils/itertools.py +0 -0
  378. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/utils/multiprocessing.py +0 -0
  379. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/utils/numpy.py +0 -0
  380. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/utils/pandas.py +0 -0
  381. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/src/openstef_core/utils/pydantic.py +0 -0
  382. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/tests/__init__.py +0 -0
  383. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/tests/unit/__init__.py +0 -0
  384. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/tests/unit/datasets/__init__.py +0 -0
  385. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/tests/unit/datasets/test_mixins.py +0 -0
  386. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/tests/unit/datasets/test_timeseries_dataset.py +0 -0
  387. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/tests/unit/datasets/test_validated_datasets.py +0 -0
  388. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/tests/unit/datasets/test_validation.py +0 -0
  389. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/tests/unit/datasets/test_versioned_timeseries_dataset.py +0 -0
  390. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/tests/unit/datasets/utils.py +0 -0
  391. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/tests/unit/mixins/__init__.py +0 -0
  392. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/tests/unit/mixins/test_stateful.py +0 -0
  393. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/tests/unit/mixins/test_transform.py +0 -0
  394. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/tests/unit/test_base_model.py +0 -0
  395. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/tests/unit/test_hyperparams_tuning.py +0 -0
  396. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/tests/unit/test_param_ranges.py +0 -0
  397. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/tests/unit/test_types.py +0 -0
  398. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/tests/unit/transforms/__init__.py +0 -0
  399. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/tests/unit/utils/__init__.py +0 -0
  400. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/tests/unit/utils/test_datetime.py +0 -0
  401. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/tests/unit/utils/test_itertools.py +0 -0
  402. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/tests/unit/utils/test_multiprocessing.py +0 -0
  403. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/tests/unit/utils/test_numpy.py +0 -0
  404. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-core/tests/unit/utils/test_pandas.py +0 -0
  405. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/README.md +0 -0
  406. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/src/openstef_foundation_models/__init__.py +0 -0
  407. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/src/openstef_foundation_models/inference/__init__.py +0 -0
  408. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/src/openstef_foundation_models/inference/backend.py +0 -0
  409. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/src/openstef_foundation_models/inference/onnx_backend.py +0 -0
  410. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/src/openstef_foundation_models/inference/provider_selection.py +0 -0
  411. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/src/openstef_foundation_models/inference/providers.py +0 -0
  412. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/src/openstef_foundation_models/integrations/__init__.py +0 -0
  413. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/src/openstef_foundation_models/integrations/beam.py +0 -0
  414. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/src/openstef_foundation_models/models/__init__.py +0 -0
  415. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/src/openstef_foundation_models/models/catalog.py +0 -0
  416. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/src/openstef_foundation_models/models/checkpoint.py +0 -0
  417. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/src/openstef_foundation_models/models/forecasting/__init__.py +0 -0
  418. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/src/openstef_foundation_models/models/forecasting/chronos2_forecaster.py +0 -0
  419. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/src/openstef_foundation_models/presets/__init__.py +0 -0
  420. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/src/openstef_foundation_models/presets/forecasting_workflow.py +0 -0
  421. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/tests/__init__.py +0 -0
  422. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/tests/integration/__init__.py +0 -0
  423. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/tests/integration/conftest.py +0 -0
  424. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/tests/integration/test_beam_integration.py +0 -0
  425. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/tests/integration/test_chronos2_onnx.py +0 -0
  426. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/tests/unit/__init__.py +0 -0
  427. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/tests/unit/inference/__init__.py +0 -0
  428. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/tests/unit/inference/test_onnx_backend.py +0 -0
  429. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/tests/unit/inference/test_provider_selection.py +0 -0
  430. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/tests/unit/inference/test_providers.py +0 -0
  431. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/tests/unit/integrations/__init__.py +0 -0
  432. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/tests/unit/integrations/test_beam.py +0 -0
  433. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/tests/unit/models/__init__.py +0 -0
  434. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/tests/unit/models/forecasting/__init__.py +0 -0
  435. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/tests/unit/models/forecasting/test_chronos2_forecaster.py +0 -0
  436. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/tests/unit/models/test_catalog.py +0 -0
  437. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/tests/unit/presets/__init__.py +0 -0
  438. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-foundation-models/tests/unit/presets/test_forecasting_workflow.py +0 -0
  439. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/README.md +0 -0
  440. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/src/openstef_meta/__init__.py +0 -0
  441. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/src/openstef_meta/models/__init__.py +0 -0
  442. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/src/openstef_meta/models/ensemble_forecasting_model.py +0 -0
  443. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/__init__.py +0 -0
  444. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/forecast_combiner.py +0 -0
  445. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/learned_weights_combiner.py +0 -0
  446. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/stacking_combiner.py +0 -0
  447. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/src/openstef_meta/presets/__init__.py +0 -0
  448. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/src/openstef_meta/presets/forecasting_workflow.py +0 -0
  449. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/src/openstef_meta/utils/__init__.py +0 -0
  450. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/src/openstef_meta/utils/datasets.py +0 -0
  451. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/tests/integration/__init__.py +0 -0
  452. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/tests/integration/test_ensemble_forecasting_model.py +0 -0
  453. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/tests/unit/integrations/__init__.py +0 -0
  454. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/tests/unit/integrations/test_mlflow_storage_callback_ensemble.py +0 -0
  455. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/tests/unit/models/__init__.py +0 -0
  456. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/tests/unit/models/conftest.py +0 -0
  457. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/tests/unit/models/forecast_combiners/__init__.py +0 -0
  458. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/tests/unit/models/forecast_combiners/conftest.py +0 -0
  459. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/tests/unit/models/forecast_combiners/test_learned_weights_combiner.py +0 -0
  460. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/tests/unit/models/forecast_combiners/test_stacking_combiner.py +0 -0
  461. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/tests/unit/models/forecasting/__init__.py +0 -0
  462. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/tests/unit/models/test_ensemble_forecasting_model.py +0 -0
  463. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/tests/unit/utils/__init__.py +0 -0
  464. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-meta/tests/unit/utils/test_datasets.py +0 -0
  465. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/README.md +0 -0
  466. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/__init__.py +0 -0
  467. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/explainability/__init__.py +0 -0
  468. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/explainability/mixins.py +0 -0
  469. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/explainability/plotters/__init__.py +0 -0
  470. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/explainability/plotters/contributions_plotter.py +0 -0
  471. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/explainability/plotters/feature_importance_plotter.py +0 -0
  472. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/integrations/__init__.py +0 -0
  473. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/integrations/joblib/__init__.py +0 -0
  474. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/integrations/joblib/joblib_model_serializer.py +0 -0
  475. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/integrations/mlflow/__init__.py +0 -0
  476. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/integrations/mlflow/mlflow_storage.py +0 -0
  477. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/integrations/mlflow/mlflow_storage_callback.py +0 -0
  478. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/integrations/optuna/__init__.py +0 -0
  479. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/integrations/optuna/tuner.py +0 -0
  480. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/mixins/__init__.py +0 -0
  481. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/mixins/callbacks.py +0 -0
  482. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/mixins/model_serializer.py +0 -0
  483. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/models/__init__.py +0 -0
  484. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/models/component_splitting/__init__.py +0 -0
  485. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/models/component_splitting/component_splitter.py +0 -0
  486. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/models/component_splitting/constant_component_splitter.py +0 -0
  487. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter.py +0 -0
  488. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter_model/linear_component_splitter_model.z +0 -0
  489. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter_model/linear_component_splitter_model.z.license +0 -0
  490. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/models/component_splitting_model.py +0 -0
  491. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/models/forecasting/__init__.py +0 -0
  492. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/models/forecasting/base_case_forecaster.py +0 -0
  493. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/models/forecasting/constant_quantile_forecaster.py +0 -0
  494. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/models/forecasting/flatliner_forecaster.py +0 -0
  495. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/models/forecasting/forecaster.py +0 -0
  496. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/models/forecasting/gblinear_forecaster.py +0 -0
  497. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/models/forecasting/median_forecaster.py +0 -0
  498. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/models/forecasting/xgboost_forecaster.py +0 -0
  499. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/models/forecasting_model.py +0 -0
  500. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/presets/__init__.py +0 -0
  501. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/presets/forecasting_workflow.py +0 -0
  502. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/testing.py +0 -0
  503. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/__init__.py +0 -0
  504. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/energy_domain/__init__.py +0 -0
  505. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/energy_domain/wind_power_feature_adder.py +0 -0
  506. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/general/__init__.py +0 -0
  507. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/general/dimensionality_reducer.py +0 -0
  508. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/general/empty_feature_remover.py +0 -0
  509. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/general/flagger.py +0 -0
  510. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/general/imputer.py +0 -0
  511. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/general/nan_dropper.py +0 -0
  512. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/general/outlier_handler.py +0 -0
  513. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/general/sample_weighter.py +0 -0
  514. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/general/scaler.py +0 -0
  515. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/general/selector.py +0 -0
  516. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/general/shifter.py +0 -0
  517. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/postprocessing/__init__.py +0 -0
  518. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/postprocessing/confidence_interval_applicator.py +0 -0
  519. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/postprocessing/isotonic_quantile_calibrator.py +0 -0
  520. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/postprocessing/quantile_sorter.py +0 -0
  521. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/time_domain/__init__.py +0 -0
  522. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/time_domain/cyclic_features_adder.py +0 -0
  523. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/time_domain/datetime_features_adder.py +0 -0
  524. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/time_domain/holiday_features_adder.py +0 -0
  525. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/time_domain/lags_adder.py +0 -0
  526. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/time_domain/rolling_aggregates_adder.py +0 -0
  527. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/time_domain/versioned_lags_adder.py +0 -0
  528. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/validation/__init__.py +0 -0
  529. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/validation/completeness_checker.py +0 -0
  530. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/validation/flatline_checker.py +0 -0
  531. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/validation/input_consistency_checker.py +0 -0
  532. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/weather_domain/__init__.py +0 -0
  533. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/weather_domain/atmosphere_derived_features_adder.py +0 -0
  534. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/weather_domain/daylight_feature_adder.py +0 -0
  535. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/transforms/weather_domain/radiation_derived_features_adder.py +0 -0
  536. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/utils/__init__.py +0 -0
  537. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/utils/data_split.py +0 -0
  538. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/utils/evaluation_functions.py +0 -0
  539. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/utils/feature_selection.py +0 -0
  540. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/utils/loss_functions.py +0 -0
  541. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/utils/xgboost.py +0 -0
  542. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/workflows/__init__.py +0 -0
  543. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/workflows/callbacks/__init__.py +0 -0
  544. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/workflows/callbacks/data_save.py +0 -0
  545. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/workflows/callbacks/model_performance_callback.py +0 -0
  546. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/workflows/custom_component_split_workflow.py +0 -0
  547. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/src/openstef_models/workflows/custom_forecasting_workflow.py +0 -0
  548. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/__init__.py +0 -0
  549. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/integration/__init__.py +0 -0
  550. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/integration/test_integration.py +0 -0
  551. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/__init__.py +0 -0
  552. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/explainability/__init__.py +0 -0
  553. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/explainability/plotters/__init__.py +0 -0
  554. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/explainability/plotters/test_contributions_plotter.py +0 -0
  555. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/integrations/__init__.py +0 -0
  556. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/integrations/joblib/__init__.py +0 -0
  557. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/integrations/joblib/test_joblib_model_serializer.py +0 -0
  558. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/integrations/mlflow/__init__.py +0 -0
  559. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/integrations/mlflow/test_mlflow_storage.py +0 -0
  560. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/integrations/mlflow/test_mlflow_storage_callback.py +0 -0
  561. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/integrations/optuna/__init__.py +0 -0
  562. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/integrations/optuna/test_tuner.py +0 -0
  563. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/models/__init__.py +0 -0
  564. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/models/component_splitting/__init__.py +0 -0
  565. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/models/component_splitting/test_constant_component_splitter.py +0 -0
  566. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/models/component_splitting/test_linear_component_splitter.py +0 -0
  567. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/models/forecasting/__init__.py +0 -0
  568. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/models/forecasting/conftest.py +0 -0
  569. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/models/forecasting/test_base_case_forecaster.py +0 -0
  570. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/models/forecasting/test_constant_quantile_forecaster.py +0 -0
  571. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/models/forecasting/test_flatliner_forecaster.py +0 -0
  572. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/models/forecasting/test_gblinear_forecaster.py +0 -0
  573. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/models/forecasting/test_lgbm_forecaster.py +0 -0
  574. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/models/forecasting/test_lgbmlinear_forecaster.py +0 -0
  575. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/models/forecasting/test_median_forecaster.py +0 -0
  576. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/models/forecasting/test_xgboost_forecaster.py +0 -0
  577. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/models/test_forecasting_model.py +0 -0
  578. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/test_example.py +0 -0
  579. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/__init__.py +0 -0
  580. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/energy_domain/__init__.py +0 -0
  581. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/energy_domain/test_wind_power_feature_adder.py +0 -0
  582. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/general/__init__.py +0 -0
  583. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/general/test_dimensionality_reducer.py +0 -0
  584. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/general/test_empty_feature_remover.py +0 -0
  585. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/general/test_flagger.py +0 -0
  586. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/general/test_imputer.py +0 -0
  587. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/general/test_nan_dropper.py +0 -0
  588. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/general/test_outlier_handler.py +0 -0
  589. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/general/test_sample_weighter.py +0 -0
  590. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/general/test_scaler.py +0 -0
  591. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/general/test_selector.py +0 -0
  592. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/general/test_shifter.py +0 -0
  593. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/postprocessing/__init__.py +0 -0
  594. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/postprocessing/test_confidence_interval_applicator.py +0 -0
  595. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/postprocessing/test_isotonic_quantile_calibrator.py +0 -0
  596. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/postprocessing/test_quantile_sorter.py +0 -0
  597. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/time_domain/__init__.py +0 -0
  598. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/time_domain/test_cyclic_features_adder.py +0 -0
  599. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/time_domain/test_datetime_features_adder.py +0 -0
  600. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/time_domain/test_holiday_features_adder.py +0 -0
  601. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/time_domain/test_lags_adder.py +0 -0
  602. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/time_domain/test_rolling_aggregates_adder.py +0 -0
  603. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/time_domain/test_versioned_lags_adder.py +0 -0
  604. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/validation/__init__.py +0 -0
  605. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/validation/test_completeness_checker.py +0 -0
  606. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/validation/test_flatline_checker.py +0 -0
  607. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/validation/test_input_consistency_checker.py +0 -0
  608. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/weather_domain/__init__.py +0 -0
  609. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/weather_domain/test_atmosphere_derived_features_adder.py +0 -0
  610. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/weather_domain/test_daylight_feature_adder.py +0 -0
  611. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/transforms/weather_domain/test_radiation_derived_featuers_adder.py +0 -0
  612. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/utils/__init__.py +0 -0
  613. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/utils/test_data_split.py +0 -0
  614. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/utils/test_feature_selection.py +0 -0
  615. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/utils/test_loss_functions.py +0 -0
  616. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/workflows/__init__.py +0 -0
  617. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/workflows/callbacks/__init__.py +0 -0
  618. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/workflows/callbacks/test_model_performance_callback.py +0 -0
  619. {openstef-4.1.2 → openstef-4.2.2}/packages/openstef-models/tests/unit/workflows/test_custom_forecasting_workflow.py +0 -0
  620. {openstef-4.1.2 → openstef-4.2.2}/poe_tasks.toml +0 -0
  621. {openstef-4.1.2 → openstef-4.2.2}/ruff.toml +0 -0
  622. {openstef-4.1.2 → openstef-4.2.2}/sonar-project.properties +0 -0
  623. {openstef-4.1.2 → openstef-4.2.2}/tools/check_notebook_outputs.py +0 -0
  624. {openstef-4.1.2 → openstef-4.2.2}/tools/reuse-fix.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openstef
3
- Version: 4.1.2
3
+ Version: 4.2.2
4
4
  Summary: Open Short Term Energy forecasting library
5
5
  Project-URL: Documentation, https://openstef.github.io/openstef/index.html
6
6
  Project-URL: Homepage, https://lfenergy.org/projects/openstef/
@@ -16,26 +16,26 @@ Classifier: Programming Language :: Python :: 3 :: Only
16
16
  Classifier: Programming Language :: Python :: 3.12
17
17
  Classifier: Programming Language :: Python :: 3.13
18
18
  Requires-Python: <4.0,>=3.12
19
- Requires-Dist: openstef-core==4.1.2
20
- Requires-Dist: openstef-models[xgb-cpu]==4.1.2
19
+ Requires-Dist: openstef-core==4.2.2
20
+ Requires-Dist: openstef-models[xgb-cpu]==4.2.2
21
21
  Provides-Extra: all
22
- Requires-Dist: openstef-beam[all]==4.1.2; extra == 'all'
23
- Requires-Dist: openstef-core==4.1.2; extra == 'all'
24
- Requires-Dist: openstef-foundation-models[cpu]==4.1.2; extra == 'all'
25
- Requires-Dist: openstef-meta==4.1.2; extra == 'all'
26
- Requires-Dist: openstef-models[xgb-cpu]==4.1.2; extra == 'all'
22
+ Requires-Dist: openstef-beam[all]==4.2.2; extra == 'all'
23
+ Requires-Dist: openstef-core==4.2.2; extra == 'all'
24
+ Requires-Dist: openstef-foundation-models[cpu]==4.2.2; extra == 'all'
25
+ Requires-Dist: openstef-meta==4.2.2; extra == 'all'
26
+ Requires-Dist: openstef-models[xgb-cpu]==4.2.2; extra == 'all'
27
27
  Provides-Extra: beam
28
28
  Requires-Dist: huggingface-hub>=0.35.3; extra == 'beam'
29
- Requires-Dist: openstef-beam==4.1.2; extra == 'beam'
29
+ Requires-Dist: openstef-beam==4.2.2; extra == 'beam'
30
30
  Provides-Extra: core
31
- Requires-Dist: openstef-core==4.1.2; extra == 'core'
31
+ Requires-Dist: openstef-core==4.2.2; extra == 'core'
32
32
  Provides-Extra: foundation-models
33
- Requires-Dist: openstef-foundation-models[cpu]==4.1.2; extra == 'foundation-models'
33
+ Requires-Dist: openstef-foundation-models[cpu]==4.2.2; extra == 'foundation-models'
34
34
  Provides-Extra: meta
35
- Requires-Dist: openstef-meta==4.1.2; extra == 'meta'
35
+ Requires-Dist: openstef-meta==4.2.2; extra == 'meta'
36
36
  Provides-Extra: models
37
- Requires-Dist: openstef-meta==4.1.2; extra == 'models'
38
- Requires-Dist: openstef-models[xgb-cpu]==4.1.2; extra == 'models'
37
+ Requires-Dist: openstef-meta==4.2.2; extra == 'models'
38
+ Requires-Dist: openstef-models[xgb-cpu]==4.2.2; extra == 'models'
39
39
  Description-Content-Type: text/markdown
40
40
 
41
41
  <!--
@@ -0,0 +1,56 @@
1
+ # SPDX-FileCopyrightText: 2026 Contributors to the OpenSTEF project <openstef@lfenergy.org>
2
+ #
3
+ # SPDX-License-Identifier: MPL-2.0
4
+
5
+ # docs/automation.yml — last-match-wins mode rules
6
+ #
7
+ # Determines how the pipeline treats each docs file.
8
+ # Rules are evaluated in order; the LAST matching rule wins.
9
+ #
10
+ # Modes:
11
+ # manual — never touch (human-owned pages: index, api, contribute)
12
+ # edit — patch on relevant changes (existing content-rich pages)
13
+ # regenerate — always rebuild from scratch (requires a brief in pages.yml)
14
+
15
+ rules:
16
+ # Default: all RST and Markdown files are editable
17
+ - pattern: "**/*.rst"
18
+ mode: edit
19
+ - pattern: "**/*.md"
20
+ mode: edit
21
+
22
+ # README is explicitly governed — change mode here to edit/regenerate/manual
23
+ - pattern: "README.md"
24
+ mode: edit
25
+
26
+ # Notebooks are human-authored — never touch
27
+ - pattern: "**/*.ipynb"
28
+ mode: manual
29
+
30
+ # API reference is auto-generated separately — never touch
31
+ - pattern: "docs/source/api/**"
32
+ mode: manual
33
+
34
+ # Contribute section is human-owned — never touch
35
+ - pattern: "docs/source/contribute/**"
36
+ mode: manual
37
+
38
+ # Top-level index is human-owned — never touch
39
+ - pattern: "docs/source/index.rst"
40
+ mode: manual
41
+
42
+ # Sphinx templates are internal build files — never touch
43
+ - pattern: "docs/source/_templates/**"
44
+ mode: manual
45
+
46
+ # Section index stubs are navigation scaffolding — human-owned
47
+ - pattern: "docs/source/**/index.rst"
48
+ mode: manual
49
+
50
+ # Project meta pages (license, maintainers, committee, etc.) are static — never touch
51
+ - pattern: "docs/source/project/**"
52
+ mode: manual
53
+
54
+ # # Installation guide is always regenerated from pyproject.toml
55
+ # - pattern: "docs/source/user_guide/getting_started/installation.rst"
56
+ # mode: regenerate
@@ -0,0 +1,310 @@
1
+ # SPDX-FileCopyrightText: 2026 Contributors to the OpenSTEF project <openstef@lfenergy.org>
2
+ #
3
+ # SPDX-License-Identifier: MPL-2.0
4
+
5
+ # docs/pages.yml — catalog of pages the pipeline writes
6
+ #
7
+ # Every page the pipeline is allowed to create or edit must be listed here.
8
+ # Pages not listed are treated as untracked (soft flag, not blocked).
9
+ # Pages listed as manual in automation.yml are excluded automatically.
10
+ #
11
+ # Fields:
12
+ # path — repo-relative path to the RST file
13
+ # title — canonical page title (used to normalise the RST heading)
14
+ # page_type — sub_page | section_index | standalone (default: sub_page)
15
+ # purpose — what this page should explain (passed to LLM as generation brief)
16
+ # diagrams — list of Mermaid diagram descriptions to auto-generate (optional)
17
+
18
+ pages:
19
+ # ── Repository README ──────────────────────────────────────────────────────
20
+
21
+ - path: README.md
22
+ title: OpenSTEF
23
+ page_type: standalone
24
+ purpose: >
25
+ The front door of the project. Keep it short and scannable (under two
26
+ minutes to read). Required sections in order: (1) Logo at the top.
27
+ (2) Status badges (build, license, version). (3) What is OpenSTEF —
28
+ max 4 sentences, link to the OpenSTEF website. (4) Brief monorepo
29
+ overview — how the repository is structured. (5) How to Install —
30
+ copy-paste-ready pip commands. (6) Examples — link to the examples/
31
+ folder. (7) License — state license, link to LICENSE file. (8)
32
+ Contributing — link to .github contributing pages, do not duplicate
33
+ inline. (9) Citations — BibTeX entry or DOI link. (10) Contact —
34
+ link to support page. Design principle: link out, do not duplicate
35
+ content that lives in the docs.
36
+
37
+ # ── Getting Started ────────────────────────────────────────────────────────
38
+
39
+ - path: docs/source/user_guide/getting_started/migration.rst
40
+ title: Migrating from OpenSTEF 3
41
+ page_type: sub_page
42
+ purpose: >
43
+ Help v3 users understand what changed and how to adapt their code.
44
+ v3 was a single `openstef` package with pipeline/task API plus `openstef-dbc`
45
+ for database access. v4 is a multi-package workspace that separates concerns.
46
+ Cover: (1) Why the split happened: core types vs models vs evaluation vs
47
+ orchestration are now independent. (2) Configuration: `PredictionJobDataClass`
48
+ became `ForecastingWorkflowConfig` (a full Pydantic model). Show a before/after
49
+ snippet. (3) Data: raw DataFrames became `TimeSeriesDataset`. (4) API: the
50
+ pipeline/task pattern became Workflows where users own I/O. (5) Database
51
+ connector: `openstef-dbc` has no v4 equivalent — users write their own data
52
+ integration. (6) Model type renames: 'xgb' → 'xgboost', 'lgb' → 'lgbm'.
53
+ (7) A migration checklist. Package mapping: openstef (core ML) → openstef-models,
54
+ openstef (data classes) → openstef-core, openstef (evaluation) → openstef-beam,
55
+ (new) → openstef-meta, openstef-dbc → no equivalent.
56
+ diagrams:
57
+ - >
58
+ Left-to-right graph showing v3 monolith splitting into v4 packages.
59
+ The v3 'openstef' box has arrows to openstef-models (Core ML), openstef-core
60
+ (Data Classes), openstef-beam (Evaluation), openstef-meta (New).
61
+ A separate 'openstef-dbc' box has an arrow to 'Your own I/O layer'
62
+ with a note 'v4 does not include a database connector'.
63
+
64
+ - path: docs/source/user_guide/getting_started/installation.rst
65
+ title: Installation
66
+ page_type: sub_page
67
+ purpose: >
68
+ Step-by-step installation guide generated from pyproject.toml.
69
+ pip commands for each package (openstef-core, openstef-models, openstef-beam,
70
+ openstef-meta), optional extras, and a quick-start snippet showing the
71
+ minimal working import. Note the meta-package openstef installs all sub-packages.
72
+
73
+ - path: docs/source/user_guide/getting_started/quick_start_tutorial.ipynb
74
+ title: Quick Start
75
+ page_type: sub_page
76
+ purpose: >
77
+ Train your first model and make a forecast in under 5 minutes.
78
+ This notebook is human-authored and managed manually — listed here
79
+ so neighbouring pages know it exists and can reference it without
80
+ duplicating its content.
81
+
82
+ - path: docs/source/user_guide/getting_started/foundation_model_forecasting_quickstart.ipynb
83
+ title: Foundation Model Quickstart
84
+ page_type: sub_page
85
+ purpose: >
86
+ Forecast with a pretrained foundation model in a few minutes — no
87
+ per-target training required. This notebook is human-authored and
88
+ managed manually — listed here so neighbouring pages know it exists
89
+ and can reference it without duplicating its content.
90
+
91
+ # ── Concepts ───────────────────────────────────────────────────────────────
92
+
93
+ - path: docs/source/user_guide/concepts/intro_to_energy_forecasting.rst
94
+ title: Intro to Energy Forecasting
95
+ page_type: sub_page
96
+ purpose: >
97
+ Context for the rest of the docs. What is short-term load forecasting and
98
+ why do grid operators need it? What input signals matter (load history, weather
99
+ forecasts, calendar features, market prices) and why each contributes. What
100
+ 'horizon' means (15 minutes to 48 hours) and why accuracy degrades with lead time.
101
+ Practical difficulties: unpredictable consumers, aggregation level effects,
102
+ capacity changes. Keep short and focused. No diagram needed.
103
+
104
+ - path: docs/source/user_guide/concepts/models.rst
105
+ title: Models
106
+ page_type: sub_page
107
+ purpose: >
108
+ Overview of available models with selection guidance. Explain the containment
109
+ hierarchy: Forecaster (pure ML predictor) → ForecastingModel (adds pre/post
110
+ TransformPipelines) → CustomForecastingWorkflow (adds callbacks, model_id,
111
+ lifecycle) → Presets (opinionated factories via ForecastingWorkflowConfig).
112
+ Then a model-selection comparison table: Ensemble (preferred, tree+linear),
113
+ GBLinear (congestion management, extrapolation), LGBMLinear (balance),
114
+ XGBoost/LGBM (general-purpose), MedianForecaster (stable loads baseline),
115
+ FlatlinerForecaster and ConstantQuantileForecaster (fallback). All support
116
+ quantile forecasting. Link to API reference per model.
117
+ diagrams:
118
+ - >
119
+ Nested boxes showing containment (innermost to outermost): Forecaster
120
+ (pure ML predictor, e.g., XGBoostForecaster) is innermost.
121
+ ForecastingModel wraps Forecaster and adds preprocessing and postprocessing
122
+ TransformPipelines. CustomForecastingWorkflow wraps ForecastingModel and
123
+ adds callbacks, model_id, and lifecycle management. Outside, Presets
124
+ (ForecastingWorkflowConfig + create_forecasting_workflow factory) construct
125
+ a fully-wired Workflow from configuration. No data flow arrows — this is
126
+ purely about what-contains-what.
127
+
128
+ - path: docs/source/user_guide/concepts/metalearning.rst
129
+ title: Metalearning
130
+ page_type: sub_page
131
+ purpose: >
132
+ Explain metalearning as implemented in openstef-meta. Key insight: ensemble
133
+ models combine complementary strengths — tree-based models capture non-linear
134
+ patterns but cannot extrapolate; linear models can extrapolate but not learn
135
+ non-linear patterns. Architecture: EnsembleForecastingModel fans out to N
136
+ parallel per-forecaster pipelines. ForecastCombiner produces the final forecast.
137
+ Two strategies: WeightsCombiner (LGBM classifier per quantile, soft probability
138
+ weighting) and StackingCombiner (meta-regressor takes base predictions as input).
139
+ Link to ensemble_forecasting tutorial.
140
+ diagrams:
141
+ - >
142
+ EnsembleForecastingModel prediction flow: TimeSeriesDataset → shared
143
+ preprocessing TransformPipeline → fans out to N parallel paths
144
+ [per-forecaster preprocessing → Forecaster] for each base model →
145
+ merge into EnsembleForecastDataset → ForecastCombiner →
146
+ final ForecastDataset.
147
+ - >
148
+ Two formula-style diagrams side by side. WeightsCombiner: base predictions →
149
+ LGBM classifier per quantile → predict_proba → soft probability weights →
150
+ weighted average = final forecast. StackingCombiner: base predictions per
151
+ quantile (as input features) → meta-regressor → direct final quantile
152
+ prediction.
153
+
154
+ - path: docs/source/user_guide/concepts/beam.rst
155
+ title: BEAM
156
+ page_type: sub_page
157
+ purpose: >
158
+ Explain BEAM (Backtesting, Evaluation, Analysis, and Metrics). BenchmarkPipeline
159
+ orchestrates sequential stages per target: (A) BacktestPipeline steps through
160
+ data via BacktestEventGenerator, using BacktestForecasterMixin with
161
+ RestrictedHorizonVersionedTimeSeries to prevent data leakage. Output:
162
+ predictions as TimeSeriesDataset. (B) EvaluationPipeline segments by
163
+ available_at x lead_time x time_windows, computes configurable metrics.
164
+ Output: EvaluationReport. (C) AnalysisPipeline produces HTML visualisations.
165
+ BenchmarkStorage persists outputs. Value: fair, reproducible model comparison.
166
+ Link to backtesting guide for practical usage.
167
+ diagrams:
168
+ - >
169
+ BenchmarkPipeline as outer orchestrator containing the sequential per-target
170
+ flow: TargetProvider feeds data → ForecasterFactory creates BacktestForecasterMixin
171
+ → BacktestPipeline produces predictions (TimeSeriesDataset) →
172
+ EvaluationPipeline produces EvaluationReport → AnalysisPipeline produces
173
+ visualisations (AnalysisOutput). BenchmarkStorage persists after each stage.
174
+
175
+ - path: docs/source/user_guide/concepts/component_splitting.rst
176
+ title: Component Splitting
177
+ page_type: sub_page
178
+ purpose: >
179
+ Explain what component splitting is and why operators need it. A grid operator
180
+ sees aggregated load but needs to understand the constituents (solar, wind,
181
+ base industrial, residential). Component splitting decomposes an aggregated
182
+ forecast into constituents using known profiles or ratios. Critical: this does
183
+ NOT improve forecast accuracy — the forecast is made on aggregated load first,
184
+ then decomposed. Use cases: grid planning, congestion analysis, understanding
185
+ generation mix, regulatory reporting.
186
+
187
+ - path: docs/source/user_guide/concepts/foundation_models.rst
188
+ title: Foundation Models
189
+ page_type: sub_page
190
+ purpose: >
191
+ Zero-shot pretrained forecasting on an ONNX runtime — no per-target
192
+ training required. Explain what a foundation model is in the OpenSTEF
193
+ context, how the ONNX runtime is used for inference, what fields control model
194
+ selection and execution providers (CPU, CUDA, CoreML), and how batching works
195
+ across multiple targets. Cover the tradeoff vs trained models: faster
196
+ deployment, no training data needed, but less adaptation to local patterns.
197
+
198
+ # ── Guides ─────────────────────────────────────────────────────────────────
199
+
200
+ - path: docs/source/user_guide/guides/forecasting.rst
201
+ title: Forecasting
202
+ page_type: sub_page
203
+ purpose: >
204
+ The central how-to-forecast page — architecture and design decisions, not
205
+ runnable code (tutorials cover that). What OpenSTEF needs: datetime-indexed
206
+ data with a 'load' column, weather features, declared sample_interval.
207
+ What it returns: ForecastDataset with point forecast and optional quantiles.
208
+ Recommend Presets for production, Workflow for research. Data requirements:
209
+ expected columns, time zones, sample_interval. Fit/predict lifecycle at
210
+ Workflow level: fit (preprocessing → forecaster.fit → callbacks),
211
+ predict (preprocessing → forecaster.predict → postprocessing → callbacks).
212
+ Model reuse: if a recent model exists in storage, workflow skips retraining.
213
+ Link to forecasting_quickstart and custom_pipeline tutorials.
214
+ diagrams:
215
+ - >
216
+ Two parallel flows. Fit path: Historical TimeSeriesDataset →
217
+ preprocessing TransformPipeline (validation → feature engineering →
218
+ standardisation) → ForecastInputDataset → Forecaster.fit() → trained model
219
+ → callbacks (MLflow storage). Predict path: New TimeSeriesDataset → same
220
+ preprocessing → ForecastInputDataset → Forecaster.predict() → raw
221
+ ForecastDataset → postprocessing TransformPipeline (quantile sorting,
222
+ confidence intervals) → final ForecastDataset → callbacks (logging).
223
+ Workflow wraps both paths.
224
+
225
+ - path: docs/source/user_guide/guides/feature_engineering_tutorial.ipynb
226
+ title: Feature Engineering
227
+ page_type: sub_page
228
+ purpose: >
229
+ Create, select, and manage features for your models.
230
+
231
+ - path: docs/source/user_guide/guides/datasets_tutorial.ipynb
232
+ title: Datasets
233
+ page_type: sub_page
234
+ purpose: >
235
+ Prepare and validate input data for training and prediction.
236
+
237
+ - path: docs/source/user_guide/guides/probabilistic_forecasting.rst
238
+ title: Probabilistic Forecasting
239
+ page_type: sub_page
240
+ purpose: >
241
+ Why: a point forecast is not enough — grid operators need uncertainty ranges
242
+ for reserve planning, congestion management, and market bidding. How OpenSTEF
243
+ provides this: all models support quantile forecasting via the quantiles field
244
+ on ForecastingWorkflowConfig. XGBoost uses pinball loss, GBLinear uses
245
+ reg:quantileerror, LGBM uses MultiQuantileRegressor. Isotonic calibration:
246
+ IsotonicQuantileCalibrator is a postprocessing Transform that maps predicted
247
+ values to observed quantile levels using sklearn IsotonicRegression, restoring
248
+ proper coverage while enforcing monotonicity. Link to quantile_calibration
249
+ tutorial and IsotonicQuantileCalibrator API reference.
250
+
251
+ - path: docs/source/user_guide/guides/reliability_fallback.rst
252
+ title: Reliability and Fallback
253
+ page_type: sub_page
254
+ purpose: >
255
+ Operational reality: data feeds fail — meters flatline, weather APIs go down,
256
+ data arrives late. The system must detect and respond gracefully. Validation
257
+ transforms: FlatlineChecker (configurable via flatliner_threshold,
258
+ detect_non_zero_flatliner), CompletenessChecker (completeness_threshold).
259
+ Fallback strategies: FlatlinerForecaster (constant prediction on flatline),
260
+ ConstantQuantileForecaster (minimal forecast on low data availability,
261
+ configured via completeness_threshold_target_constant_quantile). All configured
262
+ in ForecastingWorkflowConfig; the preset factory switches automatically based
263
+ on data quality checks.
264
+
265
+ - path: docs/source/user_guide/guides/backtesting.ipynb
266
+ title: Backtesting
267
+ page_type: sub_page
268
+ purpose: >
269
+ Practical guide: how to evaluate your model on historical data before trusting
270
+ it in production. Configure BacktestForecasterMixin (RestrictedHorizonVersionedTimeSeries
271
+ prevents lookahead). Run BacktestPipeline stepping through history via
272
+ BacktestEventGenerator (BacktestConfig with predict_interval and train_interval).
273
+ Then EvaluationPipeline segments by available_at x lead_time x time_windows.
274
+ Interpreting results: per-window vs aggregated metrics, what good looks like
275
+ for energy forecasting. Link to BEAM concept page and backtesting_quickstart
276
+ tutorial.
277
+
278
+ - path: docs/source/user_guide/guides/deployment.rst
279
+ title: Deployment
280
+ page_type: sub_page
281
+ purpose: >
282
+ How the library works in different deployment contexts without prescribing a
283
+ single approach. OpenSTEF is a pure ML library with no built-in scheduling,
284
+ orchestration, or data storage. Three common strategies: (1) Scheduled notebooks
285
+ (training + forecasting notebooks with data integration, run on Sagemaker /
286
+ Databricks). (2) DAG-based orchestration (Airflow, Dagster, Prefect — separate
287
+ data integration, training, prediction stages). (3) Queued execution (per-location
288
+ tasks dispatched to workers, optimised for large-scale operations). Data sources:
289
+ link Open-Meteo for weather (free, global), KNMI for NL-specific weather. Model
290
+ storage: MLflow model registry via MLFlowStorageCallback handles versioning and
291
+ reuse. Storage is pluggable — users implement custom callbacks. OpenSTEF is
292
+ modular: custom callbacks, storage backends, and integration layers are
293
+ encouraged.
294
+
295
+ - path: docs/source/user_guide/guides/foundation_model_forecasting.ipynb
296
+ title: Foundation Model Forecasting
297
+ page_type: sub_page
298
+ purpose: >
299
+ Checkpoints, execution providers for your hardware, batching, and
300
+ backtesting with a pretrained foundation model.
301
+
302
+ - path: docs/source/user_guide/logging.rst
303
+ title: Logging
304
+ page_type: sub_page
305
+ purpose: >
306
+ How to configure logging for OpenSTEF applications. Cover the default
307
+ NullHandler behaviour, the logger naming hierarchy and what each level
308
+ emits, common configuration patterns for development and production
309
+ (including structured JSON output), and troubleshooting tips for missing
310
+ or excessive output.
@@ -7,7 +7,7 @@ requires = [ "hatchling" ]
7
7
 
8
8
  [project]
9
9
  name = "openstef-beam"
10
- version = "4.1.2"
10
+ version = "4.2.2"
11
11
  description = "Backtesting, Evaluation, Analysis and Metrics (BEAM) library for OpenSTEF"
12
12
  readme = "README.md"
13
13
  keywords = [ "energy", "forecasting", "machinelearning" ]
@@ -7,7 +7,7 @@ requires = [ "hatchling" ]
7
7
 
8
8
  [project]
9
9
  name = "openstef-core"
10
- version = "4.1.2"
10
+ version = "4.2.2"
11
11
  description = "Core functionality for OpenSTEF, a framework for short-term energy forecasting."
12
12
  readme = "README.md"
13
13
  keywords = [ "energy", "forecasting", "machinelearning" ]
@@ -7,7 +7,7 @@ requires = [ "hatchling" ]
7
7
 
8
8
  [project]
9
9
  name = "openstef-foundation-models"
10
- version = "4.1.2"
10
+ version = "4.2.2"
11
11
  description = "Foundation model support for OpenSTEF"
12
12
  readme = "README.md"
13
13
  keywords = [ "energy", "forecasting", "foundationmodels", "machinelearning", "onnx" ]
@@ -7,7 +7,7 @@ requires = [ "hatchling" ]
7
7
 
8
8
  [project]
9
9
  name = "openstef-meta"
10
- version = "4.1.2"
10
+ version = "4.2.2"
11
11
  description = "Meta models for OpenSTEF"
12
12
  readme = "README.md"
13
13
  keywords = [ "energy", "forecasting", "machinelearning" ]
@@ -7,7 +7,7 @@ requires = [ "hatchling" ]
7
7
 
8
8
  [project]
9
9
  name = "openstef-models"
10
- version = "4.1.2"
10
+ version = "4.2.2"
11
11
  description = "Core models for OpenSTEF"
12
12
  readme = "README.md"
13
13
  keywords = [ "energy", "forecasting", "machinelearning" ]
@@ -111,6 +111,12 @@ class LGBMHyperParams(HyperParams):
111
111
  description="Fraction of features used when constructing each tree. Range: (0,1]",
112
112
  )
113
113
 
114
+ # Early Stopping
115
+ early_stopping_rounds: int | None = Field(
116
+ default=None,
117
+ description="Training will stop if performance doesn't improve for this many rounds. Requires validation data.",
118
+ )
119
+
114
120
  @classmethod
115
121
  def forecaster_class(cls) -> "type[LGBMForecaster]":
116
122
  """Create a LightGBM forecaster instance from this configuration.
@@ -184,10 +190,6 @@ class LGBMForecaster(Forecaster, ExplainableForecaster, ContributionsMixin):
184
190
  alias="seed",
185
191
  description="Random seed for reproducibility.",
186
192
  )
187
- early_stopping_rounds: int | None = Field(
188
- default=None,
189
- description="Training stops if performance doesn't improve for this many rounds.",
190
- )
191
193
 
192
194
  _lgbm_model: MultiQuantileRegressor = PrivateAttr()
193
195
 
@@ -229,7 +231,7 @@ class LGBMForecaster(Forecaster, ExplainableForecaster, ContributionsMixin):
229
231
  "colsample_bytree": self.hyperparams.colsample_bytree,
230
232
  # General parameters
231
233
  "random_state": self.random_state,
232
- "early_stopping_rounds": self.early_stopping_rounds,
234
+ "early_stopping_rounds": self.hyperparams.early_stopping_rounds,
233
235
  "verbosity": self.verbosity,
234
236
  "n_jobs": self.n_jobs,
235
237
  }
@@ -111,6 +111,12 @@ class LGBMLinearHyperParams(HyperParams):
111
111
  description="Fraction of features used when constructing each tree. Range: (0,1]",
112
112
  )
113
113
 
114
+ # Early Stopping
115
+ early_stopping_rounds: int | None = Field(
116
+ default=None,
117
+ description="Training will stop if performance doesn't improve for this many rounds. Requires validation data.",
118
+ )
119
+
114
120
  @classmethod
115
121
  def forecaster_class(cls) -> "type[LGBMLinearForecaster]":
116
122
  """Get forecaster class for these hyperparams.
@@ -185,10 +191,6 @@ class LGBMLinearForecaster(Forecaster, ExplainableForecaster, ContributionsMixin
185
191
  alias="seed",
186
192
  description="Random seed for reproducibility.",
187
193
  )
188
- early_stopping_rounds: int | None = Field(
189
- default=None,
190
- description="Training stops if performance doesn't improve for this many rounds.",
191
- )
192
194
 
193
195
  _lgbmlinear_model: MultiQuantileRegressor = PrivateAttr()
194
196
 
@@ -230,7 +232,7 @@ class LGBMLinearForecaster(Forecaster, ExplainableForecaster, ContributionsMixin
230
232
  "colsample_bytree": self.hyperparams.colsample_bytree,
231
233
  # General parameters
232
234
  "random_state": self.random_state,
233
- "early_stopping_rounds": self.early_stopping_rounds,
235
+ "early_stopping_rounds": self.hyperparams.early_stopping_rounds,
234
236
  "verbosity": self.verbosity,
235
237
  "n_jobs": self.n_jobs,
236
238
  }
@@ -84,6 +84,9 @@ class MultiQuantileRegressor(BaseEstimator, RegressorMixin):
84
84
  """
85
85
  # Pass model-specific eval arguments
86
86
  kwargs = {}
87
+
88
+ x_array = np.asarray(X)
89
+
87
90
  for model in self._models:
88
91
  # Check if early stopping is supported
89
92
  # Check that eval_set is supported
@@ -91,21 +94,20 @@ class MultiQuantileRegressor(BaseEstimator, RegressorMixin):
91
94
  model.set_params(early_stopping_rounds=None)
92
95
 
93
96
  if eval_set is not None and self.learner_eval_sample_weight_param is not None:
97
+ kwargs["eval_set"] = [
98
+ (x_array if eval_x is X else np.asarray(eval_x), eval_y) for eval_x, eval_y in eval_set
99
+ ]
94
100
  kwargs[self.learner_eval_sample_weight_param] = eval_sample_weight
95
-
96
- if "early_stopping_rounds" in self.hyperparams and self.learner_eval_sample_weight_param is not None:
97
- model.set_params(early_stopping_rounds=self.hyperparams["early_stopping_rounds"])
101
+ if "early_stopping_rounds" in self.hyperparams:
102
+ model.set_params(early_stopping_rounds=self.hyperparams["early_stopping_rounds"])
98
103
 
99
104
  if feature_name:
100
105
  self.model_feature_names = feature_name
101
106
  else:
102
107
  self.model_feature_names = []
103
108
 
104
- if eval_sample_weight is not None and self.learner_eval_sample_weight_param:
105
- kwargs[self.learner_eval_sample_weight_param] = eval_sample_weight
106
-
107
109
  model.fit( # type: ignore
108
- X=np.asarray(X),
110
+ X=x_array,
109
111
  y=y,
110
112
  sample_weight=sample_weight,
111
113
  **kwargs,
@@ -117,3 +117,28 @@ def test_is_fitted_true_after_fit(dataset: tuple[pd.DataFrame, pd.Series], basel
117
117
 
118
118
  # Assert
119
119
  assert model.is_fitted
120
+
121
+
122
+ def test_fit_forwards_eval_set_for_early_stopping_lgbm(dataset: tuple[pd.DataFrame, pd.Series]):
123
+ # Arrange
124
+ quantiles = [Quantile(0.1), Quantile(0.5), Quantile(0.9)]
125
+ early_stopping_rounds = 3
126
+ X, y = dataset
127
+ y = y.to_numpy()
128
+ X_train, y_train = X.iloc[:80], y[:80] # noqa: N806
129
+ X_val, y_val = X.iloc[80:], y[80:] # noqa: N806
130
+ model = MultiQuantileRegressor(
131
+ base_learner=LGBMRegressor,
132
+ quantile_param="alpha",
133
+ quantiles=quantiles,
134
+ hyperparams={"objective": "quantile", "n_estimators": 10, "early_stopping_rounds": early_stopping_rounds},
135
+ )
136
+
137
+ # Act
138
+ model.fit(X_train, y_train, eval_set=[(X_train, y_train), (X_val, y_val)])
139
+
140
+ # Assert
141
+ for estimator in model.models:
142
+ assert isinstance(estimator, LGBMRegressor)
143
+ assert estimator.get_params()["early_stopping_rounds"] == early_stopping_rounds
144
+ assert estimator.evals_result_
@@ -7,7 +7,7 @@ requires = [ "hatchling" ]
7
7
 
8
8
  [project]
9
9
  name = "openstef"
10
- version = "4.1.2"
10
+ version = "4.2.2"
11
11
  description = "Open Short Term Energy forecasting library"
12
12
  readme = "README.md"
13
13
  keywords = [ "energy", "forecasting", "machinelearning" ]
@@ -24,32 +24,32 @@ classifiers = [
24
24
  "Programming Language :: Python :: 3.13",
25
25
  ]
26
26
  dependencies = [
27
- "openstef-core==4.1.2",
28
- "openstef-models[xgb-cpu]==4.1.2",
27
+ "openstef-core==4.2.2",
28
+ "openstef-models[xgb-cpu]==4.2.2",
29
29
  ]
30
30
  optional-dependencies.all = [
31
- "openstef-beam[all]==4.1.2",
32
- "openstef-core==4.1.2",
33
- "openstef-foundation-models[cpu]==4.1.2",
34
- "openstef-meta==4.1.2",
35
- "openstef-models[xgb-cpu]==4.1.2",
31
+ "openstef-beam[all]==4.2.2",
32
+ "openstef-core==4.2.2",
33
+ "openstef-foundation-models[cpu]==4.2.2",
34
+ "openstef-meta==4.2.2",
35
+ "openstef-models[xgb-cpu]==4.2.2",
36
36
  ]
37
37
  optional-dependencies.beam = [
38
38
  "huggingface-hub>=0.35.3",
39
- "openstef-beam==4.1.2",
39
+ "openstef-beam==4.2.2",
40
40
  ]
41
41
  optional-dependencies.foundation-models = [
42
- "openstef-foundation-models[cpu]==4.1.2",
42
+ "openstef-foundation-models[cpu]==4.2.2",
43
43
  ]
44
44
  optional-dependencies.meta = [
45
- "openstef-meta==4.1.2",
45
+ "openstef-meta==4.2.2",
46
46
  ]
47
47
  optional-dependencies.models = [
48
- "openstef-meta==4.1.2",
49
- "openstef-models[xgb-cpu]==4.1.2",
48
+ "openstef-meta==4.2.2",
49
+ "openstef-models[xgb-cpu]==4.2.2",
50
50
  ]
51
51
  optional-dependencies.core = [
52
- "openstef-core==4.1.2",
52
+ "openstef-core==4.2.2",
53
53
  ]
54
54
  urls.Documentation = "https://openstef.github.io/openstef/index.html"
55
55
  urls.Homepage = "https://lfenergy.org/projects/openstef/"