openstef 4.0.0.dev1__tar.gz → 4.0.1__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 (864) hide show
  1. openstef-4.0.1/.github/CODEOWNERS +7 -0
  2. openstef-4.0.1/.github/CODE_OF_CONDUCT.md +72 -0
  3. openstef-4.0.1/.github/CONTRIBUTING.md +39 -0
  4. openstef-4.0.1/.github/ISSUE_TEMPLATE/openstef-4-0-project-story.md +47 -0
  5. openstef-4.0.1/.github/dependabot.yml +63 -0
  6. openstef-4.0.1/.github/pr-labeler.yml +7 -0
  7. openstef-4.0.1/.github/workflows/_job_quality_check.yaml +68 -0
  8. openstef-4.0.1/.github/workflows/check.yaml +21 -0
  9. openstef-4.0.1/.github/workflows/citations.yaml +41 -0
  10. openstef-4.0.1/.github/workflows/docs.yaml +89 -0
  11. openstef-4.0.1/.github/workflows/pr-labeler.yaml +21 -0
  12. openstef-4.0.1/.github/workflows/release-dev.yaml +65 -0
  13. openstef-4.0.1/.github/workflows/release-v4.yaml +83 -0
  14. openstef-4.0.1/.gitignore +146 -0
  15. openstef-4.0.1/CITATION.cff +63 -0
  16. openstef-4.0.1/COMMITTERS.md +9 -0
  17. openstef-4.0.1/PKG-INFO +154 -0
  18. openstef-4.0.1/README.md +117 -0
  19. openstef-4.0.1/REUSE.toml +21 -0
  20. openstef-4.0.1/THIRD_PARTY_LICENSES.md +1291 -0
  21. openstef-4.0.1/docs/.gitkeep +3 -0
  22. openstef-4.0.1/docs/autosummary_cache.py +132 -0
  23. openstef-4.0.1/docs/autosummary_helpers.py +40 -0
  24. openstef-4.0.1/docs/pyproject.toml +48 -0
  25. openstef-4.0.1/docs/source/_figures/generate_concept_figures.py +351 -0
  26. openstef-4.0.1/docs/source/_figures/generate_guide_figures.py +272 -0
  27. openstef-4.0.1/docs/source/_static/css/custom.css +24 -0
  28. openstef-4.0.1/docs/source/_static/versions.json.license +3 -0
  29. openstef-4.0.1/docs/source/_templates/custom_class.rst +13 -0
  30. openstef-4.0.1/docs/source/_templates/custom_class_noindex.rst +14 -0
  31. openstef-4.0.1/docs/source/_templates/custom_function.rst +10 -0
  32. openstef-4.0.1/docs/source/_templates/module_overview.rst +71 -0
  33. openstef-4.0.1/docs/source/_templates/package_overview.rst +100 -0
  34. openstef-4.0.1/docs/source/api/beam.rst +23 -0
  35. openstef-4.0.1/docs/source/api/core.rst +26 -0
  36. openstef-4.0.1/docs/source/api/index.rst +102 -0
  37. openstef-4.0.1/docs/source/api/meta.rst +21 -0
  38. openstef-4.0.1/docs/source/api/models.rst +26 -0
  39. openstef-4.0.1/docs/source/conf.py +460 -0
  40. openstef-4.0.1/docs/source/contribute/_getting_help.rst +15 -0
  41. openstef-4.0.1/docs/source/contribute/code_of_conduct.rst +11 -0
  42. openstef-4.0.1/docs/source/contribute/code_style_guide.rst +1171 -0
  43. openstef-4.0.1/docs/source/contribute/contributing_guide.rst +276 -0
  44. openstef-4.0.1/docs/source/contribute/development_setup.rst +186 -0
  45. openstef-4.0.1/docs/source/contribute/development_workflow.rst +333 -0
  46. openstef-4.0.1/docs/source/contribute/document.rst +506 -0
  47. openstef-4.0.1/docs/source/contribute/index.rst +211 -0
  48. openstef-4.0.1/docs/source/diagrams/user_guide/concepts/beam_diagram_1.mmd +17 -0
  49. openstef-4.0.1/docs/source/diagrams/user_guide/concepts/beam_diagram_1.mmd.license +3 -0
  50. openstef-4.0.1/docs/source/diagrams/user_guide/concepts/component_splitting_diagram_1.mmd +17 -0
  51. openstef-4.0.1/docs/source/diagrams/user_guide/concepts/component_splitting_diagram_1.mmd.license +3 -0
  52. openstef-4.0.1/docs/source/diagrams/user_guide/concepts/intro_to_energy_forecasting_diagram_1.mmd +11 -0
  53. openstef-4.0.1/docs/source/diagrams/user_guide/concepts/intro_to_energy_forecasting_diagram_1.mmd.license +3 -0
  54. openstef-4.0.1/docs/source/diagrams/user_guide/concepts/metalearning_diagram_1.mmd +24 -0
  55. openstef-4.0.1/docs/source/diagrams/user_guide/concepts/metalearning_diagram_1.mmd.license +3 -0
  56. openstef-4.0.1/docs/source/diagrams/user_guide/concepts/metalearning_diagram_2.mmd +14 -0
  57. openstef-4.0.1/docs/source/diagrams/user_guide/concepts/metalearning_diagram_2.mmd.license +3 -0
  58. openstef-4.0.1/docs/source/diagrams/user_guide/concepts/metalearning_diagram_3.mmd +20 -0
  59. openstef-4.0.1/docs/source/diagrams/user_guide/concepts/metalearning_diagram_3.mmd.license +3 -0
  60. openstef-4.0.1/docs/source/diagrams/user_guide/concepts/models_diagram_1.mmd +21 -0
  61. openstef-4.0.1/docs/source/diagrams/user_guide/concepts/models_diagram_1.mmd.license +3 -0
  62. openstef-4.0.1/docs/source/diagrams/user_guide/getting_started/migration_diagram_1.mmd +12 -0
  63. openstef-4.0.1/docs/source/diagrams/user_guide/getting_started/migration_diagram_1.mmd.license +3 -0
  64. openstef-4.0.1/docs/source/diagrams/user_guide/guides/datasets_diagram_1.mmd +17 -0
  65. openstef-4.0.1/docs/source/diagrams/user_guide/guides/datasets_diagram_1.mmd.license +3 -0
  66. openstef-4.0.1/docs/source/diagrams/user_guide/guides/datasets_diagram_2.mmd +17 -0
  67. openstef-4.0.1/docs/source/diagrams/user_guide/guides/datasets_diagram_2.mmd.license +3 -0
  68. openstef-4.0.1/docs/source/diagrams/user_guide/guides/deployment_diagram_1.mmd +16 -0
  69. openstef-4.0.1/docs/source/diagrams/user_guide/guides/deployment_diagram_1.mmd.license +3 -0
  70. openstef-4.0.1/docs/source/diagrams/user_guide/guides/deployment_diagram_2.mmd +20 -0
  71. openstef-4.0.1/docs/source/diagrams/user_guide/guides/deployment_diagram_2.mmd.license +3 -0
  72. openstef-4.0.1/docs/source/diagrams/user_guide/guides/forecasting_diagram_1.mmd +24 -0
  73. openstef-4.0.1/docs/source/diagrams/user_guide/guides/forecasting_diagram_1.mmd.license +3 -0
  74. openstef-4.0.1/docs/source/diagrams/user_guide/guides/probabilistic_forecasting_diagram_1.mmd +16 -0
  75. openstef-4.0.1/docs/source/diagrams/user_guide/guides/probabilistic_forecasting_diagram_1.mmd.license +3 -0
  76. openstef-4.0.1/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_1.mmd +21 -0
  77. openstef-4.0.1/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_1.mmd.license +3 -0
  78. openstef-4.0.1/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_2.mmd +14 -0
  79. openstef-4.0.1/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_2.mmd.license +3 -0
  80. openstef-4.0.1/docs/source/examples.rst +120 -0
  81. openstef-4.0.1/docs/source/images/concepts/aggregation_comparison.svg +1 -0
  82. openstef-4.0.1/docs/source/images/concepts/aggregation_comparison.svg.license +3 -0
  83. openstef-4.0.1/docs/source/images/concepts/backtesting_simulation.gif +0 -0
  84. openstef-4.0.1/docs/source/images/concepts/backtesting_simulation.gif.license +3 -0
  85. openstef-4.0.1/docs/source/images/concepts/forecast_confidence_bands.svg +1 -0
  86. openstef-4.0.1/docs/source/images/concepts/forecast_confidence_bands.svg.license +3 -0
  87. openstef-4.0.1/docs/source/images/concepts/weekly_load_profile.svg +1 -0
  88. openstef-4.0.1/docs/source/images/concepts/weekly_load_profile.svg.license +3 -0
  89. openstef-4.0.1/docs/source/images/guides/calibration_plot.svg +1 -0
  90. openstef-4.0.1/docs/source/images/guides/calibration_plot.svg.license +3 -0
  91. openstef-4.0.1/docs/source/images/guides/flatline_detection.svg +2587 -0
  92. openstef-4.0.1/docs/source/images/guides/flatline_detection.svg.license +3 -0
  93. openstef-4.0.1/docs/source/images/guides/probabilistic_fan_chart.svg +1 -0
  94. openstef-4.0.1/docs/source/images/guides/probabilistic_fan_chart.svg.license +3 -0
  95. openstef-4.0.1/docs/source/images/methodology_train_predict.pptx.license +3 -0
  96. openstef-4.0.1/docs/source/images/methodology_train_predict.svg.license +3 -0
  97. openstef-4.0.1/docs/source/images/uncertainty_estimation.svg.license +3 -0
  98. openstef-4.0.1/docs/source/index.rst +176 -0
  99. openstef-4.0.1/docs/source/logos/favicon.ico.license +3 -0
  100. openstef-4.0.1/docs/source/logos/logo_openstef_small.png.license +3 -0
  101. openstef-4.0.1/docs/source/logos/openstef-horizontal-color.svg.license +3 -0
  102. openstef-4.0.1/docs/source/logos/openstef-horizontal-white.svg.license +3 -0
  103. openstef-4.0.1/docs/source/project/citing.rst +40 -0
  104. openstef-4.0.1/docs/source/project/committee.rst +29 -0
  105. openstef-4.0.1/docs/source/project/index.rst +38 -0
  106. openstef-4.0.1/docs/source/project/license.rst +24 -0
  107. openstef-4.0.1/docs/source/project/maintainers.rst +27 -0
  108. openstef-4.0.1/docs/source/project/support.rst +30 -0
  109. openstef-4.0.1/docs/source/user_guide/concepts/beam.rst +235 -0
  110. openstef-4.0.1/docs/source/user_guide/concepts/component_splitting.rst +189 -0
  111. openstef-4.0.1/docs/source/user_guide/concepts/index.rst +55 -0
  112. openstef-4.0.1/docs/source/user_guide/concepts/intro_to_energy_forecasting.rst +173 -0
  113. openstef-4.0.1/docs/source/user_guide/concepts/metalearning.rst +131 -0
  114. openstef-4.0.1/docs/source/user_guide/concepts/models.rst +202 -0
  115. openstef-4.0.1/docs/source/user_guide/external_resources.rst +13 -0
  116. openstef-4.0.1/docs/source/user_guide/getting_started/index.rst +41 -0
  117. openstef-4.0.1/docs/source/user_guide/getting_started/installation.rst +397 -0
  118. openstef-4.0.1/docs/source/user_guide/getting_started/migration.rst +320 -0
  119. openstef-4.0.1/docs/source/user_guide/guides/deployment.rst +176 -0
  120. openstef-4.0.1/docs/source/user_guide/guides/forecasting.rst +156 -0
  121. openstef-4.0.1/docs/source/user_guide/guides/index.rst +76 -0
  122. openstef-4.0.1/docs/source/user_guide/guides/probabilistic_forecasting.rst +229 -0
  123. openstef-4.0.1/docs/source/user_guide/guides/reliability_fallback.rst +270 -0
  124. openstef-4.0.1/docs/source/user_guide/index.rst +51 -0
  125. openstef-4.0.1/docs/source/user_guide/intro/index.rst +17 -0
  126. openstef-4.0.1/docs/source/user_guide/intro/methodology_train_predict.rst +29 -0
  127. openstef-4.0.1/docs/source/user_guide/logging.rst +218 -0
  128. openstef-4.0.1/docs/source/user_guide/tutorials.rst +14 -0
  129. openstef-4.0.1/docs/sync_sources.py +65 -0
  130. openstef-4.0.1/examples/.gitkeep +3 -0
  131. openstef-4.0.1/examples/README.md +13 -0
  132. openstef-4.0.1/examples/__init__.py +4 -0
  133. openstef-4.0.1/examples/benchmarks/README.md +40 -0
  134. openstef-4.0.1/examples/benchmarks/__init__.py +4 -0
  135. openstef-4.0.1/examples/benchmarks/custom/README.md +136 -0
  136. openstef-4.0.1/examples/benchmarks/custom/__init__.py +4 -0
  137. openstef-4.0.1/examples/benchmarks/custom/compare_benchmark_runs.ipynb +130 -0
  138. openstef-4.0.1/examples/benchmarks/custom/compare_benchmark_runs.ipynb.license +3 -0
  139. openstef-4.0.1/examples/benchmarks/custom/compare_benchmark_runs.py +88 -0
  140. openstef-4.0.1/examples/benchmarks/custom/custom_benchmark.ipynb +307 -0
  141. openstef-4.0.1/examples/benchmarks/custom/custom_benchmark.ipynb.license +3 -0
  142. openstef-4.0.1/examples/benchmarks/custom/custom_benchmark.py +246 -0
  143. openstef-4.0.1/examples/benchmarks/custom/custom_forecaster.ipynb +176 -0
  144. openstef-4.0.1/examples/benchmarks/custom/custom_forecaster.ipynb.license +3 -0
  145. openstef-4.0.1/examples/benchmarks/custom/custom_forecaster.py +139 -0
  146. openstef-4.0.1/examples/benchmarks/custom/evaluate_existing_forecasts.ipynb +241 -0
  147. openstef-4.0.1/examples/benchmarks/custom/evaluate_existing_forecasts.ipynb.license +3 -0
  148. openstef-4.0.1/examples/benchmarks/custom/evaluate_existing_forecasts.py +176 -0
  149. openstef-4.0.1/examples/benchmarks/custom/run_custom_benchmark.ipynb +204 -0
  150. openstef-4.0.1/examples/benchmarks/custom/run_custom_benchmark.ipynb.license +3 -0
  151. openstef-4.0.1/examples/benchmarks/custom/run_custom_benchmark.py +138 -0
  152. openstef-4.0.1/examples/benchmarks/custom/run_liander2024_benchmark.ipynb +216 -0
  153. openstef-4.0.1/examples/benchmarks/custom/run_liander2024_benchmark.ipynb.license +3 -0
  154. openstef-4.0.1/examples/benchmarks/custom/run_liander2024_benchmark.py +150 -0
  155. openstef-4.0.1/examples/benchmarks/liander2024/README.md +26 -0
  156. openstef-4.0.1/examples/benchmarks/liander2024/__init__.py +4 -0
  157. openstef-4.0.1/examples/benchmarks/liander2024/compare_benchmark_runs.ipynb +149 -0
  158. openstef-4.0.1/examples/benchmarks/liander2024/compare_benchmark_runs.ipynb.license +3 -0
  159. openstef-4.0.1/examples/benchmarks/liander2024/compare_benchmark_runs.py +95 -0
  160. openstef-4.0.1/examples/benchmarks/liander2024/run_ensemble_benchmark.ipynb +266 -0
  161. openstef-4.0.1/examples/benchmarks/liander2024/run_ensemble_benchmark.ipynb.license +3 -0
  162. openstef-4.0.1/examples/benchmarks/liander2024/run_ensemble_benchmark.py +188 -0
  163. openstef-4.0.1/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.ipynb +240 -0
  164. openstef-4.0.1/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.ipynb.license +3 -0
  165. openstef-4.0.1/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.py +174 -0
  166. openstef-4.0.1/examples/pyproject.toml +28 -0
  167. openstef-4.0.1/examples/tutorials/.gitignore +16 -0
  168. openstef-4.0.1/examples/tutorials/backtesting_quickstart.ipynb +441 -0
  169. openstef-4.0.1/examples/tutorials/backtesting_quickstart.py +318 -0
  170. openstef-4.0.1/examples/tutorials/custom_pipeline.ipynb +498 -0
  171. openstef-4.0.1/examples/tutorials/custom_pipeline.py +319 -0
  172. openstef-4.0.1/examples/tutorials/datasets.py +517 -0
  173. openstef-4.0.1/examples/tutorials/ensemble_forecasting.ipynb +535 -0
  174. openstef-4.0.1/examples/tutorials/ensemble_forecasting.py +348 -0
  175. openstef-4.0.1/examples/tutorials/feature_engineering.ipynb +1556 -0
  176. openstef-4.0.1/examples/tutorials/feature_engineering.py +1074 -0
  177. openstef-4.0.1/examples/tutorials/forecasting_quickstart.ipynb +358 -0
  178. openstef-4.0.1/examples/tutorials/forecasting_quickstart.py +227 -0
  179. openstef-4.0.1/examples/tutorials/hyperparameter_tuning_with_optuna.ipynb +527 -0
  180. openstef-4.0.1/examples/tutorials/hyperparameter_tuning_with_optuna.py +341 -0
  181. openstef-4.0.1/examples/tutorials/model_explainability.ipynb +346 -0
  182. openstef-4.0.1/examples/tutorials/model_explainability.py +202 -0
  183. openstef-4.0.1/examples/tutorials/quantile_calibration.ipynb +375 -0
  184. openstef-4.0.1/examples/tutorials/quantile_calibration.py +255 -0
  185. openstef-4.0.1/packages/openstef-beam/README.md +7 -0
  186. openstef-4.0.1/packages/openstef-beam/pyproject.toml +57 -0
  187. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/__init__.py +43 -0
  188. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/__init__.py +32 -0
  189. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/analysis_pipeline.py +194 -0
  190. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/models/__init__.py +24 -0
  191. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/models/target_metadata.py +97 -0
  192. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/models/visualization_aggregation.py +61 -0
  193. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/models/visualization_output.py +93 -0
  194. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/plots/__init__.py +27 -0
  195. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/plots/forecast_time_series_plotter.py +683 -0
  196. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/plots/grouped_target_metric_plotter.py +173 -0
  197. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/plots/precision_recall_curve_plotter.py +151 -0
  198. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/plots/quantile_calibration_box_plotter.py +196 -0
  199. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/plots/quantile_probability_plotter.py +153 -0
  200. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/plots/summary_table_plotter.py +80 -0
  201. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/plots/windowed_metric_plotter.py +141 -0
  202. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/__init__.py +33 -0
  203. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/base.py +250 -0
  204. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/grouped_target_metric_visualization.py +351 -0
  205. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/precision_recall_curve_visualization.py +195 -0
  206. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/quantile_calibration_box_visualization.py +240 -0
  207. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/quantile_probability_visualization.py +221 -0
  208. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/summary_table_visualization.py +311 -0
  209. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/timeseries_visualization.py +155 -0
  210. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/windowed_metric_visualization.py +429 -0
  211. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/backtesting/__init__.py +23 -0
  212. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_callback.py +9 -0
  213. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_event.py +57 -0
  214. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_event_generator.py +207 -0
  215. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/__init__.py +25 -0
  216. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/dummy_forecaster.py +73 -0
  217. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/mixins.py +236 -0
  218. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_pipeline.py +301 -0
  219. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/backtesting/restricted_horizon_timeseries.py +72 -0
  220. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/__init__.py +55 -0
  221. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/baselines/__init__.py +17 -0
  222. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/baselines/openstef4.py +243 -0
  223. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/benchmark_comparison_pipeline.py +255 -0
  224. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/benchmark_pipeline.py +420 -0
  225. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/benchmarks/__init__.py +14 -0
  226. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/benchmarks/liander2024.py +239 -0
  227. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/__init__.py +10 -0
  228. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/base.py +230 -0
  229. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/strict_execution_callback.py +39 -0
  230. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/models/__init__.py +9 -0
  231. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/models/benchmark_target.py +116 -0
  232. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/storage/__init__.py +16 -0
  233. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/storage/base.py +254 -0
  234. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/storage/local_storage.py +163 -0
  235. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/storage/s3_storage.py +193 -0
  236. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/target_provider.py +412 -0
  237. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/evaluation/__init__.py +43 -0
  238. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/evaluation/evaluation_pipeline.py +316 -0
  239. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/evaluation/metric_providers.py +753 -0
  240. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/evaluation/models/__init__.py +21 -0
  241. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/evaluation/models/report.py +150 -0
  242. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/evaluation/models/subset.py +100 -0
  243. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/evaluation/models/window.py +132 -0
  244. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/evaluation/window_iterators.py +117 -0
  245. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/metrics/__init__.py +58 -0
  246. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/metrics/metrics_deterministic.py +625 -0
  247. openstef-4.0.1/packages/openstef-beam/src/openstef_beam/metrics/metrics_probabilistic.py +273 -0
  248. openstef-4.0.1/packages/openstef-beam/tests/__init__.py +3 -0
  249. openstef-4.0.1/packages/openstef-beam/tests/unit/__init__.py +3 -0
  250. openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/plots/test_forecast_time_series_plotter.py +467 -0
  251. openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/plots/test_grouped_target_metric_plotter.py +114 -0
  252. openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/plots/test_precision_recall_curve_plotter.py +100 -0
  253. openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/plots/test_quantile_calibration_box_plotter.py +114 -0
  254. openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/plots/test_quantile_probability_plotter.py +124 -0
  255. openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/plots/test_summary_table_plotter.py +25 -0
  256. openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/plots/test_windowed_metric_plotter.py +91 -0
  257. openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/test_analysis_pipeline.py +296 -0
  258. openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/visualizations/conftest.py +194 -0
  259. openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/visualizations/test_grouped_target_metric_visualization.py +468 -0
  260. openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/visualizations/test_precision_recall_curve_visualization.py +217 -0
  261. openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/visualizations/test_quantile_calibration_box_visualization.py +282 -0
  262. openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/visualizations/test_quantile_probability_visualization.py +241 -0
  263. openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/visualizations/test_summary_table_visualization.py +186 -0
  264. openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/visualizations/test_timeseries_visualization.py +162 -0
  265. openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/visualizations/test_windowed_metric_visualization.py +496 -0
  266. openstef-4.0.1/packages/openstef-beam/tests/unit/backtesting/test_backtest_event_generator.py +220 -0
  267. openstef-4.0.1/packages/openstef-beam/tests/unit/backtesting/test_backtest_pipeline.py +382 -0
  268. openstef-4.0.1/packages/openstef-beam/tests/unit/backtesting/test_batch_prediction.py +212 -0
  269. openstef-4.0.1/packages/openstef-beam/tests/unit/benchmarking/baselines/__init__.py +3 -0
  270. openstef-4.0.1/packages/openstef-beam/tests/unit/benchmarking/baselines/test_openstef4.py +182 -0
  271. openstef-4.0.1/packages/openstef-beam/tests/unit/benchmarking/storage/test_local_storage.py +300 -0
  272. openstef-4.0.1/packages/openstef-beam/tests/unit/benchmarking/storage/test_s3_storage.py +287 -0
  273. openstef-4.0.1/packages/openstef-beam/tests/unit/benchmarking/test_benchmark_pipeline.py +443 -0
  274. openstef-4.0.1/packages/openstef-beam/tests/unit/benchmarking/test_target_provider.py +158 -0
  275. openstef-4.0.1/packages/openstef-beam/tests/unit/evaluation/__init__.py +3 -0
  276. openstef-4.0.1/packages/openstef-beam/tests/unit/evaluation/models/__init__.py +3 -0
  277. openstef-4.0.1/packages/openstef-beam/tests/unit/evaluation/models/test_window.py +72 -0
  278. openstef-4.0.1/packages/openstef-beam/tests/unit/evaluation/test_evaluation_pipeline.py +153 -0
  279. openstef-4.0.1/packages/openstef-beam/tests/unit/evaluation/test_metric_provider.py +123 -0
  280. openstef-4.0.1/packages/openstef-beam/tests/unit/evaluation/test_window_iterators.py +87 -0
  281. openstef-4.0.1/packages/openstef-beam/tests/unit/metrics/test_metrics_deterministic.py +590 -0
  282. openstef-4.0.1/packages/openstef-beam/tests/unit/metrics/test_metrics_probabilistic.py +186 -0
  283. openstef-4.0.1/packages/openstef-beam/tests/utils/mocks.py +109 -0
  284. openstef-4.0.1/packages/openstef-core/README.md +7 -0
  285. openstef-4.0.1/packages/openstef-core/pyproject.toml +49 -0
  286. openstef-4.0.1/packages/openstef-core/src/openstef_core/__init__.py +4 -0
  287. openstef-4.0.1/packages/openstef-core/src/openstef_core/base_model.py +205 -0
  288. openstef-4.0.1/packages/openstef-core/src/openstef_core/constants.py +10 -0
  289. openstef-4.0.1/packages/openstef-core/src/openstef_core/datasets/__init__.py +37 -0
  290. openstef-4.0.1/packages/openstef-core/src/openstef_core/datasets/mixins.py +221 -0
  291. openstef-4.0.1/packages/openstef-core/src/openstef_core/datasets/timeseries_dataset.py +521 -0
  292. openstef-4.0.1/packages/openstef-core/src/openstef_core/datasets/validated_datasets.py +616 -0
  293. openstef-4.0.1/packages/openstef-core/src/openstef_core/datasets/validation.py +150 -0
  294. openstef-4.0.1/packages/openstef-core/src/openstef_core/datasets/versioned_timeseries_dataset.py +338 -0
  295. openstef-4.0.1/packages/openstef-core/src/openstef_core/exceptions.py +217 -0
  296. openstef-4.0.1/packages/openstef-core/src/openstef_core/mixins/__init__.py +24 -0
  297. openstef-4.0.1/packages/openstef-core/src/openstef_core/mixins/param_ranges.py +131 -0
  298. openstef-4.0.1/packages/openstef-core/src/openstef_core/mixins/predictor.py +307 -0
  299. openstef-4.0.1/packages/openstef-core/src/openstef_core/mixins/stateful.py +132 -0
  300. openstef-4.0.1/packages/openstef-core/src/openstef_core/mixins/transform.py +184 -0
  301. openstef-4.0.1/packages/openstef-core/src/openstef_core/testing.py +306 -0
  302. openstef-4.0.1/packages/openstef-core/src/openstef_core/transforms/__init__.py +17 -0
  303. openstef-4.0.1/packages/openstef-core/src/openstef_core/transforms/dataset_transforms.py +82 -0
  304. openstef-4.0.1/packages/openstef-core/src/openstef_core/types.py +453 -0
  305. openstef-4.0.1/packages/openstef-core/src/openstef_core/utils/__init__.py +34 -0
  306. openstef-4.0.1/packages/openstef-core/src/openstef_core/utils/datetime.py +109 -0
  307. openstef-4.0.1/packages/openstef-core/src/openstef_core/utils/invariants.py +31 -0
  308. openstef-4.0.1/packages/openstef-core/src/openstef_core/utils/itertools.py +108 -0
  309. openstef-4.0.1/packages/openstef-core/src/openstef_core/utils/multiprocessing.py +77 -0
  310. openstef-4.0.1/packages/openstef-core/src/openstef_core/utils/pandas.py +105 -0
  311. openstef-4.0.1/packages/openstef-core/src/openstef_core/utils/pydantic.py +59 -0
  312. openstef-4.0.1/packages/openstef-core/tests/__init__.py +3 -0
  313. openstef-4.0.1/packages/openstef-core/tests/unit/datasets/test_mixins.py +55 -0
  314. openstef-4.0.1/packages/openstef-core/tests/unit/datasets/test_timeseries_dataset.py +337 -0
  315. openstef-4.0.1/packages/openstef-core/tests/unit/datasets/test_validation.py +160 -0
  316. openstef-4.0.1/packages/openstef-core/tests/unit/datasets/test_versioned_timeseries_dataset.py +345 -0
  317. openstef-4.0.1/packages/openstef-core/tests/unit/datasets/utils.py +28 -0
  318. openstef-4.0.1/packages/openstef-core/tests/unit/mixins/test_stateful.py +118 -0
  319. openstef-4.0.1/packages/openstef-core/tests/unit/mixins/test_transform.py +132 -0
  320. openstef-4.0.1/packages/openstef-core/tests/unit/test_base_model.py +66 -0
  321. openstef-4.0.1/packages/openstef-core/tests/unit/test_hyperparams_tuning.py +115 -0
  322. openstef-4.0.1/packages/openstef-core/tests/unit/test_param_ranges.py +112 -0
  323. openstef-4.0.1/packages/openstef-core/tests/unit/test_types.py +456 -0
  324. openstef-4.0.1/packages/openstef-core/tests/unit/utils/test_datetime.py +159 -0
  325. openstef-4.0.1/packages/openstef-core/tests/unit/utils/test_itertools.py +100 -0
  326. openstef-4.0.1/packages/openstef-core/tests/unit/utils/test_multiprocessing.py +51 -0
  327. openstef-4.0.1/packages/openstef-core/tests/unit/utils/test_pandas.py +56 -0
  328. openstef-4.0.1/packages/openstef-meta/pyproject.toml +42 -0
  329. openstef-4.0.1/packages/openstef-meta/src/openstef_meta/__init__.py +13 -0
  330. openstef-4.0.1/packages/openstef-meta/src/openstef_meta/models/__init__.py +5 -0
  331. openstef-4.0.1/packages/openstef-meta/src/openstef_meta/models/ensemble_forecasting_model.py +677 -0
  332. openstef-4.0.1/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/__init__.py +25 -0
  333. openstef-4.0.1/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/forecast_combiner.py +129 -0
  334. openstef-4.0.1/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/learned_weights_combiner.py +397 -0
  335. openstef-4.0.1/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/stacking_combiner.py +133 -0
  336. openstef-4.0.1/packages/openstef-meta/src/openstef_meta/presets/__init__.py +12 -0
  337. openstef-4.0.1/packages/openstef-meta/src/openstef_meta/presets/forecasting_workflow.py +645 -0
  338. openstef-4.0.1/packages/openstef-meta/src/openstef_meta/utils/__init__.py +9 -0
  339. openstef-4.0.1/packages/openstef-meta/src/openstef_meta/utils/datasets.py +48 -0
  340. openstef-4.0.1/packages/openstef-meta/tests/integration/test_ensemble_forecasting_model.py +104 -0
  341. openstef-4.0.1/packages/openstef-meta/tests/unit/integrations/__init__.py +3 -0
  342. openstef-4.0.1/packages/openstef-meta/tests/unit/integrations/test_mlflow_storage_callback_ensemble.py +321 -0
  343. openstef-4.0.1/packages/openstef-meta/tests/unit/models/forecast_combiners/conftest.py +58 -0
  344. openstef-4.0.1/packages/openstef-meta/tests/unit/models/forecast_combiners/test_learned_weights_combiner.py +168 -0
  345. openstef-4.0.1/packages/openstef-meta/tests/unit/models/forecast_combiners/test_stacking_combiner.py +100 -0
  346. openstef-4.0.1/packages/openstef-meta/tests/unit/models/test_ensemble_forecasting_model.py +208 -0
  347. openstef-4.0.1/packages/openstef-meta/tests/unit/utils/test_datasets.py +79 -0
  348. openstef-4.0.1/packages/openstef-models/README.md +7 -0
  349. openstef-4.0.1/packages/openstef-models/pyproject.toml +59 -0
  350. openstef-4.0.1/packages/openstef-models/src/openstef_models/__init__.py +13 -0
  351. openstef-4.0.1/packages/openstef-models/src/openstef_models/explainability/__init__.py +18 -0
  352. openstef-4.0.1/packages/openstef-models/src/openstef_models/explainability/mixins.py +126 -0
  353. openstef-4.0.1/packages/openstef-models/src/openstef_models/explainability/plotters/__init__.py +17 -0
  354. openstef-4.0.1/packages/openstef-models/src/openstef_models/explainability/plotters/contributions_plotter.py +228 -0
  355. openstef-4.0.1/packages/openstef-models/src/openstef_models/explainability/plotters/feature_importance_plotter.py +59 -0
  356. openstef-4.0.1/packages/openstef-models/src/openstef_models/integrations/__init__.py +12 -0
  357. openstef-4.0.1/packages/openstef-models/src/openstef_models/integrations/joblib/__init__.py +15 -0
  358. openstef-4.0.1/packages/openstef-models/src/openstef_models/integrations/joblib/joblib_model_serializer.py +68 -0
  359. openstef-4.0.1/packages/openstef-models/src/openstef_models/integrations/mlflow/__init__.py +26 -0
  360. openstef-4.0.1/packages/openstef-models/src/openstef_models/integrations/mlflow/mlflow_storage.py +332 -0
  361. openstef-4.0.1/packages/openstef-models/src/openstef_models/integrations/mlflow/mlflow_storage_callback.py +383 -0
  362. openstef-4.0.1/packages/openstef-models/src/openstef_models/integrations/optuna/__init__.py +23 -0
  363. openstef-4.0.1/packages/openstef-models/src/openstef_models/integrations/optuna/tuner.py +354 -0
  364. openstef-4.0.1/packages/openstef-models/src/openstef_models/mixins/__init__.py +14 -0
  365. openstef-4.0.1/packages/openstef-models/src/openstef_models/mixins/callbacks.py +93 -0
  366. openstef-4.0.1/packages/openstef-models/src/openstef_models/mixins/model_serializer.py +72 -0
  367. openstef-4.0.1/packages/openstef-models/src/openstef_models/models/__init__.py +18 -0
  368. openstef-4.0.1/packages/openstef-models/src/openstef_models/models/component_splitting/__init__.py +17 -0
  369. openstef-4.0.1/packages/openstef-models/src/openstef_models/models/component_splitting/component_splitter.py +65 -0
  370. openstef-4.0.1/packages/openstef-models/src/openstef_models/models/component_splitting/constant_component_splitter.py +152 -0
  371. openstef-4.0.1/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter.py +212 -0
  372. openstef-4.0.1/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter_model/linear_component_splitter_model.z.license +3 -0
  373. openstef-4.0.1/packages/openstef-models/src/openstef_models/models/component_splitting_model.py +119 -0
  374. openstef-4.0.1/packages/openstef-models/src/openstef_models/models/forecasting/__init__.py +9 -0
  375. openstef-4.0.1/packages/openstef-models/src/openstef_models/models/forecasting/base_case_forecaster.py +177 -0
  376. openstef-4.0.1/packages/openstef-models/src/openstef_models/models/forecasting/constant_quantile_forecaster.py +127 -0
  377. openstef-4.0.1/packages/openstef-models/src/openstef_models/models/forecasting/flatliner_forecaster.py +111 -0
  378. openstef-4.0.1/packages/openstef-models/src/openstef_models/models/forecasting/forecaster.py +140 -0
  379. openstef-4.0.1/packages/openstef-models/src/openstef_models/models/forecasting/gblinear_forecaster.py +335 -0
  380. openstef-4.0.1/packages/openstef-models/src/openstef_models/models/forecasting/lgbm_forecaster.py +342 -0
  381. openstef-4.0.1/packages/openstef-models/src/openstef_models/models/forecasting/lgbmlinear_forecaster.py +344 -0
  382. openstef-4.0.1/packages/openstef-models/src/openstef_models/models/forecasting/median_forecaster.py +320 -0
  383. openstef-4.0.1/packages/openstef-models/src/openstef_models/models/forecasting/xgboost_forecaster.py +414 -0
  384. openstef-4.0.1/packages/openstef-models/src/openstef_models/models/forecasting_model.py +609 -0
  385. openstef-4.0.1/packages/openstef-models/src/openstef_models/presets/__init__.py +19 -0
  386. openstef-4.0.1/packages/openstef-models/src/openstef_models/presets/forecasting_workflow.py +590 -0
  387. openstef-4.0.1/packages/openstef-models/src/openstef_models/testing.py +98 -0
  388. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/__init__.py +26 -0
  389. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/energy_domain/__init__.py +14 -0
  390. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/energy_domain/wind_power_feature_adder.py +135 -0
  391. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/general/__init__.py +37 -0
  392. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/general/dimensionality_reducer.py +138 -0
  393. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/general/empty_feature_remover.py +120 -0
  394. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/general/flagger.py +97 -0
  395. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/general/imputer.py +278 -0
  396. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/general/nan_dropper.py +89 -0
  397. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/general/outlier_handler.py +178 -0
  398. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/general/sample_weighter.py +309 -0
  399. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/general/scaler.py +122 -0
  400. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/general/selector.py +83 -0
  401. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/general/shifter.py +130 -0
  402. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/postprocessing/__init__.py +16 -0
  403. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/postprocessing/confidence_interval_applicator.py +232 -0
  404. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/postprocessing/isotonic_quantile_calibrator.py +229 -0
  405. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/postprocessing/quantile_sorter.py +78 -0
  406. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/time_domain/__init__.py +29 -0
  407. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/time_domain/cyclic_features_adder.py +171 -0
  408. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/time_domain/datetime_features_adder.py +111 -0
  409. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/time_domain/holiday_features_adder.py +188 -0
  410. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/time_domain/lags_adder.py +388 -0
  411. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/time_domain/rolling_aggregates_adder.py +170 -0
  412. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/time_domain/versioned_lags_adder.py +139 -0
  413. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/validation/__init__.py +16 -0
  414. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/validation/completeness_checker.py +123 -0
  415. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/validation/flatline_checker.py +152 -0
  416. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/validation/input_consistency_checker.py +67 -0
  417. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/weather_domain/__init__.py +20 -0
  418. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/weather_domain/atmosphere_derived_features_adder.py +205 -0
  419. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/weather_domain/daylight_feature_adder.py +74 -0
  420. openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/weather_domain/radiation_derived_features_adder.py +165 -0
  421. openstef-4.0.1/packages/openstef-models/src/openstef_models/utils/__init__.py +9 -0
  422. openstef-4.0.1/packages/openstef-models/src/openstef_models/utils/data_split.py +346 -0
  423. openstef-4.0.1/packages/openstef-models/src/openstef_models/utils/evaluation_functions.py +30 -0
  424. openstef-4.0.1/packages/openstef-models/src/openstef_models/utils/feature_selection.py +225 -0
  425. openstef-4.0.1/packages/openstef-models/src/openstef_models/utils/loss_functions.py +256 -0
  426. openstef-4.0.1/packages/openstef-models/src/openstef_models/utils/multi_quantile_regressor.py +157 -0
  427. openstef-4.0.1/packages/openstef-models/src/openstef_models/utils/xgboost.py +45 -0
  428. openstef-4.0.1/packages/openstef-models/src/openstef_models/workflows/__init__.py +16 -0
  429. openstef-4.0.1/packages/openstef-models/src/openstef_models/workflows/callbacks/__init__.py +13 -0
  430. openstef-4.0.1/packages/openstef-models/src/openstef_models/workflows/callbacks/data_save.py +108 -0
  431. openstef-4.0.1/packages/openstef-models/src/openstef_models/workflows/callbacks/model_performance_callback.py +92 -0
  432. openstef-4.0.1/packages/openstef-models/src/openstef_models/workflows/custom_component_split_workflow.py +154 -0
  433. openstef-4.0.1/packages/openstef-models/src/openstef_models/workflows/custom_forecasting_workflow.py +206 -0
  434. openstef-4.0.1/packages/openstef-models/tests/__init__.py +3 -0
  435. openstef-4.0.1/packages/openstef-models/tests/integration/test_integration.py +17 -0
  436. openstef-4.0.1/packages/openstef-models/tests/unit/explainability/plotters/test_contributions_plotter.py +219 -0
  437. openstef-4.0.1/packages/openstef-models/tests/unit/integrations/__init__.py +5 -0
  438. openstef-4.0.1/packages/openstef-models/tests/unit/integrations/joblib/__init__.py +5 -0
  439. openstef-4.0.1/packages/openstef-models/tests/unit/integrations/joblib/test_joblib_model_serializer.py +36 -0
  440. openstef-4.0.1/packages/openstef-models/tests/unit/integrations/mlflow/__init__.py +3 -0
  441. openstef-4.0.1/packages/openstef-models/tests/unit/integrations/mlflow/test_mlflow_storage.py +192 -0
  442. openstef-4.0.1/packages/openstef-models/tests/unit/integrations/mlflow/test_mlflow_storage_callback.py +291 -0
  443. openstef-4.0.1/packages/openstef-models/tests/unit/integrations/optuna/test_tuner.py +304 -0
  444. openstef-4.0.1/packages/openstef-models/tests/unit/models/component_splitting/__init__.py +3 -0
  445. openstef-4.0.1/packages/openstef-models/tests/unit/models/component_splitting/test_constant_component_splitter.py +144 -0
  446. openstef-4.0.1/packages/openstef-models/tests/unit/models/component_splitting/test_linear_component_splitter.py +92 -0
  447. openstef-4.0.1/packages/openstef-models/tests/unit/models/forecasting/conftest.py +59 -0
  448. openstef-4.0.1/packages/openstef-models/tests/unit/models/forecasting/test_base_case_forecaster.py +264 -0
  449. openstef-4.0.1/packages/openstef-models/tests/unit/models/forecasting/test_constant_quantile_forecaster.py +109 -0
  450. openstef-4.0.1/packages/openstef-models/tests/unit/models/forecasting/test_flatliner_forecaster.py +66 -0
  451. openstef-4.0.1/packages/openstef-models/tests/unit/models/forecasting/test_gblinear_forecaster.py +159 -0
  452. openstef-4.0.1/packages/openstef-models/tests/unit/models/forecasting/test_lgbm_forecaster.py +173 -0
  453. openstef-4.0.1/packages/openstef-models/tests/unit/models/forecasting/test_lgbmlinear_forecaster.py +147 -0
  454. openstef-4.0.1/packages/openstef-models/tests/unit/models/forecasting/test_median_forecaster.py +460 -0
  455. openstef-4.0.1/packages/openstef-models/tests/unit/models/forecasting/test_xgboost_forecaster.py +194 -0
  456. openstef-4.0.1/packages/openstef-models/tests/unit/models/test_forecasting_model.py +301 -0
  457. openstef-4.0.1/packages/openstef-models/tests/unit/test_example.py +7 -0
  458. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/__init__.py +0 -0
  459. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/energy_domain/__init__.py +0 -0
  460. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/energy_domain/test_wind_power_feature_adder.py +118 -0
  461. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/general/__init__.py +0 -0
  462. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/general/test_dimensionality_reducer.py +115 -0
  463. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/general/test_empty_feature_remover.py +148 -0
  464. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/general/test_flagger.py +61 -0
  465. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/general/test_imputer.py +396 -0
  466. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/general/test_nan_dropper.py +48 -0
  467. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/general/test_outlier_handler.py +234 -0
  468. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/general/test_sample_weighter.py +280 -0
  469. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/general/test_scaler.py +129 -0
  470. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/general/test_selector.py +82 -0
  471. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/general/test_shifter.py +174 -0
  472. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/postprocessing/__init__.py +5 -0
  473. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/postprocessing/test_confidence_interval_applicator.py +203 -0
  474. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/postprocessing/test_isotonic_quantile_calibrator.py +200 -0
  475. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/postprocessing/test_quantile_sorter.py +48 -0
  476. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/time_domain/__init__.py +0 -0
  477. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/time_domain/test_cyclic_features_adder.py +117 -0
  478. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/time_domain/test_datetime_features_adder.py +118 -0
  479. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/time_domain/test_holiday_features_adder.py +190 -0
  480. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/time_domain/test_lags_adder.py +535 -0
  481. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/time_domain/test_rolling_aggregates_adder.py +242 -0
  482. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/time_domain/test_versioned_lags_adder.py +225 -0
  483. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/validation/__init__.py +0 -0
  484. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/validation/test_completeness_checker.py +169 -0
  485. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/validation/test_flatline_checker.py +149 -0
  486. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/validation/test_input_consistency_checker.py +81 -0
  487. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/weather_domain/__init__.py +0 -0
  488. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/weather_domain/test_atmosphere_derived_features_adder.py +113 -0
  489. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/weather_domain/test_daylight_feature_adder.py +102 -0
  490. openstef-4.0.1/packages/openstef-models/tests/unit/transforms/weather_domain/test_radiation_derived_featuers_adder.py +343 -0
  491. openstef-4.0.1/packages/openstef-models/tests/unit/utils/__init__.py +3 -0
  492. openstef-4.0.1/packages/openstef-models/tests/unit/utils/test_data_split.py +162 -0
  493. openstef-4.0.1/packages/openstef-models/tests/unit/utils/test_feature_selection.py +125 -0
  494. openstef-4.0.1/packages/openstef-models/tests/unit/utils/test_loss_functions.py +416 -0
  495. openstef-4.0.1/packages/openstef-models/tests/unit/utils/test_multi_quantile_regressor.py +118 -0
  496. openstef-4.0.1/packages/openstef-models/tests/unit/workflows/__init__.py +0 -0
  497. openstef-4.0.1/packages/openstef-models/tests/unit/workflows/callbacks/__init__.py +0 -0
  498. openstef-4.0.1/packages/openstef-models/tests/unit/workflows/callbacks/test_model_performance_callback.py +83 -0
  499. openstef-4.0.1/pyproject.toml +441 -0
  500. openstef-4.0.1/sonar-project.properties +18 -0
  501. openstef-4.0.1/tools/check_notebook_outputs.py +37 -0
  502. openstef-4.0.1/tools/reuse-fix.py +390 -0
  503. openstef-4.0.1/uv.lock +5691 -0
  504. openstef-4.0.0.dev1/.github/CODE_OF_CONDUCT.md +0 -72
  505. openstef-4.0.0.dev1/.github/CONTRIBUTING.md +0 -39
  506. openstef-4.0.0.dev1/.github/ISSUE_TEMPLATE/openstef-4-0-project-story.md +0 -42
  507. openstef-4.0.0.dev1/.github/pr-labeler.yml +0 -7
  508. openstef-4.0.0.dev1/.github/workflows/_job_quality_check.yaml +0 -65
  509. openstef-4.0.0.dev1/.github/workflows/check.yaml +0 -21
  510. openstef-4.0.0.dev1/.github/workflows/citations.yaml +0 -38
  511. openstef-4.0.0.dev1/.github/workflows/docs.yaml +0 -80
  512. openstef-4.0.0.dev1/.github/workflows/pr-labeler.yaml +0 -21
  513. openstef-4.0.0.dev1/.github/workflows/release-dev.yaml +0 -65
  514. openstef-4.0.0.dev1/.github/workflows/release-v4.yaml +0 -83
  515. openstef-4.0.0.dev1/.gitignore +0 -127
  516. openstef-4.0.0.dev1/CITATION.cff +0 -63
  517. openstef-4.0.0.dev1/COMMITTERS.md +0 -9
  518. openstef-4.0.0.dev1/PKG-INFO +0 -178
  519. openstef-4.0.0.dev1/README.md +0 -145
  520. openstef-4.0.0.dev1/REUSE.toml +0 -20
  521. openstef-4.0.0.dev1/THIRD_PARTY_LICENSES.md +0 -1292
  522. openstef-4.0.0.dev1/docs/.gitkeep +0 -3
  523. openstef-4.0.0.dev1/docs/pyproject.toml +0 -39
  524. openstef-4.0.0.dev1/docs/source/_static/css/custom.css +0 -10
  525. openstef-4.0.0.dev1/docs/source/_static/versions.json.license +0 -3
  526. openstef-4.0.0.dev1/docs/source/_templates/custom_class.rst +0 -12
  527. openstef-4.0.0.dev1/docs/source/_templates/custom_function.rst +0 -10
  528. openstef-4.0.0.dev1/docs/source/_templates/module_overview.rst +0 -54
  529. openstef-4.0.0.dev1/docs/source/_templates/package_overview.rst +0 -99
  530. openstef-4.0.0.dev1/docs/source/api/index.rst +0 -89
  531. openstef-4.0.0.dev1/docs/source/changelog.rst +0 -12
  532. openstef-4.0.0.dev1/docs/source/conf.py +0 -325
  533. openstef-4.0.0.dev1/docs/source/contribute/_getting_help.rst +0 -15
  534. openstef-4.0.0.dev1/docs/source/contribute/code_of_conduct.rst +0 -11
  535. openstef-4.0.0.dev1/docs/source/contribute/code_style_guide.rst +0 -1171
  536. openstef-4.0.0.dev1/docs/source/contribute/contributing_guide.rst +0 -276
  537. openstef-4.0.0.dev1/docs/source/contribute/development_setup.rst +0 -186
  538. openstef-4.0.0.dev1/docs/source/contribute/development_workflow.rst +0 -333
  539. openstef-4.0.0.dev1/docs/source/contribute/document.rst +0 -400
  540. openstef-4.0.0.dev1/docs/source/contribute/index.rst +0 -211
  541. openstef-4.0.0.dev1/docs/source/examples.rst +0 -12
  542. openstef-4.0.0.dev1/docs/source/images/methodology_train_predict.pptx.license +0 -3
  543. openstef-4.0.0.dev1/docs/source/images/methodology_train_predict.svg.license +0 -3
  544. openstef-4.0.0.dev1/docs/source/images/uncertainty_estimation.svg.license +0 -3
  545. openstef-4.0.0.dev1/docs/source/index.rst +0 -171
  546. openstef-4.0.0.dev1/docs/source/logos/favicon.ico.license +0 -3
  547. openstef-4.0.0.dev1/docs/source/logos/logo_openstef_small.png.license +0 -3
  548. openstef-4.0.0.dev1/docs/source/logos/openstef-horizontal-color.svg.license +0 -3
  549. openstef-4.0.0.dev1/docs/source/logos/openstef-horizontal-white.svg.license +0 -3
  550. openstef-4.0.0.dev1/docs/source/project/citing.rst +0 -40
  551. openstef-4.0.0.dev1/docs/source/project/committee.rst +0 -29
  552. openstef-4.0.0.dev1/docs/source/project/index.rst +0 -37
  553. openstef-4.0.0.dev1/docs/source/project/license.rst +0 -24
  554. openstef-4.0.0.dev1/docs/source/project/maintainers.rst +0 -27
  555. openstef-4.0.0.dev1/docs/source/project/support.rst +0 -30
  556. openstef-4.0.0.dev1/docs/source/user_guide/external_resources.rst +0 -13
  557. openstef-4.0.0.dev1/docs/source/user_guide/index.rst +0 -20
  558. openstef-4.0.0.dev1/docs/source/user_guide/installation.rst +0 -399
  559. openstef-4.0.0.dev1/docs/source/user_guide/intro/index.rst +0 -15
  560. openstef-4.0.0.dev1/docs/source/user_guide/intro/methodology_train_predict.rst +0 -29
  561. openstef-4.0.0.dev1/docs/source/user_guide/logging.rst +0 -356
  562. openstef-4.0.0.dev1/docs/source/user_guide/quick_start.rst +0 -13
  563. openstef-4.0.0.dev1/docs/source/user_guide/tutorials.rst +0 -12
  564. openstef-4.0.0.dev1/examples/.gitkeep +0 -3
  565. openstef-4.0.0.dev1/examples/benchmarks/liander_2024_benchmark_xgboost_gblinear.py +0 -163
  566. openstef-4.0.0.dev1/examples/benchmarks/liander_2024_compare_results.py +0 -50
  567. openstef-4.0.0.dev1/examples/examples/.gitignore +0 -5
  568. openstef-4.0.0.dev1/examples/examples/configuring_model_pipeline_example.py +0 -144
  569. openstef-4.0.0.dev1/examples/examples/forecasting_preset_example.py +0 -93
  570. openstef-4.0.0.dev1/packages/openstef-beam/README.md +0 -7
  571. openstef-4.0.0.dev1/packages/openstef-beam/pyproject.toml +0 -50
  572. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/__init__.py +0 -42
  573. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/__init__.py +0 -31
  574. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/analysis_pipeline.py +0 -187
  575. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/models/__init__.py +0 -24
  576. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/models/target_metadata.py +0 -97
  577. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/models/visualization_aggregation.py +0 -60
  578. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/models/visualization_output.py +0 -93
  579. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/plots/__init__.py +0 -27
  580. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/plots/forecast_time_series_plotter.py +0 -674
  581. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/plots/grouped_target_metric_plotter.py +0 -173
  582. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/plots/precision_recall_curve_plotter.py +0 -149
  583. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/plots/quantile_calibration_box_plotter.py +0 -196
  584. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/plots/quantile_probability_plotter.py +0 -152
  585. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/plots/summary_table_plotter.py +0 -79
  586. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/plots/windowed_metric_plotter.py +0 -140
  587. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/__init__.py +0 -33
  588. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/base.py +0 -250
  589. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/grouped_target_metric_visualization.py +0 -349
  590. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/precision_recall_curve_visualization.py +0 -192
  591. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/quantile_calibration_box_visualization.py +0 -239
  592. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/quantile_probability_visualization.py +0 -220
  593. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/summary_table_visualization.py +0 -309
  594. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/timeseries_visualization.py +0 -150
  595. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/windowed_metric_visualization.py +0 -398
  596. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/__init__.py +0 -22
  597. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_callback.py +0 -9
  598. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_event.py +0 -57
  599. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_event_generator.py +0 -207
  600. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/__init__.py +0 -29
  601. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/dummy_forecaster.py +0 -73
  602. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/mixins.py +0 -232
  603. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/openstef4_backtest_forecaster.py +0 -127
  604. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_pipeline.py +0 -301
  605. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/restricted_horizon_timeseries.py +0 -72
  606. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/__init__.py +0 -54
  607. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/benchmark_comparison_pipeline.py +0 -249
  608. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/benchmark_pipeline.py +0 -404
  609. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/benchmarks/__init__.py +0 -14
  610. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/benchmarks/liander2024.py +0 -239
  611. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/__init__.py +0 -10
  612. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/base.py +0 -228
  613. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/strict_execution_callback.py +0 -39
  614. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/models/__init__.py +0 -9
  615. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/models/benchmark_target.py +0 -116
  616. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/storage/__init__.py +0 -16
  617. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/storage/base.py +0 -252
  618. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/storage/local_storage.py +0 -162
  619. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/storage/s3_storage.py +0 -193
  620. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/target_provider.py +0 -403
  621. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/evaluation/__init__.py +0 -42
  622. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/evaluation/evaluation_pipeline.py +0 -294
  623. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/evaluation/metric_providers.py +0 -620
  624. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/evaluation/models/__init__.py +0 -21
  625. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/evaluation/models/report.py +0 -150
  626. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/evaluation/models/subset.py +0 -83
  627. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/evaluation/models/window.py +0 -106
  628. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/evaluation/window_iterators.py +0 -95
  629. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/metrics/__init__.py +0 -53
  630. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/metrics/metrics_deterministic.py +0 -535
  631. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/metrics/metrics_probabilistic.py +0 -272
  632. openstef-4.0.0.dev1/packages/openstef-beam/tests/__init__.py +0 -3
  633. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/__init__.py +0 -3
  634. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/plots/test_forecast_time_series_plotter.py +0 -467
  635. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/plots/test_grouped_target_metric_plotter.py +0 -114
  636. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/plots/test_precision_recall_curve_plotter.py +0 -100
  637. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/plots/test_quantile_calibration_box_plotter.py +0 -114
  638. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/plots/test_quantile_probability_plotter.py +0 -124
  639. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/plots/test_summary_table_plotter.py +0 -25
  640. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/plots/test_windowed_metric_plotter.py +0 -91
  641. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/test_analysis_pipeline.py +0 -296
  642. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/visualizations/conftest.py +0 -194
  643. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/visualizations/test_grouped_target_metric_visualization.py +0 -468
  644. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/visualizations/test_precision_recall_curve_visualization.py +0 -217
  645. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/visualizations/test_quantile_calibration_box_visualization.py +0 -282
  646. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/visualizations/test_quantile_probability_visualization.py +0 -241
  647. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/visualizations/test_summary_table_visualization.py +0 -186
  648. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/visualizations/test_timeseries_visualization.py +0 -165
  649. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/visualizations/test_windowed_metric_visualization.py +0 -493
  650. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/backtesting/test_backtest_event_generator.py +0 -220
  651. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/backtesting/test_backtest_pipeline.py +0 -383
  652. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/backtesting/test_batch_prediction.py +0 -212
  653. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/benchmarking/storage/test_local_storage.py +0 -300
  654. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/benchmarking/storage/test_s3_storage.py +0 -287
  655. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/benchmarking/test_benchmark_pipeline.py +0 -443
  656. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/benchmarking/test_target_provider.py +0 -158
  657. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/evaluation/__init__.py +0 -3
  658. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/evaluation/models/__init__.py +0 -3
  659. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/evaluation/models/test_window.py +0 -72
  660. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/evaluation/test_evaluation_pipeline.py +0 -153
  661. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/evaluation/test_metric_provider.py +0 -123
  662. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/metrics/test_metrics_deterministic.py +0 -548
  663. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/metrics/test_metrics_probabilistic.py +0 -186
  664. openstef-4.0.0.dev1/packages/openstef-beam/tests/utils/mocks.py +0 -109
  665. openstef-4.0.0.dev1/packages/openstef-core/README.md +0 -7
  666. openstef-4.0.0.dev1/packages/openstef-core/pyproject.toml +0 -45
  667. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/__init__.py +0 -4
  668. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/base_model.py +0 -183
  669. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/datasets/__init__.py +0 -34
  670. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/datasets/mixins.py +0 -218
  671. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/datasets/timeseries_dataset.py +0 -466
  672. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/datasets/validated_datasets.py +0 -416
  673. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/datasets/validation.py +0 -150
  674. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/datasets/versioned_timeseries_dataset.py +0 -338
  675. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/exceptions.py +0 -199
  676. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/mixins/__init__.py +0 -24
  677. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/mixins/predictor.py +0 -208
  678. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/mixins/stateful.py +0 -132
  679. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/mixins/transform.py +0 -184
  680. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/testing.py +0 -131
  681. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/transforms/__init__.py +0 -17
  682. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/transforms/dataset_transforms.py +0 -82
  683. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/types.py +0 -302
  684. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/utils/__init__.py +0 -34
  685. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/utils/datetime.py +0 -109
  686. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/utils/invariants.py +0 -31
  687. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/utils/itertools.py +0 -108
  688. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/utils/multiprocessing.py +0 -77
  689. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/utils/pandas.py +0 -70
  690. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/utils/pydantic.py +0 -59
  691. openstef-4.0.0.dev1/packages/openstef-core/tests/__init__.py +0 -3
  692. openstef-4.0.0.dev1/packages/openstef-core/tests/unit/datasets/test_mixins.py +0 -55
  693. openstef-4.0.0.dev1/packages/openstef-core/tests/unit/datasets/test_timeseries_dataset.py +0 -309
  694. openstef-4.0.0.dev1/packages/openstef-core/tests/unit/datasets/test_validation.py +0 -160
  695. openstef-4.0.0.dev1/packages/openstef-core/tests/unit/datasets/test_versioned_timeseries_dataset.py +0 -345
  696. openstef-4.0.0.dev1/packages/openstef-core/tests/unit/datasets/utils.py +0 -28
  697. openstef-4.0.0.dev1/packages/openstef-core/tests/unit/mixins/test_stateful.py +0 -118
  698. openstef-4.0.0.dev1/packages/openstef-core/tests/unit/mixins/test_transform.py +0 -132
  699. openstef-4.0.0.dev1/packages/openstef-core/tests/unit/test_base_model.py +0 -66
  700. openstef-4.0.0.dev1/packages/openstef-core/tests/unit/test_types.py +0 -82
  701. openstef-4.0.0.dev1/packages/openstef-core/tests/unit/utils/test_datetime.py +0 -159
  702. openstef-4.0.0.dev1/packages/openstef-core/tests/unit/utils/test_itertools.py +0 -100
  703. openstef-4.0.0.dev1/packages/openstef-core/tests/unit/utils/test_multiprocessing.py +0 -51
  704. openstef-4.0.0.dev1/packages/openstef-models/README.md +0 -7
  705. openstef-4.0.0.dev1/packages/openstef-models/pyproject.toml +0 -54
  706. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/__init__.py +0 -13
  707. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/explainability/__init__.py +0 -16
  708. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/explainability/mixins.py +0 -58
  709. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/explainability/plotters/__init__.py +0 -15
  710. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/explainability/plotters/feature_importance_plotter.py +0 -59
  711. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/integrations/__init__.py +0 -10
  712. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/integrations/joblib/__init__.py +0 -15
  713. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/integrations/joblib/joblib_model_serializer.py +0 -68
  714. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/integrations/mlflow/__init__.py +0 -21
  715. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/integrations/mlflow/mlflow_storage.py +0 -236
  716. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/integrations/mlflow/mlflow_storage_callback.py +0 -239
  717. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/mixins/__init__.py +0 -14
  718. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/mixins/callbacks.py +0 -93
  719. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/mixins/model_serializer.py +0 -72
  720. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/__init__.py +0 -17
  721. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/component_splitting/__init__.py +0 -17
  722. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/component_splitting/component_splitter.py +0 -64
  723. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/component_splitting/constant_component_splitter.py +0 -152
  724. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter.py +0 -218
  725. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter_model/linear_component_splitter_model.z.license +0 -3
  726. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/component_splitting_model.py +0 -119
  727. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/forecasting/__init__.py +0 -26
  728. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/forecasting/base_case_forecaster.py +0 -199
  729. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/forecasting/constant_median_forecaster.py +0 -143
  730. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/forecasting/flatliner_forecaster.py +0 -104
  731. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/forecasting/forecaster.py +0 -204
  732. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/forecasting/gblinear_forecaster.py +0 -326
  733. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/forecasting/xgboost_forecaster.py +0 -423
  734. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/forecasting_model.py +0 -389
  735. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/presets/__init__.py +0 -15
  736. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/presets/forecasting_workflow.py +0 -386
  737. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/__init__.py +0 -26
  738. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/energy_domain/__init__.py +0 -14
  739. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/energy_domain/wind_power_feature_adder.py +0 -135
  740. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/general/__init__.py +0 -29
  741. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/general/clipper.py +0 -121
  742. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/general/dimensionality_reducer.py +0 -137
  743. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/general/empty_feature_remover.py +0 -120
  744. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/general/imputer.py +0 -276
  745. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/general/nan_dropper.py +0 -89
  746. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/general/sample_weighter.py +0 -184
  747. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/general/scaler.py +0 -121
  748. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/postprocessing/__init__.py +0 -15
  749. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/postprocessing/confidence_interval_applicator.py +0 -218
  750. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/postprocessing/quantile_sorter.py +0 -78
  751. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/time_domain/__init__.py +0 -25
  752. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/time_domain/cyclic_features_adder.py +0 -170
  753. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/time_domain/datetime_features_adder.py +0 -110
  754. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/time_domain/holiday_features_adder.py +0 -167
  755. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/time_domain/lags_adder.py +0 -309
  756. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/time_domain/rolling_aggregates_adder.py +0 -126
  757. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/time_domain/versioned_lags_adder.py +0 -137
  758. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/validation/__init__.py +0 -16
  759. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/validation/completeness_checker.py +0 -123
  760. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/validation/flatline_checker.py +0 -149
  761. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/validation/input_consistency_checker.py +0 -67
  762. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/weather_domain/__init__.py +0 -20
  763. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/weather_domain/atmosphere_derived_features_adder.py +0 -205
  764. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/weather_domain/daylight_feature_adder.py +0 -74
  765. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/weather_domain/radiation_derived_features_adder.py +0 -164
  766. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/utils/__init__.py +0 -9
  767. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/utils/data_split.py +0 -340
  768. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/utils/evaluation_functions.py +0 -30
  769. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/utils/feature_selection.py +0 -100
  770. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/utils/loss_functions.py +0 -254
  771. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/workflows/__init__.py +0 -16
  772. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/workflows/custom_component_split_workflow.py +0 -154
  773. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/workflows/custom_forecasting_workflow.py +0 -196
  774. openstef-4.0.0.dev1/packages/openstef-models/tests/__init__.py +0 -3
  775. openstef-4.0.0.dev1/packages/openstef-models/tests/integration/test_integration.py +0 -17
  776. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/integrations/__init__.py +0 -5
  777. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/integrations/joblib/__init__.py +0 -5
  778. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/integrations/joblib/test_joblib_model_serializer.py +0 -36
  779. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/integrations/mlflow/__init__.py +0 -3
  780. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/integrations/mlflow/test_mlflow_storage.py +0 -147
  781. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/integrations/mlflow/test_mlflow_storage_callback.py +0 -257
  782. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/component_splitting/__init__.py +0 -3
  783. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/component_splitting/test_constant_component_splitter.py +0 -144
  784. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/component_splitting/test_linear_component_splitter.py +0 -92
  785. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/forecasting/test_base_case_forecaster.py +0 -272
  786. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/forecasting/test_constant_median_forecaster.py +0 -92
  787. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/forecasting/test_flatliner_forecaster.py +0 -32
  788. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/forecasting/test_gblinear_forecaster.py +0 -134
  789. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/forecasting/test_xgboost_forecaster.py +0 -169
  790. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/test_forecasting_model.py +0 -241
  791. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/test_example.py +0 -7
  792. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/energy_domain/test_wind_power_feature_adder.py +0 -118
  793. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/general/test_clipper.py +0 -116
  794. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/general/test_dimensionality_reducer.py +0 -115
  795. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/general/test_empty_feature_remover.py +0 -148
  796. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/general/test_imputer.py +0 -396
  797. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/general/test_nan_dropper.py +0 -48
  798. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/general/test_sample_weighter.py +0 -97
  799. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/general/test_scaler.py +0 -129
  800. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/postprocessing/__init__.py +0 -5
  801. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/postprocessing/test_confidence_interval_applicator.py +0 -161
  802. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/postprocessing/test_quantile_sorter.py +0 -48
  803. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/time_domain/test_cyclic_features_adder.py +0 -117
  804. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/time_domain/test_datetime_features_adder.py +0 -118
  805. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/time_domain/test_holiday_features_adder.py +0 -155
  806. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/time_domain/test_lags_adder.py +0 -364
  807. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/time_domain/test_rolling_aggregates_adder.py +0 -126
  808. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/time_domain/test_versioned_lags_adder.py +0 -225
  809. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/validation/test_completeness_checker.py +0 -169
  810. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/validation/test_flatline_checker.py +0 -130
  811. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/validation/test_input_consistency_checker.py +0 -81
  812. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/weather_domain/test_atmosphere_derived_features_adder.py +0 -113
  813. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/weather_domain/test_daylight_feature_adder.py +0 -102
  814. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/weather_domain/test_radiation_derived_featuers_adder.py +0 -366
  815. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/utils/__init__.py +0 -3
  816. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/utils/test_data_split.py +0 -162
  817. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/utils/test_loss_functions.py +0 -353
  818. openstef-4.0.0.dev1/pyproject.toml +0 -360
  819. openstef-4.0.0.dev1/tools/reuse-fix.py +0 -390
  820. openstef-4.0.0.dev1/uv.lock +0 -4450
  821. {openstef-4.0.0.dev1 → openstef-4.0.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  822. {openstef-4.0.0.dev1 → openstef-4.0.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  823. {openstef-4.0.0.dev1 → openstef-4.0.1}/.python-version +0 -0
  824. {openstef-4.0.0.dev1 → openstef-4.0.1}/LICENSE.md +0 -0
  825. {openstef-4.0.0.dev1 → openstef-4.0.1}/LICENSES/MPL-2.0.txt +0 -0
  826. {openstef-4.0.0.dev1 → openstef-4.0.1}/docs/README.md +0 -0
  827. {openstef-4.0.0.dev1 → openstef-4.0.1}/docs/source/_static/css/.gitkeep +0 -0
  828. {openstef-4.0.0.dev1 → openstef-4.0.1}/docs/source/_static/versions.json +0 -0
  829. {openstef-4.0.0.dev1 → openstef-4.0.1}/docs/source/images/methodology_train_predict.pptx +0 -0
  830. {openstef-4.0.0.dev1 → openstef-4.0.1}/docs/source/images/methodology_train_predict.svg +0 -0
  831. {openstef-4.0.0.dev1 → openstef-4.0.1}/docs/source/images/uncertainty_estimation.svg +0 -0
  832. {openstef-4.0.0.dev1 → openstef-4.0.1}/docs/source/js/.gitkeep +0 -0
  833. {openstef-4.0.0.dev1 → openstef-4.0.1}/docs/source/logos/favicon.ico +0 -0
  834. {openstef-4.0.0.dev1 → openstef-4.0.1}/docs/source/logos/logo_openstef_small.png +0 -0
  835. {openstef-4.0.0.dev1 → openstef-4.0.1}/docs/source/logos/openstef-horizontal-color.svg +0 -0
  836. {openstef-4.0.0.dev1 → openstef-4.0.1}/docs/source/logos/openstef-horizontal-white.svg +0 -0
  837. {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-beam/tests/unit/analysis/__init__.py +0 -0
  838. {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-beam/tests/unit/analysis/plots/__init__.py +0 -0
  839. {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-beam/tests/unit/analysis/visualizations/__init__.py +0 -0
  840. {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-beam/tests/unit/backtesting/__init__.py +0 -0
  841. {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-beam/tests/unit/benchmarking/__init__.py +0 -0
  842. {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-beam/tests/unit/benchmarking/storage/__init__.py +0 -0
  843. {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-beam/tests/unit/metrics/__init__.py +0 -0
  844. {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-beam/tests/utils/__init__.py +0 -0
  845. {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-core/tests/unit/__init__.py +0 -0
  846. {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-core/tests/unit/datasets/__init__.py +0 -0
  847. {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-core/tests/unit/mixins/__init__.py +0 -0
  848. {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-core/tests/unit/transforms/__init__.py +0 -0
  849. {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-core/tests/unit/utils/__init__.py +0 -0
  850. /openstef-4.0.0.dev1/examples/deployment/.gitkeep → /openstef-4.0.1/packages/openstef-meta/README.md +0 -0
  851. {openstef-4.0.0.dev1/packages/openstef-models → openstef-4.0.1/packages/openstef-meta}/tests/integration/__init__.py +0 -0
  852. {openstef-4.0.0.dev1/packages/openstef-models/tests/unit → openstef-4.0.1/packages/openstef-meta/tests/unit/models}/__init__.py +0 -0
  853. {openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/forecasting → openstef-4.0.1/packages/openstef-meta/tests/unit/models}/conftest.py +0 -0
  854. {openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models → openstef-4.0.1/packages/openstef-meta/tests/unit/models/forecast_combiners}/__init__.py +0 -0
  855. {openstef-4.0.0.dev1/packages/openstef-models → openstef-4.0.1/packages/openstef-meta}/tests/unit/models/forecasting/__init__.py +0 -0
  856. {openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms → openstef-4.0.1/packages/openstef-meta/tests/unit/utils}/__init__.py +0 -0
  857. {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter_model/linear_component_splitter_model.z +0 -0
  858. {openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/energy_domain → openstef-4.0.1/packages/openstef-models/tests/integration}/__init__.py +0 -0
  859. {openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/general → openstef-4.0.1/packages/openstef-models/tests/unit}/__init__.py +0 -0
  860. {openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/time_domain → openstef-4.0.1/packages/openstef-models/tests/unit/explainability}/__init__.py +0 -0
  861. {openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/validation → openstef-4.0.1/packages/openstef-models/tests/unit/explainability/plotters}/__init__.py +0 -0
  862. {openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/weather_domain → openstef-4.0.1/packages/openstef-models/tests/unit/integrations/optuna}/__init__.py +0 -0
  863. /openstef-4.0.0.dev1/examples/tutorials/.gitkeep → /openstef-4.0.1/packages/openstef-models/tests/unit/models/__init__.py +0 -0
  864. /openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/evaluation/test_window_iterators.py → /openstef-4.0.1/packages/openstef-models/tests/unit/models/forecasting/__init__.py +0 -0
@@ -0,0 +1,7 @@
1
+ # SPDX-FileCopyrightText: 2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
2
+ #
3
+ # SPDX-License-Identifier: MPL-2.0
4
+
5
+ # Require review from maintainers for CI/CD workflow changes
6
+ .github/workflows/ @OpenSTEF/openstef-maintainers
7
+ .github/CODEOWNERS @OpenSTEF/openstef-maintainers
@@ -0,0 +1,72 @@
1
+ <!--
2
+ SPDX-FileCopyrightText: 2017-2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
3
+
4
+ SPDX-License-Identifier: MPL-2.0
5
+ -->
6
+
7
+ # Code of Conduct
8
+
9
+ ## Our Pledge
10
+
11
+ In the interest of fostering an open and welcoming environment, we as
12
+ contributors and maintainers pledge to making participation in our project and
13
+ our community a harassment-free experience for everyone, regardless of age, body
14
+ size, disability, ethnicity, gender identity and expression, level of
15
+ experience, education, socio-economic status, nationality, personal appearance,
16
+ race, religion, or sexual identity and orientation.
17
+
18
+ ## Our Standards
19
+
20
+ Examples of behavior that contributes to creating a positive environment
21
+ include:
22
+
23
+ * Using welcoming and inclusive language
24
+ * Being respectful of differing viewpoints and experiences
25
+ * Gracefully accepting constructive criticism
26
+ * Focusing on what is best for the community
27
+ * Showing empathy towards other community members
28
+
29
+ Examples of unacceptable behavior by participants include:
30
+
31
+ * The use of sexualized language or imagery and unwelcome sexual attention or
32
+ advances
33
+ * Trolling, insulting/derogatory comments, and personal or political attacks
34
+ * Public or private harassment
35
+ * Publishing others' private information, such as a physical or electronic
36
+ address, without explicit permission
37
+ * Other conduct which could reasonably be considered inappropriate in a
38
+ professional setting
39
+
40
+ ## Our Responsibilities
41
+
42
+ Project maintainers are responsible for clarifying the standards of acceptable
43
+ behavior and are expected to take appropriate and fair corrective action in
44
+ response to any instances of unacceptable behavior.
45
+
46
+ Project maintainers have the right and responsibility to remove, edit, or reject
47
+ comments, commits, code, wiki edits, issues, and other contributions that are
48
+ not aligned to this Code of Conduct, or to ban temporarily or permanently any
49
+ contributor for other behaviors that they deem inappropriate, threatening,
50
+ offensive, or harmful.
51
+
52
+ ## Scope
53
+
54
+ This Code of Conduct applies both within project spaces and in public spaces
55
+ when an individual is representing the project or its community. Examples of
56
+ representing a project or community include using an official project e-mail
57
+ address, posting via an official social media account, or acting as an appointed
58
+ representative at an online or offline event. Representation of a project may be
59
+ further defined and clarified by project maintainers.
60
+
61
+
62
+ ## Conflict Resolution
63
+
64
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at openstef@lfenergy.org. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
65
+
66
+ Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project’s leadership.
67
+
68
+ ## Attribution
69
+
70
+ This Code of Conduct is adapted from the Contributor Covenant, version 1.4,
71
+ available at
72
+ https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
@@ -0,0 +1,39 @@
1
+ <!--
2
+ SPDX-FileCopyrightText: 2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
3
+
4
+ SPDX-License-Identifier: MPL-2.0
5
+ -->
6
+
7
+ # Contributing to OpenSTEF
8
+
9
+ Thank you for your interest in contributing to OpenSTEF! 🚀
10
+
11
+ ## Quick Start
12
+
13
+ 1. **Read our contributing guide**: [openstef.github.io/openstef/contribute](https://openstef.github.io/openstef/contribute/index.html)
14
+ 2. **Install dependencies**: `uv sync --group dev`
15
+ 3. **Make your changes** and ensure all checks pass: `uv run poe all --check`
16
+ 4. **Submit a pull request**
17
+
18
+ ## Documentation
19
+
20
+ For information about:
21
+
22
+ - 🛠️ **Development setup** - Environment setup with uv and modern Python tools
23
+ - 🔄 **Development workflow** - Branch naming, commit messages, and PR process
24
+ - 📝 **Documentation guidelines** - Writing docs and examples
25
+ - 🧪 **Testing standards** - Writing and running tests
26
+ - 📋 **Style guide** - Code formatting and quality standards
27
+
28
+ **Visit our full contributing guide: [openstef.github.io/openstef/contribute](https://openstef.github.io/openstef/contribute/index.html)**
29
+
30
+ ## Getting Help
31
+
32
+ - 💬 **Slack**: [LF Energy workspace](https://slack.lfenergy.org/) (#openstef channel)
33
+ - 🐛 **Issues**: [GitHub Issues](https://github.com/OpenSTEF/openstef/issues)
34
+ - 📧 **Email**: openstef@lfenergy.org
35
+ - 📖 **Support**: [Support page](https://openstef.github.io/openstef/project/support.html)
36
+
37
+ ## Good First Issues
38
+
39
+ New contributors should look for [`good first issue`](https://github.com/OpenSTEF/openstef/labels/good%20first%20issue) labels!
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: OpenSTEF 4.0 Project Story
3
+ about: Describe this issue template's purpose here.
4
+ title: "[OpenSTEF 4.0] "
5
+ labels: OpenSTEF 4.0
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ As
11
+ I want to
12
+ So that I
13
+
14
+ 🌍 Background
15
+
16
+ > [!IMPORTANT]
17
+ > Changes should be done by forking [OpenSTEF 4.0.0 tracking branch](https://github.com/OpenSTEF/openstef/tree/release/v4.0.0) (`release/v4.0.0`) and then make a PR back onto `release/v4.0.0` branch.
18
+ > Please read the [contributing guide](https://openstef.github.io/openstef/v4/contribute/index.html) before you start.
19
+
20
+ ❗Priority (What if we don't do this?/Are there any deadlines? etc.)
21
+
22
+ Definition of Done:
23
+
24
+ ✅ Acceptance criteria
25
+
26
+ - [ ]
27
+
28
+ 📄 Documentation criteria:
29
+
30
+ Interfaces with other products and services
31
+
32
+ Update relevant confluence pages
33
+
34
+ 🧪 Test criteria:
35
+
36
+ Unit tests written and passed
37
+
38
+ ⌛ Dependencies:
39
+
40
+ N/A
41
+
42
+ 🚀 Releasing:
43
+
44
+ N/A
45
+
46
+ Other information:
47
+
@@ -0,0 +1,63 @@
1
+ # SPDX-FileCopyrightText: 2026 Contributors to the OpenSTEF project <openstef@lfenergy.org>
2
+ # SPDX-License-Identifier: MPL-2.0
3
+
4
+ # Dependabot configuration for the OpenSTEF uv workspace.
5
+ #
6
+ # - Patch/minor updates are grouped into daily PRs; majors stay individual.
7
+ # - Cooldown delays brand-new releases by a few days as supply-chain protection.
8
+ # - Security advisories are in their own group, exempt from cooldown.
9
+
10
+ version: 2
11
+
12
+ updates:
13
+ - package-ecosystem: uv
14
+ directories:
15
+ - "/"
16
+ - "/docs"
17
+ - "/examples"
18
+ - "/packages/openstef-beam"
19
+ - "/packages/openstef-core"
20
+ - "/packages/openstef-meta"
21
+ - "/packages/openstef-models"
22
+ schedule:
23
+ interval: daily
24
+ time: "06:00"
25
+ timezone: Europe/Amsterdam
26
+ open-pull-requests-limit: 10
27
+ commit-message:
28
+ prefix: "chore(deps)"
29
+ include: scope
30
+ labels:
31
+ - dependencies
32
+ - python:uv
33
+ cooldown:
34
+ default-days: 3
35
+ semver-patch-days: 2
36
+ semver-minor-days: 5
37
+ semver-major-days: 7
38
+ groups:
39
+ python-security:
40
+ applies-to: security-updates
41
+ update-types: [patch, minor]
42
+ python-versions:
43
+ applies-to: version-updates
44
+ update-types: [patch, minor]
45
+
46
+ - package-ecosystem: github-actions
47
+ directory: "/"
48
+ schedule:
49
+ interval: daily
50
+ time: "06:00"
51
+ timezone: Europe/Amsterdam
52
+ open-pull-requests-limit: 5
53
+ commit-message:
54
+ prefix: "chore(ci)"
55
+ include: scope
56
+ labels:
57
+ - dependencies
58
+ - github-actions
59
+ cooldown:
60
+ default-days: 3
61
+ groups:
62
+ actions-all:
63
+ patterns: ["*"]
@@ -0,0 +1,7 @@
1
+ # SPDX-FileCopyrightText: 2017-2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
2
+ #
3
+ # SPDX-License-Identifier: MPL-2.0
4
+ # config of action in ./workflows/...
5
+ feature: ['feature*', 'feat*']
6
+ fix: ['fix*','bugfix*','hotfix*', 'bug*']
7
+ chore: ['chore*', 'doc*']
@@ -0,0 +1,68 @@
1
+ # SPDX-FileCopyrightText: 2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
2
+ #
3
+ # SPDX-License-Identifier: MPL-2.0
4
+
5
+ name: Quality Check
6
+ on:
7
+ workflow_call:
8
+ inputs:
9
+ # _SKIP*: sometimes you want to quickly test something, without having the whole suite kicking in.
10
+ # This is a lazy way to switch on and off steps. But never set it to true in main.
11
+ _SKIP_QUALITY:
12
+ type: boolean
13
+ default: false
14
+ description: for debug purposes only - if true skip all quality checks.
15
+
16
+ jobs:
17
+ builder:
18
+ name: Quality Checks
19
+ # Avoid duplicate runs: run on push (same-repo branches) OR on pull_request only if from a fork
20
+ runs-on: ubuntu-latest
21
+ steps:
22
+ - name: Checkout # Must be done before using composite actions
23
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
24
+ with:
25
+ show-progress: false # very verbose for not much
26
+ - name: Install uv
27
+ uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
28
+ # uv is needed for qa and deploy, so is kinda always needed. No need to skip it.
29
+ with:
30
+ activate-environment: true
31
+ enable-cache: true
32
+ - name: Install dependencies
33
+ if: ${{ always() }}
34
+ run: uv sync --frozen --no-install-project --all-groups --all-extras --all-packages
35
+
36
+ # Run quality checks
37
+ - name: reuse
38
+ if: ${{ ! inputs._SKIP_QUALITY && always() }}
39
+ run: poe reuse
40
+ - name: licensecheck
41
+ if: ${{ ! inputs._SKIP_QUALITY && always() }}
42
+ run: poe licensecheck --check
43
+ - name: lint
44
+ if: ${{ ! inputs._SKIP_QUALITY && always() }}
45
+ run: poe lint --check
46
+ - name: format
47
+ if: ${{ ! inputs._SKIP_QUALITY && always() }}
48
+ run: poe format --check
49
+ - name: format-pyproject
50
+ if: ${{ ! inputs._SKIP_QUALITY && always() }}
51
+ run: poe format-pyproject --check
52
+ - name: typing
53
+ if: ${{ ! inputs._SKIP_QUALITY && always() }}
54
+ run: poe type
55
+ - name: tests
56
+ if: ${{ ! inputs._SKIP_QUALITY && always() }}
57
+ run: poe tests
58
+ - name: doctests
59
+ if: ${{ ! inputs._SKIP_QUALITY && always() }}
60
+ run: poe doctests
61
+ - name: notebooks-check
62
+ if: ${{ ! inputs._SKIP_QUALITY && always() }}
63
+ run: poe notebooks-check
64
+
65
+ - name: Stop if any quality step failed
66
+ # All tests are run with always() not to stop on the first error. This step makes the workflow fail if any quality step failed.
67
+ if: ${{ failure() }}
68
+ run: exit 1
@@ -0,0 +1,21 @@
1
+ # SPDX-FileCopyrightText: 2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
2
+ # SPDX-License-Identifier: MPL-2.0
3
+
4
+ name: Quality Check
5
+ concurrency:
6
+ group: ${{ github.workflow }}-${{ github.ref }}
7
+ cancel-in-progress: true
8
+
9
+ on:
10
+ push:
11
+ branches: ['main']
12
+ pull_request:
13
+ types: [opened, synchronize, reopened, closed]
14
+
15
+ permissions:
16
+ contents: read
17
+
18
+ jobs:
19
+ quality:
20
+ name: Quality Checks
21
+ uses: ./.github/workflows/_job_quality_check.yaml
@@ -0,0 +1,41 @@
1
+ # SPDX-FileCopyrightText: 2017-2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
2
+ #
3
+ # SPDX-License-Identifier: MPL-2.0
4
+
5
+ name: Validate citation
6
+
7
+ on:
8
+ # Run pipeline on push event of main branch, or when CITATIONS path has changed
9
+ push:
10
+ branches:
11
+ - main
12
+ paths:
13
+ - CITATION.cff
14
+ - .github/workflows/citations.yml
15
+ pull_request:
16
+ paths:
17
+ - CITATION.cff
18
+ - .github/workflows/citations.yml
19
+ # Run pipeline from another workflow
20
+ workflow_call:
21
+ # Run this workflow manually from the Actions tab
22
+ workflow_dispatch:
23
+
24
+ concurrency:
25
+ group: ${{ github.workflow }}-${{ github.ref }}-citations
26
+ cancel-in-progress: true
27
+
28
+ permissions:
29
+ contents: read
30
+
31
+ jobs:
32
+ validate-citations:
33
+ runs-on: ubuntu-24.04
34
+ steps:
35
+ - name: checkout
36
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
37
+ - name: Install R
38
+ run: |
39
+ sudo apt-get update && sudo apt-get install -y r-base
40
+ - name: Validate CITATION.cff
41
+ uses: dieghernan/cff-validator@54c8e737314b948f25c0e5524a9d8ae3f39b207b # v5.0.1
@@ -0,0 +1,89 @@
1
+ # SPDX-FileCopyrightText: 2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
2
+ #
3
+ # SPDX-License-Identifier: MPL-2.0
4
+
5
+ name: Deploy Documentation
6
+
7
+ on:
8
+ push:
9
+ branches: [ main ]
10
+ workflow_dispatch:
11
+
12
+ permissions:
13
+ contents: write
14
+ pages: write
15
+ id-token: write
16
+
17
+ jobs:
18
+ deploy-docs:
19
+ name: Build and Deploy Documentation
20
+ runs-on: ubuntu-latest
21
+
22
+ steps:
23
+ - name: Checkout main
24
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
25
+ with:
26
+ show-progress: false
27
+
28
+ - name: Install uv
29
+ uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
30
+ with:
31
+ activate-environment: true
32
+ enable-cache: true
33
+
34
+ - name: Install dependencies
35
+ run: uv sync --frozen --no-install-project --all-groups --all-extras
36
+
37
+ - name: Build Sphinx documentation
38
+ run: poe docs
39
+
40
+ - name: Checkout gh-pages branch for deployment
41
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
42
+ with:
43
+ ref: gh-pages
44
+ path: gh-pages-repo
45
+ show-progress: false
46
+
47
+ - name: Update documentation
48
+ run: |
49
+ # One-shot: archive the existing v3 site into /v3/ if not already done.
50
+ # Detected by absence of /v3/ and presence of index.html at the root.
51
+ if [ ! -d gh-pages-repo/v3 ] && [ -f gh-pages-repo/index.html ]; then
52
+ echo "Archiving existing v3 documentation to gh-pages-repo/v3/"
53
+ mkdir -p gh-pages-repo/v3
54
+ find gh-pages-repo -maxdepth 1 -mindepth 1 \
55
+ ! -name v3 ! -name v4 ! -name .git ! -name .nojekyll \
56
+ -exec mv {} gh-pages-repo/v3/ \;
57
+ fi
58
+
59
+ # Clear root (but preserve /v3/, /v4/, .git, .nojekyll) and deploy.
60
+ find gh-pages-repo -maxdepth 1 -mindepth 1 \
61
+ ! -name v3 ! -name v4 ! -name .git ! -name .nojekyll \
62
+ -exec rm -rf {} +
63
+ cp -r docs/build/html/. gh-pages-repo/
64
+
65
+ - name: Configure git, stage, and commit changes
66
+ run: |
67
+ cd gh-pages-repo
68
+
69
+ # Configure git
70
+ git config --local user.email "action@github.com"
71
+ git config --local user.name "GitHub Action"
72
+
73
+ # Stage changes
74
+ git add -A
75
+
76
+ # Check if there are staged changes and commit if so
77
+ if ! git diff --staged --quiet; then
78
+ git commit -m "Deploy documentation from $(echo $GITHUB_SHA | cut -c1-7)"
79
+ echo "✅ Changes committed successfully"
80
+ else
81
+ echo "ℹ️ No changes to commit"
82
+ fi
83
+
84
+ - name: Push changes to gh-pages
85
+ uses: ad-m/github-push-action@881a6320fdb16eb5318c5054f31c218aec2b324c # v1
86
+ with:
87
+ github_token: ${{ secrets.GITHUB_TOKEN }}
88
+ branch: gh-pages
89
+ directory: gh-pages-repo
@@ -0,0 +1,21 @@
1
+ # SPDX-FileCopyrightText: 2017-2022 Contributors to the OpenSTEF project <openstef@lfenergy.org>
2
+ #
3
+ # SPDX-License-Identifier: MPL-2.0
4
+ # Automatically label PRs, config in ../pr-labler.yml
5
+ name: PR Labeler
6
+ on:
7
+ pull_request:
8
+ types: [opened]
9
+
10
+ jobs:
11
+ pr-labeler:
12
+ permissions:
13
+ contents: read # To read config file
14
+ pull-requests: write # To add labels
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - uses: TimonVS/pr-labeler-action@f9c084306ce8b3f488a8f3ee1ccedc6da131d1af # v5
18
+ with:
19
+ configuration-path: .github/pr-labeler.yml
20
+ env:
21
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,65 @@
1
+ # SPDX-FileCopyrightText: 2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
2
+ # SPDX-License-Identifier: MPL-2.0
3
+
4
+ name: Dev Release
5
+ concurrency:
6
+ group: ${{ github.workflow }}-${{ github.ref }}
7
+ cancel-in-progress: true
8
+
9
+ on:
10
+ push:
11
+ branches: ['main']
12
+
13
+ permissions:
14
+ contents: read
15
+
16
+ jobs:
17
+ quality:
18
+ name: Quality Checks
19
+ uses: ./.github/workflows/_job_quality_check.yaml
20
+
21
+ deploy-dev:
22
+ name: Release Dev Version
23
+ needs: quality
24
+ runs-on: ubuntu-latest
25
+ if: ${{ needs.quality.result == 'success' }}
26
+ permissions:
27
+ # IMPORTANT: this permission is mandatory for trusted publishing
28
+ id-token: write
29
+ steps:
30
+ - name: Checkout
31
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
32
+ with:
33
+ fetch-depth: 0
34
+ show-progress: false
35
+ - name: Install uv
36
+ uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
37
+ with:
38
+ activate-environment: true
39
+ enable-cache: true
40
+ - name: Install build dependencies
41
+ run: uv sync --frozen --no-install-project --all-groups --all-extras
42
+
43
+ # Start of release steps
44
+ - name: Compute ephemeral dev version
45
+ id: ver
46
+ run: |
47
+ set -euo pipefail
48
+ BASE_VERSION="4.0.0"
49
+ TS=$(date -u +%Y%m%d%H%M)
50
+ HASH=$(git rev-parse --short=8 HEAD)
51
+ VERSION="${BASE_VERSION}.dev${TS}+g${HASH}"
52
+ echo "Computed version: $VERSION"
53
+ echo "version=${VERSION}" >> "$GITHUB_OUTPUT"
54
+ - name: Apply version
55
+ run: poe version --version '${{ steps.ver.outputs.version }}'
56
+ - name: Build all packages
57
+ run: poe build
58
+ - name: Publish packages
59
+ if: false # Set to true once mvp is ready.
60
+ env:
61
+ UV_PUBLISH_USERNAME: ${{ secrets.PYPI_USERNAME }}
62
+ UV_PUBLISH_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
63
+ run: uv publish
64
+ - name: Summary
65
+ run: echo "Published version ${{ steps.ver.outputs.version }}"
@@ -0,0 +1,83 @@
1
+ # SPDX-FileCopyrightText: 2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
2
+ # SPDX-License-Identifier: MPL-2.0
3
+
4
+ name: Release V4
5
+ concurrency:
6
+ group: ${{ github.workflow }}-${{ github.ref }}
7
+ cancel-in-progress: true
8
+
9
+ on:
10
+ release:
11
+ types: [published]
12
+ workflow_dispatch:
13
+ inputs:
14
+ version:
15
+ description: 'Version tag to release (e.g., v4.1.0 or 4.1.0). Prefixing with v is optional.'
16
+ required: true
17
+ default: ""
18
+
19
+ permissions:
20
+ contents: read
21
+
22
+ jobs:
23
+ quality:
24
+ if: ${{ startsWith(github.ref, 'refs/tags/v4.') || (github.event_name == 'workflow_dispatch' && startsWith(github.event.inputs.version, 'v4')) }}
25
+ name: Quality Checks
26
+ uses: ./.github/workflows/_job_quality_check.yaml
27
+
28
+ release-pypi:
29
+ name: Release PyPI Package
30
+ needs: quality
31
+ runs-on: ubuntu-latest
32
+ environment: release
33
+ if: ${{ (startsWith(github.ref, 'refs/tags/v4.') || (github.event_name == 'workflow_dispatch' && startsWith(github.event.inputs.version, 'v4'))) && needs.quality.result == 'success' }}
34
+ permissions:
35
+ # IMPORTANT: this permission is mandatory for trusted publishing
36
+ id-token: write
37
+ steps:
38
+ - name: Checkout
39
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
40
+ with:
41
+ fetch-depth: 0
42
+ show-progress: false
43
+ - name: Install uv
44
+ uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
45
+ with:
46
+ activate-environment: true
47
+ enable-cache: true
48
+ - name: Install build dependencies
49
+ run: uv sync --frozen --no-install-project --all-groups --all-extras
50
+
51
+ # Start of release steps
52
+ - name: Set version from release
53
+ id: ver
54
+ env:
55
+ RELEASE_TAG: ${{ github.event.release.tag_name }}
56
+ INPUT_VERSION: ${{ github.event.inputs.version }}
57
+ run: |
58
+ # Prefer release payload tag_name, otherwise fallback to the workflow_dispatch input
59
+ if [ -n "$RELEASE_TAG" ]; then
60
+ VERSION="$RELEASE_TAG"
61
+ elif [ -n "$INPUT_VERSION" ]; then
62
+ VERSION="$INPUT_VERSION"
63
+ else
64
+ # As a last-resort fallback, try to get the ref tag from GITHUB_REF
65
+ if [[ "$GITHUB_REF" == refs/tags/* ]]; then
66
+ VERSION="${GITHUB_REF#refs/tags/}"
67
+ else
68
+ echo "No version provided via release or workflow input, aborting"
69
+ exit 1
70
+ fi
71
+ fi
72
+ # Remove leading 'v' if present
73
+ VERSION="${VERSION#v}"
74
+ echo "Release version: $VERSION"
75
+ echo "version=${VERSION}" >> "$GITHUB_OUTPUT"
76
+ - name: Apply version
77
+ run: poe version --version "${{ steps.ver.outputs.version }}"
78
+ - name: Build all packages
79
+ run: poe build
80
+ - name: Publish packages
81
+ run: uv publish --trusted-publishing always
82
+ - name: Summary
83
+ run: echo "Published version ${{ steps.ver.outputs.version }}"