openstef 4.0.0.dev1__tar.gz → 4.1.0__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 (932) hide show
  1. openstef-4.1.0/.github/CODEOWNERS +7 -0
  2. openstef-4.1.0/.github/ISSUE_TEMPLATE/openstef-project-story.md +38 -0
  3. openstef-4.1.0/.github/dependabot.yml +75 -0
  4. openstef-4.1.0/.github/pr-labeler.yml +7 -0
  5. openstef-4.1.0/.github/workflows/_job_quality_check.yaml +81 -0
  6. openstef-4.1.0/.github/workflows/check.yaml +22 -0
  7. openstef-4.1.0/.github/workflows/citations.yaml +41 -0
  8. openstef-4.1.0/.github/workflows/docs-check.yaml +62 -0
  9. openstef-4.1.0/.github/workflows/docs.yaml +89 -0
  10. openstef-4.1.0/.github/workflows/pr-labeler.yaml +21 -0
  11. openstef-4.1.0/.github/workflows/release-v4.yaml +83 -0
  12. openstef-4.1.0/.gitignore +147 -0
  13. openstef-4.1.0/CITATION.cff +63 -0
  14. openstef-4.1.0/COMMITTERS.md +9 -0
  15. openstef-4.1.0/PKG-INFO +188 -0
  16. openstef-4.1.0/README.md +148 -0
  17. openstef-4.1.0/REUSE.toml +21 -0
  18. openstef-4.1.0/THIRD_PARTY_NOTICES.md +1291 -0
  19. openstef-4.1.0/docs/.gitkeep +3 -0
  20. openstef-4.1.0/docs/autosummary_cache.py +132 -0
  21. openstef-4.1.0/docs/autosummary_helpers.py +40 -0
  22. openstef-4.1.0/docs/pyproject.toml +54 -0
  23. openstef-4.1.0/docs/source/_figures/generate_concept_figures.py +351 -0
  24. openstef-4.1.0/docs/source/_figures/generate_guide_figures.py +272 -0
  25. openstef-4.1.0/docs/source/_static/css/custom.css +24 -0
  26. openstef-4.1.0/docs/source/_static/versions.json.license +3 -0
  27. openstef-4.1.0/docs/source/_templates/custom_class.rst +13 -0
  28. openstef-4.1.0/docs/source/_templates/custom_class_noindex.rst +14 -0
  29. openstef-4.1.0/docs/source/_templates/custom_function.rst +10 -0
  30. openstef-4.1.0/docs/source/_templates/module_overview.rst +71 -0
  31. openstef-4.1.0/docs/source/_templates/package_overview.rst +100 -0
  32. openstef-4.1.0/docs/source/api/beam.rst +25 -0
  33. openstef-4.1.0/docs/source/api/core.rst +26 -0
  34. openstef-4.1.0/docs/source/api/index.rst +102 -0
  35. openstef-4.1.0/docs/source/api/meta.rst +21 -0
  36. openstef-4.1.0/docs/source/api/models.rst +26 -0
  37. openstef-4.1.0/docs/source/conf.py +489 -0
  38. openstef-4.1.0/docs/source/contribute/_getting_help.rst +15 -0
  39. openstef-4.1.0/docs/source/contribute/code_of_conduct.rst +11 -0
  40. openstef-4.1.0/docs/source/contribute/code_style_guide.rst +1209 -0
  41. openstef-4.1.0/docs/source/contribute/contributing_guide.rst +13 -0
  42. openstef-4.1.0/docs/source/contribute/development_setup.rst +200 -0
  43. openstef-4.1.0/docs/source/contribute/development_workflow.rst +334 -0
  44. openstef-4.1.0/docs/source/contribute/document.rst +506 -0
  45. openstef-4.1.0/docs/source/contribute/index.rst +211 -0
  46. openstef-4.1.0/docs/source/diagrams/user_guide/concepts/beam_diagram_1.mmd +17 -0
  47. openstef-4.1.0/docs/source/diagrams/user_guide/concepts/beam_diagram_1.mmd.license +3 -0
  48. openstef-4.1.0/docs/source/diagrams/user_guide/concepts/component_splitting_diagram_1.mmd +17 -0
  49. openstef-4.1.0/docs/source/diagrams/user_guide/concepts/component_splitting_diagram_1.mmd.license +3 -0
  50. openstef-4.1.0/docs/source/diagrams/user_guide/concepts/intro_to_energy_forecasting_diagram_1.mmd +11 -0
  51. openstef-4.1.0/docs/source/diagrams/user_guide/concepts/intro_to_energy_forecasting_diagram_1.mmd.license +3 -0
  52. openstef-4.1.0/docs/source/diagrams/user_guide/concepts/metalearning_diagram_1.mmd +24 -0
  53. openstef-4.1.0/docs/source/diagrams/user_guide/concepts/metalearning_diagram_1.mmd.license +3 -0
  54. openstef-4.1.0/docs/source/diagrams/user_guide/concepts/metalearning_diagram_2.mmd +14 -0
  55. openstef-4.1.0/docs/source/diagrams/user_guide/concepts/metalearning_diagram_2.mmd.license +3 -0
  56. openstef-4.1.0/docs/source/diagrams/user_guide/concepts/metalearning_diagram_3.mmd +20 -0
  57. openstef-4.1.0/docs/source/diagrams/user_guide/concepts/metalearning_diagram_3.mmd.license +3 -0
  58. openstef-4.1.0/docs/source/diagrams/user_guide/concepts/models_diagram_1.mmd +21 -0
  59. openstef-4.1.0/docs/source/diagrams/user_guide/concepts/models_diagram_1.mmd.license +3 -0
  60. openstef-4.1.0/docs/source/diagrams/user_guide/getting_started/migration_diagram_1.mmd +12 -0
  61. openstef-4.1.0/docs/source/diagrams/user_guide/getting_started/migration_diagram_1.mmd.license +3 -0
  62. openstef-4.1.0/docs/source/diagrams/user_guide/guides/datasets_diagram_1.mmd +17 -0
  63. openstef-4.1.0/docs/source/diagrams/user_guide/guides/datasets_diagram_1.mmd.license +3 -0
  64. openstef-4.1.0/docs/source/diagrams/user_guide/guides/datasets_diagram_2.mmd +17 -0
  65. openstef-4.1.0/docs/source/diagrams/user_guide/guides/datasets_diagram_2.mmd.license +3 -0
  66. openstef-4.1.0/docs/source/diagrams/user_guide/guides/deployment_diagram_1.mmd +16 -0
  67. openstef-4.1.0/docs/source/diagrams/user_guide/guides/deployment_diagram_1.mmd.license +3 -0
  68. openstef-4.1.0/docs/source/diagrams/user_guide/guides/deployment_diagram_2.mmd +20 -0
  69. openstef-4.1.0/docs/source/diagrams/user_guide/guides/deployment_diagram_2.mmd.license +3 -0
  70. openstef-4.1.0/docs/source/diagrams/user_guide/guides/forecasting_diagram_1.mmd +24 -0
  71. openstef-4.1.0/docs/source/diagrams/user_guide/guides/forecasting_diagram_1.mmd.license +3 -0
  72. openstef-4.1.0/docs/source/diagrams/user_guide/guides/probabilistic_forecasting_diagram_1.mmd +16 -0
  73. openstef-4.1.0/docs/source/diagrams/user_guide/guides/probabilistic_forecasting_diagram_1.mmd.license +3 -0
  74. openstef-4.1.0/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_1.mmd +21 -0
  75. openstef-4.1.0/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_1.mmd.license +3 -0
  76. openstef-4.1.0/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_2.mmd +14 -0
  77. openstef-4.1.0/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_2.mmd.license +3 -0
  78. openstef-4.1.0/docs/source/examples.rst +123 -0
  79. openstef-4.1.0/docs/source/images/concepts/aggregation_comparison.svg +1 -0
  80. openstef-4.1.0/docs/source/images/concepts/aggregation_comparison.svg.license +3 -0
  81. openstef-4.1.0/docs/source/images/concepts/backtesting_simulation.gif +0 -0
  82. openstef-4.1.0/docs/source/images/concepts/backtesting_simulation.gif.license +3 -0
  83. openstef-4.1.0/docs/source/images/concepts/forecast_confidence_bands.svg +1 -0
  84. openstef-4.1.0/docs/source/images/concepts/forecast_confidence_bands.svg.license +3 -0
  85. openstef-4.1.0/docs/source/images/concepts/weekly_load_profile.svg +1 -0
  86. openstef-4.1.0/docs/source/images/concepts/weekly_load_profile.svg.license +3 -0
  87. openstef-4.1.0/docs/source/images/guides/calibration_plot.svg +1 -0
  88. openstef-4.1.0/docs/source/images/guides/calibration_plot.svg.license +3 -0
  89. openstef-4.1.0/docs/source/images/guides/flatline_detection.svg +2587 -0
  90. openstef-4.1.0/docs/source/images/guides/flatline_detection.svg.license +3 -0
  91. openstef-4.1.0/docs/source/images/guides/liander2024_rcrps_by_group.png +0 -0
  92. openstef-4.1.0/docs/source/images/guides/liander2024_rcrps_by_group.png.license +3 -0
  93. openstef-4.1.0/docs/source/images/guides/probabilistic_fan_chart.svg +1 -0
  94. openstef-4.1.0/docs/source/images/guides/probabilistic_fan_chart.svg.license +3 -0
  95. openstef-4.1.0/docs/source/images/methodology_train_predict.pptx.license +3 -0
  96. openstef-4.1.0/docs/source/images/methodology_train_predict.svg.license +3 -0
  97. openstef-4.1.0/docs/source/images/uncertainty_estimation.svg.license +3 -0
  98. openstef-4.1.0/docs/source/index.rst +176 -0
  99. openstef-4.1.0/docs/source/logos/favicon.ico.license +3 -0
  100. openstef-4.1.0/docs/source/logos/logo_openstef_small.png.license +3 -0
  101. openstef-4.1.0/docs/source/logos/openstef-horizontal-color.svg.license +3 -0
  102. openstef-4.1.0/docs/source/logos/openstef-horizontal-white.svg.license +3 -0
  103. openstef-4.1.0/docs/source/project/citing.rst +40 -0
  104. openstef-4.1.0/docs/source/project/committee.rst +29 -0
  105. openstef-4.1.0/docs/source/project/index.rst +38 -0
  106. openstef-4.1.0/docs/source/project/license.rst +24 -0
  107. openstef-4.1.0/docs/source/project/maintainers.rst +27 -0
  108. openstef-4.1.0/docs/source/project/support.rst +30 -0
  109. openstef-4.1.0/docs/source/user_guide/concepts/beam.rst +235 -0
  110. openstef-4.1.0/docs/source/user_guide/concepts/component_splitting.rst +189 -0
  111. openstef-4.1.0/docs/source/user_guide/concepts/index.rst +55 -0
  112. openstef-4.1.0/docs/source/user_guide/concepts/intro_to_energy_forecasting.rst +173 -0
  113. openstef-4.1.0/docs/source/user_guide/concepts/metalearning.rst +131 -0
  114. openstef-4.1.0/docs/source/user_guide/concepts/models.rst +207 -0
  115. openstef-4.1.0/docs/source/user_guide/external_resources.rst +9 -0
  116. openstef-4.1.0/docs/source/user_guide/getting_started/index.rst +41 -0
  117. openstef-4.1.0/docs/source/user_guide/getting_started/installation.rst +458 -0
  118. openstef-4.1.0/docs/source/user_guide/getting_started/migration.rst +320 -0
  119. openstef-4.1.0/docs/source/user_guide/guides/benchmark_results.rst +317 -0
  120. openstef-4.1.0/docs/source/user_guide/guides/deployment.rst +193 -0
  121. openstef-4.1.0/docs/source/user_guide/guides/forecasting.rst +156 -0
  122. openstef-4.1.0/docs/source/user_guide/guides/index.rst +83 -0
  123. openstef-4.1.0/docs/source/user_guide/guides/probabilistic_forecasting.rst +229 -0
  124. openstef-4.1.0/docs/source/user_guide/guides/reliability_fallback.rst +270 -0
  125. openstef-4.1.0/docs/source/user_guide/index.rst +51 -0
  126. openstef-4.1.0/docs/source/user_guide/intro/index.rst +17 -0
  127. openstef-4.1.0/docs/source/user_guide/intro/methodology_train_predict.rst +29 -0
  128. openstef-4.1.0/docs/source/user_guide/logging.rst +218 -0
  129. openstef-4.1.0/docs/source/user_guide/tutorials.rst +14 -0
  130. openstef-4.1.0/docs/sync_sources.py +171 -0
  131. openstef-4.1.0/examples/.gitkeep +3 -0
  132. openstef-4.1.0/examples/README.md +21 -0
  133. openstef-4.1.0/examples/__init__.py +4 -0
  134. openstef-4.1.0/examples/benchmarks/README.md +40 -0
  135. openstef-4.1.0/examples/benchmarks/__init__.py +4 -0
  136. openstef-4.1.0/examples/benchmarks/custom/README.md +136 -0
  137. openstef-4.1.0/examples/benchmarks/custom/__init__.py +4 -0
  138. openstef-4.1.0/examples/benchmarks/custom/compare_benchmark_runs.ipynb +131 -0
  139. openstef-4.1.0/examples/benchmarks/custom/compare_benchmark_runs.ipynb.license +3 -0
  140. openstef-4.1.0/examples/benchmarks/custom/compare_benchmark_runs.py +88 -0
  141. openstef-4.1.0/examples/benchmarks/custom/custom_benchmark.ipynb +308 -0
  142. openstef-4.1.0/examples/benchmarks/custom/custom_benchmark.ipynb.license +3 -0
  143. openstef-4.1.0/examples/benchmarks/custom/custom_benchmark.py +246 -0
  144. openstef-4.1.0/examples/benchmarks/custom/custom_forecaster.ipynb +177 -0
  145. openstef-4.1.0/examples/benchmarks/custom/custom_forecaster.ipynb.license +3 -0
  146. openstef-4.1.0/examples/benchmarks/custom/custom_forecaster.py +139 -0
  147. openstef-4.1.0/examples/benchmarks/custom/evaluate_existing_forecasts.ipynb +242 -0
  148. openstef-4.1.0/examples/benchmarks/custom/evaluate_existing_forecasts.ipynb.license +3 -0
  149. openstef-4.1.0/examples/benchmarks/custom/evaluate_existing_forecasts.py +176 -0
  150. openstef-4.1.0/examples/benchmarks/custom/run_custom_benchmark.ipynb +205 -0
  151. openstef-4.1.0/examples/benchmarks/custom/run_custom_benchmark.ipynb.license +3 -0
  152. openstef-4.1.0/examples/benchmarks/custom/run_custom_benchmark.py +138 -0
  153. openstef-4.1.0/examples/benchmarks/custom/run_liander2024_benchmark.ipynb +217 -0
  154. openstef-4.1.0/examples/benchmarks/custom/run_liander2024_benchmark.ipynb.license +3 -0
  155. openstef-4.1.0/examples/benchmarks/custom/run_liander2024_benchmark.py +150 -0
  156. openstef-4.1.0/examples/benchmarks/liander2024/README.md +26 -0
  157. openstef-4.1.0/examples/benchmarks/liander2024/__init__.py +4 -0
  158. openstef-4.1.0/examples/benchmarks/liander2024/compare_benchmark_runs.ipynb +150 -0
  159. openstef-4.1.0/examples/benchmarks/liander2024/compare_benchmark_runs.ipynb.license +3 -0
  160. openstef-4.1.0/examples/benchmarks/liander2024/compare_benchmark_runs.py +95 -0
  161. openstef-4.1.0/examples/benchmarks/liander2024/run_chronos2_benchmark.ipynb +296 -0
  162. openstef-4.1.0/examples/benchmarks/liander2024/run_chronos2_benchmark.ipynb.license +3 -0
  163. openstef-4.1.0/examples/benchmarks/liander2024/run_chronos2_benchmark.py +203 -0
  164. openstef-4.1.0/examples/benchmarks/liander2024/run_ensemble_benchmark.ipynb +267 -0
  165. openstef-4.1.0/examples/benchmarks/liander2024/run_ensemble_benchmark.ipynb.license +3 -0
  166. openstef-4.1.0/examples/benchmarks/liander2024/run_ensemble_benchmark.py +188 -0
  167. openstef-4.1.0/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.ipynb +241 -0
  168. openstef-4.1.0/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.ipynb.license +3 -0
  169. openstef-4.1.0/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.py +174 -0
  170. openstef-4.1.0/examples/deployment/.gitignore +8 -0
  171. openstef-4.1.0/examples/deployment/README.md +90 -0
  172. openstef-4.1.0/examples/deployment/pyproject.toml +104 -0
  173. openstef-4.1.0/examples/deployment/src/airflow_app/__init__.py +3 -0
  174. openstef-4.1.0/examples/deployment/src/airflow_app/dags/openstef_forecast.py +50 -0
  175. openstef-4.1.0/examples/deployment/src/airflow_app/dags/openstef_train.py +45 -0
  176. openstef-4.1.0/examples/deployment/src/celery_app/__init__.py +3 -0
  177. openstef-4.1.0/examples/deployment/src/celery_app/app.py +62 -0
  178. openstef-4.1.0/examples/deployment/src/celery_app/run.py +41 -0
  179. openstef-4.1.0/examples/deployment/src/celery_app/tasks.py +56 -0
  180. openstef-4.1.0/examples/deployment/src/common/__init__.py +3 -0
  181. openstef-4.1.0/examples/deployment/src/common/config.py +113 -0
  182. openstef-4.1.0/examples/deployment/src/common/pipeline.py +75 -0
  183. openstef-4.1.0/examples/deployment/src/common/services.py +70 -0
  184. openstef-4.1.0/examples/deployment/src/dagster_app/__init__.py +3 -0
  185. openstef-4.1.0/examples/deployment/src/dagster_app/definitions.py +69 -0
  186. openstef-4.1.0/examples/deployment/src/dagster_app/run.py +33 -0
  187. openstef-4.1.0/examples/deployment/tests/test_deployment.py +68 -0
  188. openstef-4.1.0/examples/pyproject.toml +31 -0
  189. openstef-4.1.0/examples/tutorials/.gitignore +16 -0
  190. openstef-4.1.0/examples/tutorials/backtesting_quickstart.ipynb +442 -0
  191. openstef-4.1.0/examples/tutorials/backtesting_quickstart.py +318 -0
  192. openstef-4.1.0/examples/tutorials/custom_pipeline.ipynb +499 -0
  193. openstef-4.1.0/examples/tutorials/custom_pipeline.py +319 -0
  194. openstef-4.1.0/examples/tutorials/datasets.py +519 -0
  195. openstef-4.1.0/examples/tutorials/ensemble_forecasting.ipynb +536 -0
  196. openstef-4.1.0/examples/tutorials/ensemble_forecasting.py +348 -0
  197. openstef-4.1.0/examples/tutorials/feature_engineering.ipynb +1557 -0
  198. openstef-4.1.0/examples/tutorials/feature_engineering.py +1074 -0
  199. openstef-4.1.0/examples/tutorials/forecasting_quickstart.ipynb +359 -0
  200. openstef-4.1.0/examples/tutorials/forecasting_quickstart.py +227 -0
  201. openstef-4.1.0/examples/tutorials/foundation_model_forecasting.ipynb +472 -0
  202. openstef-4.1.0/examples/tutorials/foundation_model_forecasting.py +277 -0
  203. openstef-4.1.0/examples/tutorials/hyperparameter_tuning_with_optuna.ipynb +528 -0
  204. openstef-4.1.0/examples/tutorials/hyperparameter_tuning_with_optuna.py +341 -0
  205. openstef-4.1.0/examples/tutorials/model_explainability.ipynb +347 -0
  206. openstef-4.1.0/examples/tutorials/model_explainability.py +202 -0
  207. openstef-4.1.0/examples/tutorials/quantile_calibration.ipynb +380 -0
  208. openstef-4.1.0/examples/tutorials/quantile_calibration.py +259 -0
  209. openstef-4.1.0/jupytext.toml +7 -0
  210. openstef-4.1.0/packages/openstef-beam/README.md +7 -0
  211. openstef-4.1.0/packages/openstef-beam/pyproject.toml +52 -0
  212. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/__init__.py +43 -0
  213. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/analysis/__init__.py +32 -0
  214. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/analysis/analysis_pipeline.py +194 -0
  215. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/analysis/models/__init__.py +24 -0
  216. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/analysis/models/target_metadata.py +97 -0
  217. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/analysis/models/visualization_aggregation.py +63 -0
  218. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/analysis/models/visualization_output.py +93 -0
  219. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/analysis/plots/__init__.py +27 -0
  220. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/analysis/plots/forecast_time_series_plotter.py +729 -0
  221. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/analysis/plots/grouped_target_metric_plotter.py +175 -0
  222. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/analysis/plots/precision_recall_curve_plotter.py +153 -0
  223. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/analysis/plots/quantile_calibration_box_plotter.py +198 -0
  224. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/analysis/plots/quantile_probability_plotter.py +155 -0
  225. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/analysis/plots/summary_table_plotter.py +82 -0
  226. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/analysis/plots/windowed_metric_plotter.py +143 -0
  227. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/analysis/visualizations/__init__.py +33 -0
  228. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/analysis/visualizations/base.py +250 -0
  229. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/analysis/visualizations/grouped_target_metric_visualization.py +351 -0
  230. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/analysis/visualizations/precision_recall_curve_visualization.py +195 -0
  231. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/analysis/visualizations/quantile_calibration_box_visualization.py +240 -0
  232. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/analysis/visualizations/quantile_probability_visualization.py +221 -0
  233. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/analysis/visualizations/summary_table_visualization.py +320 -0
  234. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/analysis/visualizations/timeseries_visualization.py +155 -0
  235. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/analysis/visualizations/windowed_metric_visualization.py +429 -0
  236. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/backtesting/__init__.py +23 -0
  237. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/backtesting/backtest_callback.py +9 -0
  238. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/backtesting/backtest_event.py +57 -0
  239. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/backtesting/backtest_event_generator.py +207 -0
  240. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/__init__.py +25 -0
  241. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/dummy_forecaster.py +76 -0
  242. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/mixins.py +236 -0
  243. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/backtesting/backtest_pipeline.py +301 -0
  244. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/backtesting/restricted_horizon_timeseries.py +72 -0
  245. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/benchmarking/__init__.py +55 -0
  246. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/benchmarking/baselines/__init__.py +17 -0
  247. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/benchmarking/baselines/openstef4.py +243 -0
  248. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/benchmarking/benchmark_comparison_pipeline.py +255 -0
  249. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/benchmarking/benchmark_pipeline.py +420 -0
  250. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/benchmarking/benchmarks/__init__.py +14 -0
  251. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/benchmarking/benchmarks/liander2024.py +239 -0
  252. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/__init__.py +10 -0
  253. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/base.py +230 -0
  254. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/strict_execution_callback.py +39 -0
  255. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/benchmarking/models/__init__.py +9 -0
  256. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/benchmarking/models/benchmark_target.py +116 -0
  257. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/benchmarking/storage/__init__.py +16 -0
  258. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/benchmarking/storage/base.py +254 -0
  259. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/benchmarking/storage/local_storage.py +163 -0
  260. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/benchmarking/storage/s3_storage.py +193 -0
  261. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/benchmarking/target_provider.py +414 -0
  262. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/evaluation/__init__.py +43 -0
  263. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/evaluation/evaluation_pipeline.py +318 -0
  264. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/evaluation/metric_providers.py +757 -0
  265. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/evaluation/models/__init__.py +21 -0
  266. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/evaluation/models/report.py +150 -0
  267. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/evaluation/models/subset.py +100 -0
  268. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/evaluation/models/window.py +136 -0
  269. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/evaluation/window_iterators.py +117 -0
  270. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/metrics/__init__.py +60 -0
  271. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/metrics/metrics_deterministic.py +663 -0
  272. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/metrics/metrics_helpers.py +47 -0
  273. openstef-4.1.0/packages/openstef-beam/src/openstef_beam/metrics/metrics_probabilistic.py +279 -0
  274. openstef-4.1.0/packages/openstef-beam/tests/__init__.py +3 -0
  275. openstef-4.1.0/packages/openstef-beam/tests/unit/__init__.py +3 -0
  276. openstef-4.1.0/packages/openstef-beam/tests/unit/analysis/plots/test_forecast_time_series_plotter.py +545 -0
  277. openstef-4.1.0/packages/openstef-beam/tests/unit/analysis/plots/test_grouped_target_metric_plotter.py +114 -0
  278. openstef-4.1.0/packages/openstef-beam/tests/unit/analysis/plots/test_precision_recall_curve_plotter.py +100 -0
  279. openstef-4.1.0/packages/openstef-beam/tests/unit/analysis/plots/test_quantile_calibration_box_plotter.py +114 -0
  280. openstef-4.1.0/packages/openstef-beam/tests/unit/analysis/plots/test_quantile_probability_plotter.py +124 -0
  281. openstef-4.1.0/packages/openstef-beam/tests/unit/analysis/plots/test_summary_table_plotter.py +25 -0
  282. openstef-4.1.0/packages/openstef-beam/tests/unit/analysis/plots/test_windowed_metric_plotter.py +91 -0
  283. openstef-4.1.0/packages/openstef-beam/tests/unit/analysis/test_analysis_pipeline.py +298 -0
  284. openstef-4.1.0/packages/openstef-beam/tests/unit/analysis/visualizations/conftest.py +196 -0
  285. openstef-4.1.0/packages/openstef-beam/tests/unit/analysis/visualizations/test_grouped_target_metric_visualization.py +468 -0
  286. openstef-4.1.0/packages/openstef-beam/tests/unit/analysis/visualizations/test_precision_recall_curve_visualization.py +217 -0
  287. openstef-4.1.0/packages/openstef-beam/tests/unit/analysis/visualizations/test_quantile_calibration_box_visualization.py +290 -0
  288. openstef-4.1.0/packages/openstef-beam/tests/unit/analysis/visualizations/test_quantile_probability_visualization.py +247 -0
  289. openstef-4.1.0/packages/openstef-beam/tests/unit/analysis/visualizations/test_summary_table_visualization.py +186 -0
  290. openstef-4.1.0/packages/openstef-beam/tests/unit/analysis/visualizations/test_timeseries_visualization.py +168 -0
  291. openstef-4.1.0/packages/openstef-beam/tests/unit/analysis/visualizations/test_windowed_metric_visualization.py +496 -0
  292. openstef-4.1.0/packages/openstef-beam/tests/unit/backtesting/test_backtest_event_generator.py +220 -0
  293. openstef-4.1.0/packages/openstef-beam/tests/unit/backtesting/test_backtest_pipeline.py +385 -0
  294. openstef-4.1.0/packages/openstef-beam/tests/unit/backtesting/test_batch_prediction.py +216 -0
  295. openstef-4.1.0/packages/openstef-beam/tests/unit/benchmarking/baselines/__init__.py +3 -0
  296. openstef-4.1.0/packages/openstef-beam/tests/unit/benchmarking/baselines/test_openstef4.py +191 -0
  297. openstef-4.1.0/packages/openstef-beam/tests/unit/benchmarking/storage/test_local_storage.py +301 -0
  298. openstef-4.1.0/packages/openstef-beam/tests/unit/benchmarking/storage/test_s3_storage.py +288 -0
  299. openstef-4.1.0/packages/openstef-beam/tests/unit/benchmarking/test_benchmark_pipeline.py +448 -0
  300. openstef-4.1.0/packages/openstef-beam/tests/unit/benchmarking/test_target_provider.py +159 -0
  301. openstef-4.1.0/packages/openstef-beam/tests/unit/evaluation/__init__.py +3 -0
  302. openstef-4.1.0/packages/openstef-beam/tests/unit/evaluation/models/__init__.py +3 -0
  303. openstef-4.1.0/packages/openstef-beam/tests/unit/evaluation/models/test_window.py +72 -0
  304. openstef-4.1.0/packages/openstef-beam/tests/unit/evaluation/test_evaluation_pipeline.py +153 -0
  305. openstef-4.1.0/packages/openstef-beam/tests/unit/evaluation/test_metric_provider.py +123 -0
  306. openstef-4.1.0/packages/openstef-beam/tests/unit/evaluation/test_window_iterators.py +87 -0
  307. openstef-4.1.0/packages/openstef-beam/tests/unit/metrics/test_metrics_deterministic.py +623 -0
  308. openstef-4.1.0/packages/openstef-beam/tests/unit/metrics/test_metrics_helpers.py +31 -0
  309. openstef-4.1.0/packages/openstef-beam/tests/unit/metrics/test_metrics_probabilistic.py +208 -0
  310. openstef-4.1.0/packages/openstef-beam/tests/utils/mocks.py +112 -0
  311. openstef-4.1.0/packages/openstef-core/README.md +7 -0
  312. openstef-4.1.0/packages/openstef-core/pyproject.toml +45 -0
  313. openstef-4.1.0/packages/openstef-core/src/openstef_core/__init__.py +4 -0
  314. openstef-4.1.0/packages/openstef-core/src/openstef_core/base_model.py +208 -0
  315. openstef-4.1.0/packages/openstef-core/src/openstef_core/constants.py +10 -0
  316. openstef-4.1.0/packages/openstef-core/src/openstef_core/datasets/__init__.py +37 -0
  317. openstef-4.1.0/packages/openstef-core/src/openstef_core/datasets/mixins.py +221 -0
  318. openstef-4.1.0/packages/openstef-core/src/openstef_core/datasets/timeseries_dataset.py +521 -0
  319. openstef-4.1.0/packages/openstef-core/src/openstef_core/datasets/validated_datasets.py +618 -0
  320. openstef-4.1.0/packages/openstef-core/src/openstef_core/datasets/validation.py +148 -0
  321. openstef-4.1.0/packages/openstef-core/src/openstef_core/datasets/versioned_timeseries_dataset.py +335 -0
  322. openstef-4.1.0/packages/openstef-core/src/openstef_core/exceptions.py +222 -0
  323. openstef-4.1.0/packages/openstef-core/src/openstef_core/mixins/__init__.py +24 -0
  324. openstef-4.1.0/packages/openstef-core/src/openstef_core/mixins/param_ranges.py +131 -0
  325. openstef-4.1.0/packages/openstef-core/src/openstef_core/mixins/predictor.py +307 -0
  326. openstef-4.1.0/packages/openstef-core/src/openstef_core/mixins/stateful.py +133 -0
  327. openstef-4.1.0/packages/openstef-core/src/openstef_core/mixins/transform.py +185 -0
  328. openstef-4.1.0/packages/openstef-core/src/openstef_core/testing.py +306 -0
  329. openstef-4.1.0/packages/openstef-core/src/openstef_core/transforms/__init__.py +17 -0
  330. openstef-4.1.0/packages/openstef-core/src/openstef_core/transforms/dataset_transforms.py +82 -0
  331. openstef-4.1.0/packages/openstef-core/src/openstef_core/types.py +455 -0
  332. openstef-4.1.0/packages/openstef-core/src/openstef_core/utils/__init__.py +40 -0
  333. openstef-4.1.0/packages/openstef-core/src/openstef_core/utils/datetime.py +109 -0
  334. openstef-4.1.0/packages/openstef-core/src/openstef_core/utils/invariants.py +31 -0
  335. openstef-4.1.0/packages/openstef-core/src/openstef_core/utils/itertools.py +108 -0
  336. openstef-4.1.0/packages/openstef-core/src/openstef_core/utils/multiprocessing.py +75 -0
  337. openstef-4.1.0/packages/openstef-core/src/openstef_core/utils/numpy.py +105 -0
  338. openstef-4.1.0/packages/openstef-core/src/openstef_core/utils/pandas.py +105 -0
  339. openstef-4.1.0/packages/openstef-core/src/openstef_core/utils/pydantic.py +59 -0
  340. openstef-4.1.0/packages/openstef-core/tests/__init__.py +3 -0
  341. openstef-4.1.0/packages/openstef-core/tests/unit/datasets/test_mixins.py +59 -0
  342. openstef-4.1.0/packages/openstef-core/tests/unit/datasets/test_timeseries_dataset.py +347 -0
  343. openstef-4.1.0/packages/openstef-core/tests/unit/datasets/test_validated_datasets.py +382 -0
  344. openstef-4.1.0/packages/openstef-core/tests/unit/datasets/test_validation.py +160 -0
  345. openstef-4.1.0/packages/openstef-core/tests/unit/datasets/test_versioned_timeseries_dataset.py +415 -0
  346. openstef-4.1.0/packages/openstef-core/tests/unit/datasets/utils.py +28 -0
  347. openstef-4.1.0/packages/openstef-core/tests/unit/mixins/test_stateful.py +118 -0
  348. openstef-4.1.0/packages/openstef-core/tests/unit/mixins/test_transform.py +132 -0
  349. openstef-4.1.0/packages/openstef-core/tests/unit/test_base_model.py +66 -0
  350. openstef-4.1.0/packages/openstef-core/tests/unit/test_hyperparams_tuning.py +115 -0
  351. openstef-4.1.0/packages/openstef-core/tests/unit/test_param_ranges.py +112 -0
  352. openstef-4.1.0/packages/openstef-core/tests/unit/test_types.py +466 -0
  353. openstef-4.1.0/packages/openstef-core/tests/unit/utils/test_datetime.py +159 -0
  354. openstef-4.1.0/packages/openstef-core/tests/unit/utils/test_itertools.py +100 -0
  355. openstef-4.1.0/packages/openstef-core/tests/unit/utils/test_multiprocessing.py +51 -0
  356. openstef-4.1.0/packages/openstef-core/tests/unit/utils/test_numpy.py +179 -0
  357. openstef-4.1.0/packages/openstef-core/tests/unit/utils/test_pandas.py +56 -0
  358. openstef-4.1.0/packages/openstef-foundation-models/README.md +56 -0
  359. openstef-4.1.0/packages/openstef-foundation-models/pyproject.toml +75 -0
  360. openstef-4.1.0/packages/openstef-foundation-models/src/openstef_foundation_models/__init__.py +12 -0
  361. openstef-4.1.0/packages/openstef-foundation-models/src/openstef_foundation_models/inference/__init__.py +32 -0
  362. openstef-4.1.0/packages/openstef-foundation-models/src/openstef_foundation_models/inference/backend.py +43 -0
  363. openstef-4.1.0/packages/openstef-foundation-models/src/openstef_foundation_models/inference/onnx_backend.py +237 -0
  364. openstef-4.1.0/packages/openstef-foundation-models/src/openstef_foundation_models/inference/provider_selection.py +142 -0
  365. openstef-4.1.0/packages/openstef-foundation-models/src/openstef_foundation_models/inference/providers.py +158 -0
  366. openstef-4.1.0/packages/openstef-foundation-models/src/openstef_foundation_models/integrations/__init__.py +5 -0
  367. openstef-4.1.0/packages/openstef-foundation-models/src/openstef_foundation_models/integrations/beam.py +203 -0
  368. openstef-4.1.0/packages/openstef-foundation-models/src/openstef_foundation_models/models/__init__.py +17 -0
  369. openstef-4.1.0/packages/openstef-foundation-models/src/openstef_foundation_models/models/catalog.py +105 -0
  370. openstef-4.1.0/packages/openstef-foundation-models/src/openstef_foundation_models/models/checkpoint.py +212 -0
  371. openstef-4.1.0/packages/openstef-foundation-models/src/openstef_foundation_models/models/forecasting/__init__.py +21 -0
  372. openstef-4.1.0/packages/openstef-foundation-models/src/openstef_foundation_models/models/forecasting/chronos2_forecaster.py +283 -0
  373. openstef-4.1.0/packages/openstef-foundation-models/src/openstef_foundation_models/presets/__init__.py +23 -0
  374. openstef-4.1.0/packages/openstef-foundation-models/src/openstef_foundation_models/presets/forecasting_workflow.py +205 -0
  375. openstef-4.1.0/packages/openstef-foundation-models/tests/__init__.py +3 -0
  376. openstef-4.1.0/packages/openstef-foundation-models/tests/integration/__init__.py +3 -0
  377. openstef-4.1.0/packages/openstef-foundation-models/tests/integration/conftest.py +60 -0
  378. openstef-4.1.0/packages/openstef-foundation-models/tests/integration/test_beam_integration.py +77 -0
  379. openstef-4.1.0/packages/openstef-foundation-models/tests/integration/test_chronos2_onnx.py +218 -0
  380. openstef-4.1.0/packages/openstef-foundation-models/tests/unit/__init__.py +3 -0
  381. openstef-4.1.0/packages/openstef-foundation-models/tests/unit/inference/__init__.py +3 -0
  382. openstef-4.1.0/packages/openstef-foundation-models/tests/unit/inference/test_onnx_backend.py +105 -0
  383. openstef-4.1.0/packages/openstef-foundation-models/tests/unit/inference/test_provider_selection.py +98 -0
  384. openstef-4.1.0/packages/openstef-foundation-models/tests/unit/inference/test_providers.py +49 -0
  385. openstef-4.1.0/packages/openstef-foundation-models/tests/unit/integrations/__init__.py +3 -0
  386. openstef-4.1.0/packages/openstef-foundation-models/tests/unit/integrations/test_beam.py +442 -0
  387. openstef-4.1.0/packages/openstef-foundation-models/tests/unit/models/__init__.py +3 -0
  388. openstef-4.1.0/packages/openstef-foundation-models/tests/unit/models/forecasting/__init__.py +3 -0
  389. openstef-4.1.0/packages/openstef-foundation-models/tests/unit/models/forecasting/test_chronos2_forecaster.py +521 -0
  390. openstef-4.1.0/packages/openstef-foundation-models/tests/unit/models/test_catalog.py +38 -0
  391. openstef-4.1.0/packages/openstef-foundation-models/tests/unit/presets/__init__.py +3 -0
  392. openstef-4.1.0/packages/openstef-foundation-models/tests/unit/presets/test_forecasting_workflow.py +196 -0
  393. openstef-4.1.0/packages/openstef-meta/pyproject.toml +38 -0
  394. openstef-4.1.0/packages/openstef-meta/src/openstef_meta/__init__.py +13 -0
  395. openstef-4.1.0/packages/openstef-meta/src/openstef_meta/models/__init__.py +5 -0
  396. openstef-4.1.0/packages/openstef-meta/src/openstef_meta/models/ensemble_forecasting_model.py +677 -0
  397. openstef-4.1.0/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/__init__.py +25 -0
  398. openstef-4.1.0/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/forecast_combiner.py +132 -0
  399. openstef-4.1.0/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/learned_weights_combiner.py +400 -0
  400. openstef-4.1.0/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/stacking_combiner.py +134 -0
  401. openstef-4.1.0/packages/openstef-meta/src/openstef_meta/presets/__init__.py +12 -0
  402. openstef-4.1.0/packages/openstef-meta/src/openstef_meta/presets/forecasting_workflow.py +645 -0
  403. openstef-4.1.0/packages/openstef-meta/src/openstef_meta/utils/__init__.py +9 -0
  404. openstef-4.1.0/packages/openstef-meta/src/openstef_meta/utils/datasets.py +48 -0
  405. openstef-4.1.0/packages/openstef-meta/tests/integration/test_ensemble_forecasting_model.py +107 -0
  406. openstef-4.1.0/packages/openstef-meta/tests/unit/integrations/__init__.py +3 -0
  407. openstef-4.1.0/packages/openstef-meta/tests/unit/integrations/test_mlflow_storage_callback_ensemble.py +322 -0
  408. openstef-4.1.0/packages/openstef-meta/tests/unit/models/forecast_combiners/conftest.py +62 -0
  409. openstef-4.1.0/packages/openstef-meta/tests/unit/models/forecast_combiners/test_learned_weights_combiner.py +168 -0
  410. openstef-4.1.0/packages/openstef-meta/tests/unit/models/forecast_combiners/test_stacking_combiner.py +100 -0
  411. openstef-4.1.0/packages/openstef-meta/tests/unit/models/test_ensemble_forecasting_model.py +212 -0
  412. openstef-4.1.0/packages/openstef-meta/tests/unit/utils/test_datasets.py +83 -0
  413. openstef-4.1.0/packages/openstef-models/README.md +7 -0
  414. openstef-4.1.0/packages/openstef-models/pyproject.toml +62 -0
  415. openstef-4.1.0/packages/openstef-models/src/openstef_models/__init__.py +13 -0
  416. openstef-4.1.0/packages/openstef-models/src/openstef_models/explainability/__init__.py +18 -0
  417. openstef-4.1.0/packages/openstef-models/src/openstef_models/explainability/mixins.py +126 -0
  418. openstef-4.1.0/packages/openstef-models/src/openstef_models/explainability/plotters/__init__.py +17 -0
  419. openstef-4.1.0/packages/openstef-models/src/openstef_models/explainability/plotters/contributions_plotter.py +228 -0
  420. openstef-4.1.0/packages/openstef-models/src/openstef_models/explainability/plotters/feature_importance_plotter.py +59 -0
  421. openstef-4.1.0/packages/openstef-models/src/openstef_models/integrations/__init__.py +12 -0
  422. openstef-4.1.0/packages/openstef-models/src/openstef_models/integrations/joblib/__init__.py +15 -0
  423. openstef-4.1.0/packages/openstef-models/src/openstef_models/integrations/joblib/joblib_model_serializer.py +68 -0
  424. openstef-4.1.0/packages/openstef-models/src/openstef_models/integrations/mlflow/__init__.py +26 -0
  425. openstef-4.1.0/packages/openstef-models/src/openstef_models/integrations/mlflow/mlflow_storage.py +340 -0
  426. openstef-4.1.0/packages/openstef-models/src/openstef_models/integrations/mlflow/mlflow_storage_callback.py +383 -0
  427. openstef-4.1.0/packages/openstef-models/src/openstef_models/integrations/optuna/__init__.py +23 -0
  428. openstef-4.1.0/packages/openstef-models/src/openstef_models/integrations/optuna/tuner.py +355 -0
  429. openstef-4.1.0/packages/openstef-models/src/openstef_models/mixins/__init__.py +14 -0
  430. openstef-4.1.0/packages/openstef-models/src/openstef_models/mixins/callbacks.py +93 -0
  431. openstef-4.1.0/packages/openstef-models/src/openstef_models/mixins/model_serializer.py +72 -0
  432. openstef-4.1.0/packages/openstef-models/src/openstef_models/models/__init__.py +18 -0
  433. openstef-4.1.0/packages/openstef-models/src/openstef_models/models/component_splitting/__init__.py +17 -0
  434. openstef-4.1.0/packages/openstef-models/src/openstef_models/models/component_splitting/component_splitter.py +65 -0
  435. openstef-4.1.0/packages/openstef-models/src/openstef_models/models/component_splitting/constant_component_splitter.py +153 -0
  436. openstef-4.1.0/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter.py +212 -0
  437. openstef-4.1.0/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter_model/linear_component_splitter_model.z.license +3 -0
  438. openstef-4.1.0/packages/openstef-models/src/openstef_models/models/component_splitting_model.py +119 -0
  439. openstef-4.1.0/packages/openstef-models/src/openstef_models/models/forecasting/__init__.py +9 -0
  440. openstef-4.1.0/packages/openstef-models/src/openstef_models/models/forecasting/base_case_forecaster.py +177 -0
  441. openstef-4.1.0/packages/openstef-models/src/openstef_models/models/forecasting/constant_quantile_forecaster.py +127 -0
  442. openstef-4.1.0/packages/openstef-models/src/openstef_models/models/forecasting/flatliner_forecaster.py +111 -0
  443. openstef-4.1.0/packages/openstef-models/src/openstef_models/models/forecasting/forecaster.py +140 -0
  444. openstef-4.1.0/packages/openstef-models/src/openstef_models/models/forecasting/gblinear_forecaster.py +337 -0
  445. openstef-4.1.0/packages/openstef-models/src/openstef_models/models/forecasting/lgbm_forecaster.py +344 -0
  446. openstef-4.1.0/packages/openstef-models/src/openstef_models/models/forecasting/lgbmlinear_forecaster.py +345 -0
  447. openstef-4.1.0/packages/openstef-models/src/openstef_models/models/forecasting/median_forecaster.py +320 -0
  448. openstef-4.1.0/packages/openstef-models/src/openstef_models/models/forecasting/xgboost_forecaster.py +416 -0
  449. openstef-4.1.0/packages/openstef-models/src/openstef_models/models/forecasting_model.py +678 -0
  450. openstef-4.1.0/packages/openstef-models/src/openstef_models/presets/__init__.py +19 -0
  451. openstef-4.1.0/packages/openstef-models/src/openstef_models/presets/forecasting_workflow.py +592 -0
  452. openstef-4.1.0/packages/openstef-models/src/openstef_models/testing.py +98 -0
  453. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/__init__.py +26 -0
  454. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/energy_domain/__init__.py +14 -0
  455. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/energy_domain/wind_power_feature_adder.py +135 -0
  456. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/general/__init__.py +37 -0
  457. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/general/dimensionality_reducer.py +138 -0
  458. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/general/empty_feature_remover.py +120 -0
  459. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/general/flagger.py +97 -0
  460. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/general/imputer.py +278 -0
  461. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/general/nan_dropper.py +89 -0
  462. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/general/outlier_handler.py +178 -0
  463. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/general/sample_weighter.py +285 -0
  464. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/general/scaler.py +122 -0
  465. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/general/selector.py +83 -0
  466. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/general/shifter.py +130 -0
  467. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/postprocessing/__init__.py +16 -0
  468. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/postprocessing/confidence_interval_applicator.py +232 -0
  469. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/postprocessing/isotonic_quantile_calibrator.py +229 -0
  470. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/postprocessing/quantile_sorter.py +78 -0
  471. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/time_domain/__init__.py +29 -0
  472. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/time_domain/cyclic_features_adder.py +171 -0
  473. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/time_domain/datetime_features_adder.py +117 -0
  474. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/time_domain/holiday_features_adder.py +190 -0
  475. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/time_domain/lags_adder.py +379 -0
  476. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/time_domain/rolling_aggregates_adder.py +166 -0
  477. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/time_domain/versioned_lags_adder.py +143 -0
  478. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/validation/__init__.py +16 -0
  479. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/validation/completeness_checker.py +123 -0
  480. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/validation/flatline_checker.py +152 -0
  481. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/validation/input_consistency_checker.py +67 -0
  482. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/weather_domain/__init__.py +20 -0
  483. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/weather_domain/atmosphere_derived_features_adder.py +205 -0
  484. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/weather_domain/daylight_feature_adder.py +74 -0
  485. openstef-4.1.0/packages/openstef-models/src/openstef_models/transforms/weather_domain/radiation_derived_features_adder.py +165 -0
  486. openstef-4.1.0/packages/openstef-models/src/openstef_models/utils/__init__.py +9 -0
  487. openstef-4.1.0/packages/openstef-models/src/openstef_models/utils/data_split.py +346 -0
  488. openstef-4.1.0/packages/openstef-models/src/openstef_models/utils/evaluation_functions.py +30 -0
  489. openstef-4.1.0/packages/openstef-models/src/openstef_models/utils/feature_selection.py +214 -0
  490. openstef-4.1.0/packages/openstef-models/src/openstef_models/utils/loss_functions.py +256 -0
  491. openstef-4.1.0/packages/openstef-models/src/openstef_models/utils/multi_quantile_regressor.py +157 -0
  492. openstef-4.1.0/packages/openstef-models/src/openstef_models/utils/xgboost.py +45 -0
  493. openstef-4.1.0/packages/openstef-models/src/openstef_models/workflows/__init__.py +16 -0
  494. openstef-4.1.0/packages/openstef-models/src/openstef_models/workflows/callbacks/__init__.py +13 -0
  495. openstef-4.1.0/packages/openstef-models/src/openstef_models/workflows/callbacks/data_save.py +108 -0
  496. openstef-4.1.0/packages/openstef-models/src/openstef_models/workflows/callbacks/model_performance_callback.py +92 -0
  497. openstef-4.1.0/packages/openstef-models/src/openstef_models/workflows/custom_component_split_workflow.py +154 -0
  498. openstef-4.1.0/packages/openstef-models/src/openstef_models/workflows/custom_forecasting_workflow.py +267 -0
  499. openstef-4.1.0/packages/openstef-models/tests/__init__.py +3 -0
  500. openstef-4.1.0/packages/openstef-models/tests/integration/test_integration.py +17 -0
  501. openstef-4.1.0/packages/openstef-models/tests/unit/explainability/plotters/test_contributions_plotter.py +219 -0
  502. openstef-4.1.0/packages/openstef-models/tests/unit/integrations/__init__.py +5 -0
  503. openstef-4.1.0/packages/openstef-models/tests/unit/integrations/joblib/__init__.py +5 -0
  504. openstef-4.1.0/packages/openstef-models/tests/unit/integrations/joblib/test_joblib_model_serializer.py +36 -0
  505. openstef-4.1.0/packages/openstef-models/tests/unit/integrations/mlflow/__init__.py +3 -0
  506. openstef-4.1.0/packages/openstef-models/tests/unit/integrations/mlflow/test_mlflow_storage.py +212 -0
  507. openstef-4.1.0/packages/openstef-models/tests/unit/integrations/mlflow/test_mlflow_storage_callback.py +291 -0
  508. openstef-4.1.0/packages/openstef-models/tests/unit/integrations/optuna/test_tuner.py +306 -0
  509. openstef-4.1.0/packages/openstef-models/tests/unit/models/component_splitting/__init__.py +3 -0
  510. openstef-4.1.0/packages/openstef-models/tests/unit/models/component_splitting/test_constant_component_splitter.py +144 -0
  511. openstef-4.1.0/packages/openstef-models/tests/unit/models/component_splitting/test_linear_component_splitter.py +92 -0
  512. openstef-4.1.0/packages/openstef-models/tests/unit/models/forecasting/conftest.py +59 -0
  513. openstef-4.1.0/packages/openstef-models/tests/unit/models/forecasting/test_base_case_forecaster.py +284 -0
  514. openstef-4.1.0/packages/openstef-models/tests/unit/models/forecasting/test_constant_quantile_forecaster.py +135 -0
  515. openstef-4.1.0/packages/openstef-models/tests/unit/models/forecasting/test_flatliner_forecaster.py +66 -0
  516. openstef-4.1.0/packages/openstef-models/tests/unit/models/forecasting/test_gblinear_forecaster.py +159 -0
  517. openstef-4.1.0/packages/openstef-models/tests/unit/models/forecasting/test_lgbm_forecaster.py +173 -0
  518. openstef-4.1.0/packages/openstef-models/tests/unit/models/forecasting/test_lgbmlinear_forecaster.py +147 -0
  519. openstef-4.1.0/packages/openstef-models/tests/unit/models/forecasting/test_median_forecaster.py +460 -0
  520. openstef-4.1.0/packages/openstef-models/tests/unit/models/forecasting/test_xgboost_forecaster.py +194 -0
  521. openstef-4.1.0/packages/openstef-models/tests/unit/models/test_forecasting_model.py +460 -0
  522. openstef-4.1.0/packages/openstef-models/tests/unit/test_example.py +7 -0
  523. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/__init__.py +0 -0
  524. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/energy_domain/__init__.py +0 -0
  525. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/energy_domain/test_wind_power_feature_adder.py +118 -0
  526. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/general/__init__.py +0 -0
  527. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/general/test_dimensionality_reducer.py +115 -0
  528. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/general/test_empty_feature_remover.py +148 -0
  529. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/general/test_flagger.py +61 -0
  530. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/general/test_imputer.py +396 -0
  531. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/general/test_nan_dropper.py +48 -0
  532. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/general/test_outlier_handler.py +235 -0
  533. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/general/test_sample_weighter.py +280 -0
  534. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/general/test_scaler.py +129 -0
  535. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/general/test_selector.py +82 -0
  536. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/general/test_shifter.py +174 -0
  537. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/postprocessing/__init__.py +5 -0
  538. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/postprocessing/test_confidence_interval_applicator.py +203 -0
  539. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/postprocessing/test_isotonic_quantile_calibrator.py +200 -0
  540. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/postprocessing/test_quantile_sorter.py +48 -0
  541. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/time_domain/__init__.py +0 -0
  542. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/time_domain/test_cyclic_features_adder.py +117 -0
  543. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/time_domain/test_datetime_features_adder.py +147 -0
  544. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/time_domain/test_holiday_features_adder.py +190 -0
  545. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/time_domain/test_lags_adder.py +535 -0
  546. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/time_domain/test_rolling_aggregates_adder.py +284 -0
  547. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/time_domain/test_versioned_lags_adder.py +235 -0
  548. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/validation/__init__.py +0 -0
  549. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/validation/test_completeness_checker.py +169 -0
  550. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/validation/test_flatline_checker.py +149 -0
  551. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/validation/test_input_consistency_checker.py +81 -0
  552. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/weather_domain/__init__.py +0 -0
  553. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/weather_domain/test_atmosphere_derived_features_adder.py +113 -0
  554. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/weather_domain/test_daylight_feature_adder.py +102 -0
  555. openstef-4.1.0/packages/openstef-models/tests/unit/transforms/weather_domain/test_radiation_derived_featuers_adder.py +343 -0
  556. openstef-4.1.0/packages/openstef-models/tests/unit/utils/__init__.py +3 -0
  557. openstef-4.1.0/packages/openstef-models/tests/unit/utils/test_data_split.py +162 -0
  558. openstef-4.1.0/packages/openstef-models/tests/unit/utils/test_feature_selection.py +125 -0
  559. openstef-4.1.0/packages/openstef-models/tests/unit/utils/test_loss_functions.py +416 -0
  560. openstef-4.1.0/packages/openstef-models/tests/unit/utils/test_multi_quantile_regressor.py +118 -0
  561. openstef-4.1.0/packages/openstef-models/tests/unit/workflows/__init__.py +0 -0
  562. openstef-4.1.0/packages/openstef-models/tests/unit/workflows/callbacks/__init__.py +0 -0
  563. openstef-4.1.0/packages/openstef-models/tests/unit/workflows/callbacks/test_model_performance_callback.py +89 -0
  564. openstef-4.1.0/packages/openstef-models/tests/unit/workflows/test_custom_forecasting_workflow.py +134 -0
  565. openstef-4.1.0/poe_tasks.toml +186 -0
  566. openstef-4.1.0/pyproject.toml +247 -0
  567. openstef-4.1.0/ruff.toml +113 -0
  568. openstef-4.1.0/sonar-project.properties +43 -0
  569. openstef-4.1.0/tools/check_notebook_outputs.py +37 -0
  570. openstef-4.1.0/tools/reuse-fix.py +390 -0
  571. openstef-4.1.0/uv.lock +7505 -0
  572. openstef-4.0.0.dev1/.github/CODE_OF_CONDUCT.md +0 -72
  573. openstef-4.0.0.dev1/.github/CONTRIBUTING.md +0 -39
  574. openstef-4.0.0.dev1/.github/ISSUE_TEMPLATE/openstef-4-0-project-story.md +0 -42
  575. openstef-4.0.0.dev1/.github/pr-labeler.yml +0 -7
  576. openstef-4.0.0.dev1/.github/workflows/_job_quality_check.yaml +0 -65
  577. openstef-4.0.0.dev1/.github/workflows/check.yaml +0 -21
  578. openstef-4.0.0.dev1/.github/workflows/citations.yaml +0 -38
  579. openstef-4.0.0.dev1/.github/workflows/docs.yaml +0 -80
  580. openstef-4.0.0.dev1/.github/workflows/pr-labeler.yaml +0 -21
  581. openstef-4.0.0.dev1/.github/workflows/release-dev.yaml +0 -65
  582. openstef-4.0.0.dev1/.github/workflows/release-v4.yaml +0 -83
  583. openstef-4.0.0.dev1/.gitignore +0 -127
  584. openstef-4.0.0.dev1/CITATION.cff +0 -63
  585. openstef-4.0.0.dev1/COMMITTERS.md +0 -9
  586. openstef-4.0.0.dev1/PKG-INFO +0 -178
  587. openstef-4.0.0.dev1/README.md +0 -145
  588. openstef-4.0.0.dev1/REUSE.toml +0 -20
  589. openstef-4.0.0.dev1/THIRD_PARTY_LICENSES.md +0 -1292
  590. openstef-4.0.0.dev1/docs/.gitkeep +0 -3
  591. openstef-4.0.0.dev1/docs/pyproject.toml +0 -39
  592. openstef-4.0.0.dev1/docs/source/_static/css/custom.css +0 -10
  593. openstef-4.0.0.dev1/docs/source/_static/versions.json.license +0 -3
  594. openstef-4.0.0.dev1/docs/source/_templates/custom_class.rst +0 -12
  595. openstef-4.0.0.dev1/docs/source/_templates/custom_function.rst +0 -10
  596. openstef-4.0.0.dev1/docs/source/_templates/module_overview.rst +0 -54
  597. openstef-4.0.0.dev1/docs/source/_templates/package_overview.rst +0 -99
  598. openstef-4.0.0.dev1/docs/source/api/index.rst +0 -89
  599. openstef-4.0.0.dev1/docs/source/changelog.rst +0 -12
  600. openstef-4.0.0.dev1/docs/source/conf.py +0 -325
  601. openstef-4.0.0.dev1/docs/source/contribute/_getting_help.rst +0 -15
  602. openstef-4.0.0.dev1/docs/source/contribute/code_of_conduct.rst +0 -11
  603. openstef-4.0.0.dev1/docs/source/contribute/code_style_guide.rst +0 -1171
  604. openstef-4.0.0.dev1/docs/source/contribute/contributing_guide.rst +0 -276
  605. openstef-4.0.0.dev1/docs/source/contribute/development_setup.rst +0 -186
  606. openstef-4.0.0.dev1/docs/source/contribute/development_workflow.rst +0 -333
  607. openstef-4.0.0.dev1/docs/source/contribute/document.rst +0 -400
  608. openstef-4.0.0.dev1/docs/source/contribute/index.rst +0 -211
  609. openstef-4.0.0.dev1/docs/source/examples.rst +0 -12
  610. openstef-4.0.0.dev1/docs/source/images/methodology_train_predict.pptx.license +0 -3
  611. openstef-4.0.0.dev1/docs/source/images/methodology_train_predict.svg.license +0 -3
  612. openstef-4.0.0.dev1/docs/source/images/uncertainty_estimation.svg.license +0 -3
  613. openstef-4.0.0.dev1/docs/source/index.rst +0 -171
  614. openstef-4.0.0.dev1/docs/source/logos/favicon.ico.license +0 -3
  615. openstef-4.0.0.dev1/docs/source/logos/logo_openstef_small.png.license +0 -3
  616. openstef-4.0.0.dev1/docs/source/logos/openstef-horizontal-color.svg.license +0 -3
  617. openstef-4.0.0.dev1/docs/source/logos/openstef-horizontal-white.svg.license +0 -3
  618. openstef-4.0.0.dev1/docs/source/project/citing.rst +0 -40
  619. openstef-4.0.0.dev1/docs/source/project/committee.rst +0 -29
  620. openstef-4.0.0.dev1/docs/source/project/index.rst +0 -37
  621. openstef-4.0.0.dev1/docs/source/project/license.rst +0 -24
  622. openstef-4.0.0.dev1/docs/source/project/maintainers.rst +0 -27
  623. openstef-4.0.0.dev1/docs/source/project/support.rst +0 -30
  624. openstef-4.0.0.dev1/docs/source/user_guide/external_resources.rst +0 -13
  625. openstef-4.0.0.dev1/docs/source/user_guide/index.rst +0 -20
  626. openstef-4.0.0.dev1/docs/source/user_guide/installation.rst +0 -399
  627. openstef-4.0.0.dev1/docs/source/user_guide/intro/index.rst +0 -15
  628. openstef-4.0.0.dev1/docs/source/user_guide/intro/methodology_train_predict.rst +0 -29
  629. openstef-4.0.0.dev1/docs/source/user_guide/logging.rst +0 -356
  630. openstef-4.0.0.dev1/docs/source/user_guide/quick_start.rst +0 -13
  631. openstef-4.0.0.dev1/docs/source/user_guide/tutorials.rst +0 -12
  632. openstef-4.0.0.dev1/examples/.gitkeep +0 -3
  633. openstef-4.0.0.dev1/examples/benchmarks/liander_2024_benchmark_xgboost_gblinear.py +0 -163
  634. openstef-4.0.0.dev1/examples/benchmarks/liander_2024_compare_results.py +0 -50
  635. openstef-4.0.0.dev1/examples/examples/.gitignore +0 -5
  636. openstef-4.0.0.dev1/examples/examples/configuring_model_pipeline_example.py +0 -144
  637. openstef-4.0.0.dev1/examples/examples/forecasting_preset_example.py +0 -93
  638. openstef-4.0.0.dev1/packages/openstef-beam/README.md +0 -7
  639. openstef-4.0.0.dev1/packages/openstef-beam/pyproject.toml +0 -50
  640. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/__init__.py +0 -42
  641. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/__init__.py +0 -31
  642. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/analysis_pipeline.py +0 -187
  643. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/models/__init__.py +0 -24
  644. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/models/target_metadata.py +0 -97
  645. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/models/visualization_aggregation.py +0 -60
  646. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/models/visualization_output.py +0 -93
  647. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/plots/__init__.py +0 -27
  648. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/plots/forecast_time_series_plotter.py +0 -674
  649. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/plots/grouped_target_metric_plotter.py +0 -173
  650. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/plots/precision_recall_curve_plotter.py +0 -149
  651. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/plots/quantile_calibration_box_plotter.py +0 -196
  652. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/plots/quantile_probability_plotter.py +0 -152
  653. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/plots/summary_table_plotter.py +0 -79
  654. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/plots/windowed_metric_plotter.py +0 -140
  655. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/__init__.py +0 -33
  656. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/base.py +0 -250
  657. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/grouped_target_metric_visualization.py +0 -349
  658. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/precision_recall_curve_visualization.py +0 -192
  659. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/quantile_calibration_box_visualization.py +0 -239
  660. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/quantile_probability_visualization.py +0 -220
  661. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/summary_table_visualization.py +0 -309
  662. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/timeseries_visualization.py +0 -150
  663. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/windowed_metric_visualization.py +0 -398
  664. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/__init__.py +0 -22
  665. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_callback.py +0 -9
  666. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_event.py +0 -57
  667. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_event_generator.py +0 -207
  668. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/__init__.py +0 -29
  669. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/dummy_forecaster.py +0 -73
  670. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/mixins.py +0 -232
  671. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/openstef4_backtest_forecaster.py +0 -127
  672. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_pipeline.py +0 -301
  673. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/restricted_horizon_timeseries.py +0 -72
  674. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/__init__.py +0 -54
  675. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/benchmark_comparison_pipeline.py +0 -249
  676. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/benchmark_pipeline.py +0 -404
  677. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/benchmarks/__init__.py +0 -14
  678. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/benchmarks/liander2024.py +0 -239
  679. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/__init__.py +0 -10
  680. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/base.py +0 -228
  681. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/strict_execution_callback.py +0 -39
  682. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/models/__init__.py +0 -9
  683. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/models/benchmark_target.py +0 -116
  684. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/storage/__init__.py +0 -16
  685. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/storage/base.py +0 -252
  686. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/storage/local_storage.py +0 -162
  687. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/storage/s3_storage.py +0 -193
  688. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/target_provider.py +0 -403
  689. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/evaluation/__init__.py +0 -42
  690. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/evaluation/evaluation_pipeline.py +0 -294
  691. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/evaluation/metric_providers.py +0 -620
  692. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/evaluation/models/__init__.py +0 -21
  693. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/evaluation/models/report.py +0 -150
  694. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/evaluation/models/subset.py +0 -83
  695. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/evaluation/models/window.py +0 -106
  696. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/evaluation/window_iterators.py +0 -95
  697. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/metrics/__init__.py +0 -53
  698. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/metrics/metrics_deterministic.py +0 -535
  699. openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/metrics/metrics_probabilistic.py +0 -272
  700. openstef-4.0.0.dev1/packages/openstef-beam/tests/__init__.py +0 -3
  701. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/__init__.py +0 -3
  702. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/plots/test_forecast_time_series_plotter.py +0 -467
  703. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/plots/test_grouped_target_metric_plotter.py +0 -114
  704. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/plots/test_precision_recall_curve_plotter.py +0 -100
  705. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/plots/test_quantile_calibration_box_plotter.py +0 -114
  706. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/plots/test_quantile_probability_plotter.py +0 -124
  707. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/plots/test_summary_table_plotter.py +0 -25
  708. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/plots/test_windowed_metric_plotter.py +0 -91
  709. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/test_analysis_pipeline.py +0 -296
  710. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/visualizations/conftest.py +0 -194
  711. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/visualizations/test_grouped_target_metric_visualization.py +0 -468
  712. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/visualizations/test_precision_recall_curve_visualization.py +0 -217
  713. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/visualizations/test_quantile_calibration_box_visualization.py +0 -282
  714. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/visualizations/test_quantile_probability_visualization.py +0 -241
  715. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/visualizations/test_summary_table_visualization.py +0 -186
  716. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/visualizations/test_timeseries_visualization.py +0 -165
  717. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/visualizations/test_windowed_metric_visualization.py +0 -493
  718. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/backtesting/test_backtest_event_generator.py +0 -220
  719. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/backtesting/test_backtest_pipeline.py +0 -383
  720. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/backtesting/test_batch_prediction.py +0 -212
  721. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/benchmarking/storage/test_local_storage.py +0 -300
  722. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/benchmarking/storage/test_s3_storage.py +0 -287
  723. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/benchmarking/test_benchmark_pipeline.py +0 -443
  724. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/benchmarking/test_target_provider.py +0 -158
  725. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/evaluation/__init__.py +0 -3
  726. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/evaluation/models/__init__.py +0 -3
  727. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/evaluation/models/test_window.py +0 -72
  728. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/evaluation/test_evaluation_pipeline.py +0 -153
  729. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/evaluation/test_metric_provider.py +0 -123
  730. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/metrics/test_metrics_deterministic.py +0 -548
  731. openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/metrics/test_metrics_probabilistic.py +0 -186
  732. openstef-4.0.0.dev1/packages/openstef-beam/tests/utils/mocks.py +0 -109
  733. openstef-4.0.0.dev1/packages/openstef-core/README.md +0 -7
  734. openstef-4.0.0.dev1/packages/openstef-core/pyproject.toml +0 -45
  735. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/__init__.py +0 -4
  736. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/base_model.py +0 -183
  737. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/datasets/__init__.py +0 -34
  738. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/datasets/mixins.py +0 -218
  739. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/datasets/timeseries_dataset.py +0 -466
  740. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/datasets/validated_datasets.py +0 -416
  741. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/datasets/validation.py +0 -150
  742. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/datasets/versioned_timeseries_dataset.py +0 -338
  743. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/exceptions.py +0 -199
  744. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/mixins/__init__.py +0 -24
  745. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/mixins/predictor.py +0 -208
  746. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/mixins/stateful.py +0 -132
  747. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/mixins/transform.py +0 -184
  748. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/testing.py +0 -131
  749. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/transforms/__init__.py +0 -17
  750. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/transforms/dataset_transforms.py +0 -82
  751. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/types.py +0 -302
  752. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/utils/__init__.py +0 -34
  753. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/utils/datetime.py +0 -109
  754. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/utils/invariants.py +0 -31
  755. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/utils/itertools.py +0 -108
  756. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/utils/multiprocessing.py +0 -77
  757. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/utils/pandas.py +0 -70
  758. openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/utils/pydantic.py +0 -59
  759. openstef-4.0.0.dev1/packages/openstef-core/tests/__init__.py +0 -3
  760. openstef-4.0.0.dev1/packages/openstef-core/tests/unit/datasets/test_mixins.py +0 -55
  761. openstef-4.0.0.dev1/packages/openstef-core/tests/unit/datasets/test_timeseries_dataset.py +0 -309
  762. openstef-4.0.0.dev1/packages/openstef-core/tests/unit/datasets/test_validation.py +0 -160
  763. openstef-4.0.0.dev1/packages/openstef-core/tests/unit/datasets/test_versioned_timeseries_dataset.py +0 -345
  764. openstef-4.0.0.dev1/packages/openstef-core/tests/unit/datasets/utils.py +0 -28
  765. openstef-4.0.0.dev1/packages/openstef-core/tests/unit/mixins/test_stateful.py +0 -118
  766. openstef-4.0.0.dev1/packages/openstef-core/tests/unit/mixins/test_transform.py +0 -132
  767. openstef-4.0.0.dev1/packages/openstef-core/tests/unit/test_base_model.py +0 -66
  768. openstef-4.0.0.dev1/packages/openstef-core/tests/unit/test_types.py +0 -82
  769. openstef-4.0.0.dev1/packages/openstef-core/tests/unit/utils/test_datetime.py +0 -159
  770. openstef-4.0.0.dev1/packages/openstef-core/tests/unit/utils/test_itertools.py +0 -100
  771. openstef-4.0.0.dev1/packages/openstef-core/tests/unit/utils/test_multiprocessing.py +0 -51
  772. openstef-4.0.0.dev1/packages/openstef-models/README.md +0 -7
  773. openstef-4.0.0.dev1/packages/openstef-models/pyproject.toml +0 -54
  774. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/__init__.py +0 -13
  775. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/explainability/__init__.py +0 -16
  776. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/explainability/mixins.py +0 -58
  777. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/explainability/plotters/__init__.py +0 -15
  778. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/explainability/plotters/feature_importance_plotter.py +0 -59
  779. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/integrations/__init__.py +0 -10
  780. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/integrations/joblib/__init__.py +0 -15
  781. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/integrations/joblib/joblib_model_serializer.py +0 -68
  782. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/integrations/mlflow/__init__.py +0 -21
  783. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/integrations/mlflow/mlflow_storage.py +0 -236
  784. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/integrations/mlflow/mlflow_storage_callback.py +0 -239
  785. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/mixins/__init__.py +0 -14
  786. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/mixins/callbacks.py +0 -93
  787. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/mixins/model_serializer.py +0 -72
  788. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/__init__.py +0 -17
  789. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/component_splitting/__init__.py +0 -17
  790. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/component_splitting/component_splitter.py +0 -64
  791. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/component_splitting/constant_component_splitter.py +0 -152
  792. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter.py +0 -218
  793. 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
  794. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/component_splitting_model.py +0 -119
  795. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/forecasting/__init__.py +0 -26
  796. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/forecasting/base_case_forecaster.py +0 -199
  797. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/forecasting/constant_median_forecaster.py +0 -143
  798. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/forecasting/flatliner_forecaster.py +0 -104
  799. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/forecasting/forecaster.py +0 -204
  800. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/forecasting/gblinear_forecaster.py +0 -326
  801. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/forecasting/xgboost_forecaster.py +0 -423
  802. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/forecasting_model.py +0 -389
  803. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/presets/__init__.py +0 -15
  804. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/presets/forecasting_workflow.py +0 -386
  805. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/__init__.py +0 -26
  806. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/energy_domain/__init__.py +0 -14
  807. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/energy_domain/wind_power_feature_adder.py +0 -135
  808. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/general/__init__.py +0 -29
  809. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/general/clipper.py +0 -121
  810. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/general/dimensionality_reducer.py +0 -137
  811. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/general/empty_feature_remover.py +0 -120
  812. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/general/imputer.py +0 -276
  813. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/general/nan_dropper.py +0 -89
  814. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/general/sample_weighter.py +0 -184
  815. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/general/scaler.py +0 -121
  816. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/postprocessing/__init__.py +0 -15
  817. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/postprocessing/confidence_interval_applicator.py +0 -218
  818. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/postprocessing/quantile_sorter.py +0 -78
  819. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/time_domain/__init__.py +0 -25
  820. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/time_domain/cyclic_features_adder.py +0 -170
  821. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/time_domain/datetime_features_adder.py +0 -110
  822. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/time_domain/holiday_features_adder.py +0 -167
  823. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/time_domain/lags_adder.py +0 -309
  824. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/time_domain/rolling_aggregates_adder.py +0 -126
  825. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/time_domain/versioned_lags_adder.py +0 -137
  826. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/validation/__init__.py +0 -16
  827. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/validation/completeness_checker.py +0 -123
  828. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/validation/flatline_checker.py +0 -149
  829. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/validation/input_consistency_checker.py +0 -67
  830. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/weather_domain/__init__.py +0 -20
  831. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/weather_domain/atmosphere_derived_features_adder.py +0 -205
  832. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/weather_domain/daylight_feature_adder.py +0 -74
  833. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/weather_domain/radiation_derived_features_adder.py +0 -164
  834. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/utils/__init__.py +0 -9
  835. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/utils/data_split.py +0 -340
  836. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/utils/evaluation_functions.py +0 -30
  837. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/utils/feature_selection.py +0 -100
  838. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/utils/loss_functions.py +0 -254
  839. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/workflows/__init__.py +0 -16
  840. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/workflows/custom_component_split_workflow.py +0 -154
  841. openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/workflows/custom_forecasting_workflow.py +0 -196
  842. openstef-4.0.0.dev1/packages/openstef-models/tests/__init__.py +0 -3
  843. openstef-4.0.0.dev1/packages/openstef-models/tests/integration/test_integration.py +0 -17
  844. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/integrations/__init__.py +0 -5
  845. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/integrations/joblib/__init__.py +0 -5
  846. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/integrations/joblib/test_joblib_model_serializer.py +0 -36
  847. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/integrations/mlflow/__init__.py +0 -3
  848. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/integrations/mlflow/test_mlflow_storage.py +0 -147
  849. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/integrations/mlflow/test_mlflow_storage_callback.py +0 -257
  850. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/component_splitting/__init__.py +0 -3
  851. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/component_splitting/test_constant_component_splitter.py +0 -144
  852. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/component_splitting/test_linear_component_splitter.py +0 -92
  853. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/forecasting/test_base_case_forecaster.py +0 -272
  854. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/forecasting/test_constant_median_forecaster.py +0 -92
  855. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/forecasting/test_flatliner_forecaster.py +0 -32
  856. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/forecasting/test_gblinear_forecaster.py +0 -134
  857. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/forecasting/test_xgboost_forecaster.py +0 -169
  858. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/test_forecasting_model.py +0 -241
  859. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/test_example.py +0 -7
  860. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/energy_domain/test_wind_power_feature_adder.py +0 -118
  861. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/general/test_clipper.py +0 -116
  862. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/general/test_dimensionality_reducer.py +0 -115
  863. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/general/test_empty_feature_remover.py +0 -148
  864. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/general/test_imputer.py +0 -396
  865. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/general/test_nan_dropper.py +0 -48
  866. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/general/test_sample_weighter.py +0 -97
  867. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/general/test_scaler.py +0 -129
  868. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/postprocessing/__init__.py +0 -5
  869. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/postprocessing/test_confidence_interval_applicator.py +0 -161
  870. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/postprocessing/test_quantile_sorter.py +0 -48
  871. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/time_domain/test_cyclic_features_adder.py +0 -117
  872. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/time_domain/test_datetime_features_adder.py +0 -118
  873. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/time_domain/test_holiday_features_adder.py +0 -155
  874. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/time_domain/test_lags_adder.py +0 -364
  875. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/time_domain/test_rolling_aggregates_adder.py +0 -126
  876. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/time_domain/test_versioned_lags_adder.py +0 -225
  877. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/validation/test_completeness_checker.py +0 -169
  878. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/validation/test_flatline_checker.py +0 -130
  879. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/validation/test_input_consistency_checker.py +0 -81
  880. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/weather_domain/test_atmosphere_derived_features_adder.py +0 -113
  881. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/weather_domain/test_daylight_feature_adder.py +0 -102
  882. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/weather_domain/test_radiation_derived_featuers_adder.py +0 -366
  883. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/utils/__init__.py +0 -3
  884. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/utils/test_data_split.py +0 -162
  885. openstef-4.0.0.dev1/packages/openstef-models/tests/unit/utils/test_loss_functions.py +0 -353
  886. openstef-4.0.0.dev1/pyproject.toml +0 -360
  887. openstef-4.0.0.dev1/tools/reuse-fix.py +0 -390
  888. openstef-4.0.0.dev1/uv.lock +0 -4450
  889. {openstef-4.0.0.dev1 → openstef-4.1.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  890. {openstef-4.0.0.dev1 → openstef-4.1.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  891. {openstef-4.0.0.dev1 → openstef-4.1.0}/.python-version +0 -0
  892. {openstef-4.0.0.dev1 → openstef-4.1.0}/LICENSE.md +0 -0
  893. {openstef-4.0.0.dev1 → openstef-4.1.0}/LICENSES/MPL-2.0.txt +0 -0
  894. {openstef-4.0.0.dev1 → openstef-4.1.0}/docs/README.md +0 -0
  895. {openstef-4.0.0.dev1 → openstef-4.1.0}/docs/source/_static/css/.gitkeep +0 -0
  896. {openstef-4.0.0.dev1 → openstef-4.1.0}/docs/source/_static/versions.json +0 -0
  897. {openstef-4.0.0.dev1 → openstef-4.1.0}/docs/source/images/methodology_train_predict.pptx +0 -0
  898. {openstef-4.0.0.dev1 → openstef-4.1.0}/docs/source/images/methodology_train_predict.svg +0 -0
  899. {openstef-4.0.0.dev1 → openstef-4.1.0}/docs/source/images/uncertainty_estimation.svg +0 -0
  900. {openstef-4.0.0.dev1 → openstef-4.1.0}/docs/source/js/.gitkeep +0 -0
  901. {openstef-4.0.0.dev1 → openstef-4.1.0}/docs/source/logos/favicon.ico +0 -0
  902. {openstef-4.0.0.dev1 → openstef-4.1.0}/docs/source/logos/logo_openstef_small.png +0 -0
  903. {openstef-4.0.0.dev1 → openstef-4.1.0}/docs/source/logos/openstef-horizontal-color.svg +0 -0
  904. {openstef-4.0.0.dev1 → openstef-4.1.0}/docs/source/logos/openstef-horizontal-white.svg +0 -0
  905. {openstef-4.0.0.dev1 → openstef-4.1.0}/packages/openstef-beam/tests/unit/analysis/__init__.py +0 -0
  906. {openstef-4.0.0.dev1 → openstef-4.1.0}/packages/openstef-beam/tests/unit/analysis/plots/__init__.py +0 -0
  907. {openstef-4.0.0.dev1 → openstef-4.1.0}/packages/openstef-beam/tests/unit/analysis/visualizations/__init__.py +0 -0
  908. {openstef-4.0.0.dev1 → openstef-4.1.0}/packages/openstef-beam/tests/unit/backtesting/__init__.py +0 -0
  909. {openstef-4.0.0.dev1 → openstef-4.1.0}/packages/openstef-beam/tests/unit/benchmarking/__init__.py +0 -0
  910. {openstef-4.0.0.dev1 → openstef-4.1.0}/packages/openstef-beam/tests/unit/benchmarking/storage/__init__.py +0 -0
  911. {openstef-4.0.0.dev1 → openstef-4.1.0}/packages/openstef-beam/tests/unit/metrics/__init__.py +0 -0
  912. {openstef-4.0.0.dev1 → openstef-4.1.0}/packages/openstef-beam/tests/utils/__init__.py +0 -0
  913. {openstef-4.0.0.dev1 → openstef-4.1.0}/packages/openstef-core/tests/unit/__init__.py +0 -0
  914. {openstef-4.0.0.dev1 → openstef-4.1.0}/packages/openstef-core/tests/unit/datasets/__init__.py +0 -0
  915. {openstef-4.0.0.dev1 → openstef-4.1.0}/packages/openstef-core/tests/unit/mixins/__init__.py +0 -0
  916. {openstef-4.0.0.dev1 → openstef-4.1.0}/packages/openstef-core/tests/unit/transforms/__init__.py +0 -0
  917. {openstef-4.0.0.dev1 → openstef-4.1.0}/packages/openstef-core/tests/unit/utils/__init__.py +0 -0
  918. /openstef-4.0.0.dev1/examples/deployment/.gitkeep → /openstef-4.1.0/packages/openstef-meta/README.md +0 -0
  919. {openstef-4.0.0.dev1/packages/openstef-models → openstef-4.1.0/packages/openstef-meta}/tests/integration/__init__.py +0 -0
  920. {openstef-4.0.0.dev1/packages/openstef-models/tests/unit → openstef-4.1.0/packages/openstef-meta/tests/unit/models}/__init__.py +0 -0
  921. {openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/forecasting → openstef-4.1.0/packages/openstef-meta/tests/unit/models}/conftest.py +0 -0
  922. {openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models → openstef-4.1.0/packages/openstef-meta/tests/unit/models/forecast_combiners}/__init__.py +0 -0
  923. {openstef-4.0.0.dev1/packages/openstef-models → openstef-4.1.0/packages/openstef-meta}/tests/unit/models/forecasting/__init__.py +0 -0
  924. {openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms → openstef-4.1.0/packages/openstef-meta/tests/unit/utils}/__init__.py +0 -0
  925. {openstef-4.0.0.dev1 → openstef-4.1.0}/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter_model/linear_component_splitter_model.z +0 -0
  926. {openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/energy_domain → openstef-4.1.0/packages/openstef-models/tests/integration}/__init__.py +0 -0
  927. {openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/general → openstef-4.1.0/packages/openstef-models/tests/unit}/__init__.py +0 -0
  928. {openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/time_domain → openstef-4.1.0/packages/openstef-models/tests/unit/explainability}/__init__.py +0 -0
  929. {openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/validation → openstef-4.1.0/packages/openstef-models/tests/unit/explainability/plotters}/__init__.py +0 -0
  930. {openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/weather_domain → openstef-4.1.0/packages/openstef-models/tests/unit/integrations/optuna}/__init__.py +0 -0
  931. /openstef-4.0.0.dev1/examples/tutorials/.gitkeep → /openstef-4.1.0/packages/openstef-models/tests/unit/models/__init__.py +0 -0
  932. /openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/evaluation/test_window_iterators.py → /openstef-4.1.0/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,38 @@
1
+ ---
2
+ name: OpenSTEF Project Story
3
+ about: Describe a new feature or improvement for OpenSTEF
4
+ title: ''
5
+ labels: 'OpenSTEF 4'
6
+ assignees: ''
7
+ ---
8
+
9
+ As
10
+ I want to
11
+ So that I
12
+
13
+ 🌍 Background
14
+
15
+ > [!IMPORTANT]
16
+ > Changes should be done by forking [main branch](https://github.com/OpenSTEF/openstef/tree/main) (`main`) and then make a PR back onto `main` branch.
17
+ > Please read the [contributing guide](https://openstef.github.io/openstef/contribute/index.html) before you start.
18
+
19
+ ❗Priority (What if we don't do this?/Are there any deadlines? etc.)
20
+
21
+ Definition of Done:
22
+
23
+ ✅ Acceptance criteria
24
+ - [ ]
25
+
26
+ 📄 Documentation criteria:
27
+ Update relevant documentation pages
28
+
29
+ 🧪 Test criteria:
30
+ Unit tests written and passed
31
+
32
+ ⌛ Dependencies:
33
+ N/A
34
+
35
+ 🚀 Releasing:
36
+ N/A
37
+
38
+ Other information:
@@ -0,0 +1,75 @@
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
+ # - lockfile-only: updates touch uv.lock only, never widen pyproject.toml
8
+ # constraints, so no "update X requirement from A to B" PRs.
9
+ # - Linters/formatters (ruff, ty, pyproject-fmt) are isolated in their own group:
10
+ # their releases routinely add rules/checks or restyle files and fail the quality
11
+ # gate, so they land in a dedicated PR rather than blocking unrelated library or
12
+ # security updates.
13
+ # - Cooldown delays brand-new releases by a few days as supply-chain protection.
14
+ # - Security advisories are in their own group, exempt from cooldown.
15
+
16
+ version: 2
17
+
18
+ updates:
19
+ - package-ecosystem: uv
20
+ directories:
21
+ - "/"
22
+ - "/docs"
23
+ - "/examples"
24
+ - "/packages/openstef-beam"
25
+ - "/packages/openstef-core"
26
+ - "/packages/openstef-meta"
27
+ - "/packages/openstef-models"
28
+ schedule:
29
+ interval: daily
30
+ time: "06:00"
31
+ timezone: Europe/Amsterdam
32
+ open-pull-requests-limit: 10
33
+ versioning-strategy: lockfile-only
34
+ commit-message:
35
+ prefix: "chore(deps)"
36
+ include: scope
37
+ labels:
38
+ - dependencies
39
+ - python:uv
40
+ cooldown:
41
+ default-days: 3
42
+ semver-patch-days: 2
43
+ semver-minor-days: 5
44
+ semver-major-days: 7
45
+ groups:
46
+ python-security:
47
+ applies-to: security-updates
48
+ update-types: [patch, minor]
49
+ python-linters:
50
+ applies-to: version-updates
51
+ patterns: ["ruff", "ty", "pyproject-fmt"]
52
+ update-types: [patch, minor]
53
+ python-versions:
54
+ applies-to: version-updates
55
+ exclude-patterns: ["ruff", "ty", "pyproject-fmt"]
56
+ update-types: [patch, minor]
57
+
58
+ - package-ecosystem: github-actions
59
+ directory: "/"
60
+ schedule:
61
+ interval: daily
62
+ time: "06:00"
63
+ timezone: Europe/Amsterdam
64
+ open-pull-requests-limit: 5
65
+ commit-message:
66
+ prefix: "chore(ci)"
67
+ include: scope
68
+ labels:
69
+ - dependencies
70
+ - github-actions
71
+ cooldown:
72
+ default-days: 3
73
+ groups:
74
+ actions-all:
75
+ 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,81 @@
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@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
24
+ with:
25
+ fetch-depth: 0 # full history gives Sonar accurate new-code / blame info
26
+ show-progress: false # very verbose for not much
27
+ - name: Install uv
28
+ uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
29
+ # uv is needed for qa and deploy, so is kinda always needed. No need to skip it.
30
+ with:
31
+ activate-environment: true
32
+ enable-cache: true
33
+ - name: Install dependencies
34
+ if: ${{ always() }}
35
+ run: uv sync --frozen --no-install-project
36
+
37
+ # Run quality checks
38
+ - name: reuse
39
+ if: ${{ ! inputs._SKIP_QUALITY && always() }}
40
+ run: poe reuse
41
+ - name: licensecheck
42
+ if: ${{ ! inputs._SKIP_QUALITY && always() }}
43
+ run: poe licensecheck --check
44
+ - name: lint
45
+ if: ${{ ! inputs._SKIP_QUALITY && always() }}
46
+ run: poe lint --check
47
+ - name: format
48
+ if: ${{ ! inputs._SKIP_QUALITY && always() }}
49
+ run: poe format --check
50
+ - name: format-pyproject
51
+ if: ${{ ! inputs._SKIP_QUALITY && always() }}
52
+ run: poe format-pyproject --check
53
+ - name: typing
54
+ if: ${{ ! inputs._SKIP_QUALITY && always() }}
55
+ run: poe type
56
+ - name: typing tests
57
+ if: ${{ ! inputs._SKIP_QUALITY && always() }}
58
+ run: poe type-tests
59
+ - name: tests
60
+ if: ${{ ! inputs._SKIP_QUALITY && always() }}
61
+ run: poe tests
62
+ - name: doctests
63
+ if: ${{ ! inputs._SKIP_QUALITY && always() }}
64
+ run: poe doctests
65
+ - name: notebooks-check
66
+ if: ${{ ! inputs._SKIP_QUALITY && always() }}
67
+ run: poe notebooks-check
68
+
69
+ # Upload analysis + coverage.xml (produced by the tests step) to SonarCloud.
70
+ # Skipped on fork PRs, which cannot access the SONAR_TOKEN secret.
71
+ - name: SonarCloud scan
72
+ if: ${{ ! inputs._SKIP_QUALITY && !cancelled() && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository) }}
73
+ uses: SonarSource/sonarqube-scan-action@713881670b6b3676cda39549040e2d88c70d582e # v8.2.0
74
+ env:
75
+ SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
76
+ SONAR_HOST_URL: https://sonarcloud.io
77
+
78
+ - name: Stop if any quality step failed
79
+ # All tests are run with always() not to stop on the first error. This step makes the workflow fail if any quality step failed.
80
+ if: ${{ failure() }}
81
+ run: exit 1
@@ -0,0 +1,22 @@
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]
14
+
15
+ permissions:
16
+ contents: read
17
+
18
+ jobs:
19
+ quality:
20
+ name: Quality Checks
21
+ uses: ./.github/workflows/_job_quality_check.yaml
22
+ secrets: inherit
@@ -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@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
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,62 @@
1
+ # SPDX-FileCopyrightText: 2026 Contributors to the OpenSTEF project <openstef@lfenergy.org>
2
+ # SPDX-License-Identifier: MPL-2.0
3
+
4
+ # Builds the documentation on PRs WITHOUT deploying it, so that changes which
5
+ # break the docs build (e.g. a dependency bump that breaks notebook execution
6
+ # or static figure export) are caught before they reach main, where the
7
+ # Deploy Documentation workflow would otherwise fail.
8
+ #
9
+ # The build executes the tutorials, so it is slow. It therefore only runs when
10
+ # a PR touches inputs that can affect the build (dependencies, docs sources,
11
+ # example notebooks), and can also be triggered manually from the Actions tab.
12
+
13
+ name: Docs Build Check
14
+
15
+ concurrency:
16
+ group: ${{ github.workflow }}-${{ github.ref }}
17
+ cancel-in-progress: true
18
+
19
+ on:
20
+ pull_request:
21
+ paths:
22
+ - "uv.lock"
23
+ - "**/pyproject.toml"
24
+ - "docs/**"
25
+ - "examples/**"
26
+ - ".github/workflows/docs-check.yaml"
27
+ workflow_dispatch:
28
+
29
+ permissions:
30
+ contents: read
31
+
32
+ jobs:
33
+ build-docs:
34
+ name: Build Documentation (no deploy)
35
+ runs-on: ubuntu-latest
36
+
37
+ steps:
38
+ - name: Checkout
39
+ uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
40
+ with:
41
+ show-progress: false
42
+
43
+ - name: Install uv
44
+ uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
45
+ with:
46
+ activate-environment: true
47
+ enable-cache: true
48
+
49
+ - name: Install dependencies
50
+ run: uv sync --frozen --no-install-project
51
+
52
+ - name: Build Sphinx documentation
53
+ run: poe docs
54
+
55
+ - name: Upload built docs
56
+ if: ${{ always() }}
57
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
58
+ with:
59
+ name: docs-html
60
+ path: docs/build/html
61
+ retention-days: 7
62
+ if-no-files-found: ignore
@@ -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@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
25
+ with:
26
+ show-progress: false
27
+
28
+ - name: Install uv
29
+ uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
30
+ with:
31
+ activate-environment: true
32
+ enable-cache: true
33
+
34
+ - name: Install dependencies
35
+ run: uv sync --frozen --no-install-project
36
+
37
+ - name: Build Sphinx documentation
38
+ run: poe docs
39
+
40
+ - name: Checkout gh-pages branch for deployment
41
+ uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
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,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@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
40
+ with:
41
+ fetch-depth: 0
42
+ show-progress: false
43
+ - name: Install uv
44
+ uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
45
+ with:
46
+ activate-environment: true
47
+ enable-cache: true
48
+ - name: Install build dependencies
49
+ run: uv sync --frozen --no-install-project --no-default-groups --group build
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 }}"
@@ -0,0 +1,147 @@
1
+ # SPDX-FileCopyrightText: 2017-2025 Contributors to the OpenSTEF project <openstef@lfenergy.org> # noqa E501>
2
+ # SPDX-License-Identifier: MPL-2.0
3
+
4
+ # Core
5
+ config.user.yaml
6
+ git-template
7
+ .DS_Store
8
+ tmp
9
+
10
+ # Python bytecode
11
+ __pycache__/
12
+ *.py[cod]
13
+ *$py.class
14
+
15
+ # C extensions
16
+ *.so
17
+
18
+ # Packaging and build artifacts
19
+ .Python
20
+ build/
21
+ dist/
22
+ downloads/
23
+ wheels/
24
+ share/python-wheels/
25
+ sdist/
26
+ .eggs/
27
+ *.egg-info/
28
+ *.egg
29
+ .installed.cfg
30
+ MANIFEST
31
+
32
+ # uv
33
+ .uv/
34
+
35
+ # Ruff
36
+ .ruff_cache/
37
+
38
+ # Test, coverage, tox
39
+ .pytest_cache/
40
+ .coverage
41
+ .coverage.*
42
+ htmlcov/
43
+ .cover/
44
+ cover/
45
+ pytest-report.xml
46
+ .tox/
47
+ .nox/
48
+ coverage.xml
49
+
50
+ # Hypothesis
51
+ .hypothesis/
52
+
53
+ # Cython
54
+ cython_debug/
55
+
56
+ # Type checkers (misc)
57
+ .mypy_cache/
58
+ .dmypy.json
59
+ dmypy.json
60
+ .pytype/
61
+ .pyre/
62
+
63
+ # Sphinx
64
+ docs/_build/
65
+ docs/source/api/generated/
66
+ docs/source/tutorials/
67
+ docs/source/benchmarks/
68
+ # Community health files materialized from OpenSTEF/.github at build time
69
+ docs/source/contribute/_community/
70
+ docs/source/user_guide/**/quick_start_tutorial.py
71
+ docs/source/user_guide/**/feature_engineering_tutorial.py
72
+ docs/source/user_guide/**/datasets_tutorial.py
73
+ docs/source/user_guide/**/backtesting_tutorial.py
74
+
75
+ # docs/_doctrees/
76
+ # docs/_static_gen/
77
+
78
+ # Editors: JetBrains
79
+ .idea/
80
+
81
+ # Editors: VS Code (allow shared configs)
82
+ .vscode/*
83
+
84
+ # Jupyter / IPython
85
+ .ipynb_checkpoints
86
+ profile_default/
87
+ ipython_config.py
88
+
89
+ # Spyder / Rope
90
+ .spyderproject
91
+ .spyproject
92
+ .ropeproject
93
+
94
+ # Environments
95
+ .env
96
+ .venv
97
+ env/
98
+ venv/
99
+ ENV/
100
+ env.bak/
101
+ venv.bak/
102
+
103
+ # PEP 582
104
+ __pypackages__/
105
+
106
+ # web frameworks / services
107
+ *.sqlite
108
+ *.sqlite3
109
+ *.log
110
+ instance/
111
+ .webassets-cache
112
+ celerybeat-schedule
113
+ celerybeat.pid
114
+ *.sage.py
115
+ tmp/
116
+
117
+ # PyInstaller
118
+ *.manifest
119
+ *.spec
120
+
121
+ # Project outputs
122
+ output/
123
+ prof/
124
+ certificates/
125
+
126
+ # Output artifacts
127
+ *.html
128
+ *.pkl
129
+
130
+ # Benchmark outputs
131
+ benchmark_results*/
132
+
133
+ # Local dataset files
134
+ liander_dataset/
135
+
136
+ # Deployment example run artifacts (MLflow store, forecasts, dataset, Celery/Airflow state)
137
+ openstef_deployment_runs/
138
+
139
+ # Mlflow
140
+ /mlflow
141
+ /mlflow_artifacts_local
142
+
143
+ .github/instructions
144
+
145
+ # Jupyter notebook cache (myst-nb execution outputs)
146
+ .jupyter_cache/
147
+ docs/build.zip