openstef 4.2.2__tar.gz → 4.2.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (624) hide show
  1. {openstef-4.2.2 → openstef-4.2.3}/PKG-INFO +15 -15
  2. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/pyproject.toml +1 -1
  3. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/visualizations/test_timeseries_visualization.py +7 -2
  4. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/pyproject.toml +2 -3
  5. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/datasets/test_timeseries_dataset.py +5 -0
  6. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/pyproject.toml +1 -1
  7. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/pyproject.toml +1 -1
  8. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/unit/models/conftest.py +1 -1
  9. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/pyproject.toml +1 -1
  10. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/integrations/mlflow/mlflow_storage.py +44 -3
  11. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/forecasting/median_forecaster.py +4 -1
  12. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/utils/data_split.py +1 -1
  13. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/integrations/mlflow/test_mlflow_storage.py +20 -1
  14. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/forecasting/conftest.py +1 -1
  15. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/forecasting/test_median_forecaster.py +6 -1
  16. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/general/test_dimensionality_reducer.py +1 -1
  17. {openstef-4.2.2 → openstef-4.2.3}/pyproject.toml +15 -15
  18. {openstef-4.2.2 → openstef-4.2.3}/uv.lock +65 -70
  19. {openstef-4.2.2 → openstef-4.2.3}/.github/CODEOWNERS +0 -0
  20. {openstef-4.2.2 → openstef-4.2.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  21. {openstef-4.2.2 → openstef-4.2.3}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  22. {openstef-4.2.2 → openstef-4.2.3}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  23. {openstef-4.2.2 → openstef-4.2.3}/.github/ISSUE_TEMPLATE/task.md +0 -0
  24. {openstef-4.2.2 → openstef-4.2.3}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  25. {openstef-4.2.2 → openstef-4.2.3}/.github/dependabot.yml +0 -0
  26. {openstef-4.2.2 → openstef-4.2.3}/.github/pr-labeler.yml +0 -0
  27. {openstef-4.2.2 → openstef-4.2.3}/.github/workflows/_job_quality_check.yaml +0 -0
  28. {openstef-4.2.2 → openstef-4.2.3}/.github/workflows/check.yaml +0 -0
  29. {openstef-4.2.2 → openstef-4.2.3}/.github/workflows/citations.yaml +0 -0
  30. {openstef-4.2.2 → openstef-4.2.3}/.github/workflows/codeql.yaml +0 -0
  31. {openstef-4.2.2 → openstef-4.2.3}/.github/workflows/docs-check.yaml +0 -0
  32. {openstef-4.2.2 → openstef-4.2.3}/.github/workflows/docs.yaml +0 -0
  33. {openstef-4.2.2 → openstef-4.2.3}/.github/workflows/pr-labeler.yaml +0 -0
  34. {openstef-4.2.2 → openstef-4.2.3}/.github/workflows/release-v4.yaml +0 -0
  35. {openstef-4.2.2 → openstef-4.2.3}/.gitignore +0 -0
  36. {openstef-4.2.2 → openstef-4.2.3}/.python-version +0 -0
  37. {openstef-4.2.2 → openstef-4.2.3}/CITATION.cff +0 -0
  38. {openstef-4.2.2 → openstef-4.2.3}/COMMITTERS.md +0 -0
  39. {openstef-4.2.2 → openstef-4.2.3}/LICENSE.md +0 -0
  40. {openstef-4.2.2 → openstef-4.2.3}/LICENSES/MPL-2.0.txt +0 -0
  41. {openstef-4.2.2 → openstef-4.2.3}/README.md +0 -0
  42. {openstef-4.2.2 → openstef-4.2.3}/REUSE.toml +0 -0
  43. {openstef-4.2.2 → openstef-4.2.3}/THIRD_PARTY_NOTICES.md +0 -0
  44. {openstef-4.2.2 → openstef-4.2.3}/docs/.gitkeep +0 -0
  45. {openstef-4.2.2 → openstef-4.2.3}/docs/README.md +0 -0
  46. {openstef-4.2.2 → openstef-4.2.3}/docs/automation.yml +0 -0
  47. {openstef-4.2.2 → openstef-4.2.3}/docs/autosummary_cache.py +0 -0
  48. {openstef-4.2.2 → openstef-4.2.3}/docs/autosummary_helpers.py +0 -0
  49. {openstef-4.2.2 → openstef-4.2.3}/docs/pages.yml +0 -0
  50. {openstef-4.2.2 → openstef-4.2.3}/docs/pyproject.toml +0 -0
  51. {openstef-4.2.2 → openstef-4.2.3}/docs/source/_figures/generate_concept_figures.py +0 -0
  52. {openstef-4.2.2 → openstef-4.2.3}/docs/source/_figures/generate_guide_figures.py +0 -0
  53. {openstef-4.2.2 → openstef-4.2.3}/docs/source/_static/css/.gitkeep +0 -0
  54. {openstef-4.2.2 → openstef-4.2.3}/docs/source/_static/css/custom.css +0 -0
  55. {openstef-4.2.2 → openstef-4.2.3}/docs/source/_static/versions.json +0 -0
  56. {openstef-4.2.2 → openstef-4.2.3}/docs/source/_static/versions.json.license +0 -0
  57. {openstef-4.2.2 → openstef-4.2.3}/docs/source/_templates/custom_class.rst +0 -0
  58. {openstef-4.2.2 → openstef-4.2.3}/docs/source/_templates/custom_class_noindex.rst +0 -0
  59. {openstef-4.2.2 → openstef-4.2.3}/docs/source/_templates/custom_function.rst +0 -0
  60. {openstef-4.2.2 → openstef-4.2.3}/docs/source/_templates/module_overview.rst +0 -0
  61. {openstef-4.2.2 → openstef-4.2.3}/docs/source/_templates/package_overview.rst +0 -0
  62. {openstef-4.2.2 → openstef-4.2.3}/docs/source/api/beam.rst +0 -0
  63. {openstef-4.2.2 → openstef-4.2.3}/docs/source/api/core.rst +0 -0
  64. {openstef-4.2.2 → openstef-4.2.3}/docs/source/api/foundation_models.rst +0 -0
  65. {openstef-4.2.2 → openstef-4.2.3}/docs/source/api/index.rst +0 -0
  66. {openstef-4.2.2 → openstef-4.2.3}/docs/source/api/meta.rst +0 -0
  67. {openstef-4.2.2 → openstef-4.2.3}/docs/source/api/models.rst +0 -0
  68. {openstef-4.2.2 → openstef-4.2.3}/docs/source/conf.py +0 -0
  69. {openstef-4.2.2 → openstef-4.2.3}/docs/source/contribute/_getting_help.rst +0 -0
  70. {openstef-4.2.2 → openstef-4.2.3}/docs/source/contribute/code_of_conduct.rst +0 -0
  71. {openstef-4.2.2 → openstef-4.2.3}/docs/source/contribute/code_style_guide.rst +0 -0
  72. {openstef-4.2.2 → openstef-4.2.3}/docs/source/contribute/contributing_guide.rst +0 -0
  73. {openstef-4.2.2 → openstef-4.2.3}/docs/source/contribute/development_setup.rst +0 -0
  74. {openstef-4.2.2 → openstef-4.2.3}/docs/source/contribute/development_workflow.rst +0 -0
  75. {openstef-4.2.2 → openstef-4.2.3}/docs/source/contribute/document.rst +0 -0
  76. {openstef-4.2.2 → openstef-4.2.3}/docs/source/contribute/index.rst +0 -0
  77. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/beam_diagram_1.mmd +0 -0
  78. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/beam_diagram_1.mmd.license +0 -0
  79. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/component_splitting_diagram_1.mmd +0 -0
  80. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/component_splitting_diagram_1.mmd.license +0 -0
  81. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/intro_to_energy_forecasting_diagram_1.mmd +0 -0
  82. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/intro_to_energy_forecasting_diagram_1.mmd.license +0 -0
  83. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_1.mmd +0 -0
  84. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_1.mmd.license +0 -0
  85. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_2.mmd +0 -0
  86. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_2.mmd.license +0 -0
  87. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_3.mmd +0 -0
  88. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_3.mmd.license +0 -0
  89. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/models_diagram_1.mmd +0 -0
  90. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/models_diagram_1.mmd.license +0 -0
  91. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/getting_started/migration_diagram_1.mmd +0 -0
  92. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/getting_started/migration_diagram_1.mmd.license +0 -0
  93. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/datasets_diagram_1.mmd +0 -0
  94. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/datasets_diagram_1.mmd.license +0 -0
  95. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/datasets_diagram_2.mmd +0 -0
  96. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/datasets_diagram_2.mmd.license +0 -0
  97. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/deployment_diagram_1.mmd +0 -0
  98. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/deployment_diagram_1.mmd.license +0 -0
  99. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/deployment_diagram_2.mmd +0 -0
  100. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/deployment_diagram_2.mmd.license +0 -0
  101. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/forecasting_diagram_1.mmd +0 -0
  102. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/forecasting_diagram_1.mmd.license +0 -0
  103. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/probabilistic_forecasting_diagram_1.mmd +0 -0
  104. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/probabilistic_forecasting_diagram_1.mmd.license +0 -0
  105. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_1.mmd +0 -0
  106. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_1.mmd.license +0 -0
  107. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_2.mmd +0 -0
  108. {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_2.mmd.license +0 -0
  109. {openstef-4.2.2 → openstef-4.2.3}/docs/source/examples.rst +0 -0
  110. {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/concepts/aggregation_comparison.svg +0 -0
  111. {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/concepts/aggregation_comparison.svg.license +0 -0
  112. {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/concepts/backtesting_simulation.gif +0 -0
  113. {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/concepts/backtesting_simulation.gif.license +0 -0
  114. {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/concepts/forecast_confidence_bands.svg +0 -0
  115. {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/concepts/forecast_confidence_bands.svg.license +0 -0
  116. {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/concepts/weekly_load_profile.svg +0 -0
  117. {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/concepts/weekly_load_profile.svg.license +0 -0
  118. {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/guides/calibration_plot.svg +0 -0
  119. {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/guides/calibration_plot.svg.license +0 -0
  120. {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/guides/flatline_detection.svg +0 -0
  121. {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/guides/flatline_detection.svg.license +0 -0
  122. {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/guides/liander2024_rcrps_by_group.png +0 -0
  123. {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/guides/liander2024_rcrps_by_group.png.license +0 -0
  124. {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/guides/probabilistic_fan_chart.svg +0 -0
  125. {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/guides/probabilistic_fan_chart.svg.license +0 -0
  126. {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/methodology_train_predict.pptx +0 -0
  127. {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/methodology_train_predict.pptx.license +0 -0
  128. {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/methodology_train_predict.svg +0 -0
  129. {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/methodology_train_predict.svg.license +0 -0
  130. {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/uncertainty_estimation.svg +0 -0
  131. {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/uncertainty_estimation.svg.license +0 -0
  132. {openstef-4.2.2 → openstef-4.2.3}/docs/source/index.rst +0 -0
  133. {openstef-4.2.2 → openstef-4.2.3}/docs/source/js/.gitkeep +0 -0
  134. {openstef-4.2.2 → openstef-4.2.3}/docs/source/logos/favicon.ico +0 -0
  135. {openstef-4.2.2 → openstef-4.2.3}/docs/source/logos/favicon.ico.license +0 -0
  136. {openstef-4.2.2 → openstef-4.2.3}/docs/source/logos/logo_openstef_small.png +0 -0
  137. {openstef-4.2.2 → openstef-4.2.3}/docs/source/logos/logo_openstef_small.png.license +0 -0
  138. {openstef-4.2.2 → openstef-4.2.3}/docs/source/logos/openstef-horizontal-color.svg +0 -0
  139. {openstef-4.2.2 → openstef-4.2.3}/docs/source/logos/openstef-horizontal-color.svg.license +0 -0
  140. {openstef-4.2.2 → openstef-4.2.3}/docs/source/logos/openstef-horizontal-white.svg +0 -0
  141. {openstef-4.2.2 → openstef-4.2.3}/docs/source/logos/openstef-horizontal-white.svg.license +0 -0
  142. {openstef-4.2.2 → openstef-4.2.3}/docs/source/project/citing.rst +0 -0
  143. {openstef-4.2.2 → openstef-4.2.3}/docs/source/project/governance.rst +0 -0
  144. {openstef-4.2.2 → openstef-4.2.3}/docs/source/project/index.rst +0 -0
  145. {openstef-4.2.2 → openstef-4.2.3}/docs/source/project/license.rst +0 -0
  146. {openstef-4.2.2 → openstef-4.2.3}/docs/source/project/support.rst +0 -0
  147. {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/concepts/beam.rst +0 -0
  148. {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/concepts/component_splitting.rst +0 -0
  149. {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/concepts/foundation_models.rst +0 -0
  150. {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/concepts/index.rst +0 -0
  151. {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/concepts/intro_to_energy_forecasting.rst +0 -0
  152. {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/concepts/metalearning.rst +0 -0
  153. {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/concepts/models.rst +0 -0
  154. {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/external_resources.rst +0 -0
  155. {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/getting_started/index.rst +0 -0
  156. {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/getting_started/installation.rst +0 -0
  157. {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/getting_started/migration.rst +0 -0
  158. {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/guides/benchmark_results.rst +0 -0
  159. {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/guides/deployment.rst +0 -0
  160. {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/guides/forecasting.rst +0 -0
  161. {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/guides/index.rst +0 -0
  162. {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/guides/probabilistic_forecasting.rst +0 -0
  163. {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/guides/reliability_fallback.rst +0 -0
  164. {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/index.rst +0 -0
  165. {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/intro/index.rst +0 -0
  166. {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/intro/methodology_train_predict.rst +0 -0
  167. {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/logging.rst +0 -0
  168. {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/tutorials.rst +0 -0
  169. {openstef-4.2.2 → openstef-4.2.3}/docs/sync_sources.py +0 -0
  170. {openstef-4.2.2 → openstef-4.2.3}/examples/.gitkeep +0 -0
  171. {openstef-4.2.2 → openstef-4.2.3}/examples/README.md +0 -0
  172. {openstef-4.2.2 → openstef-4.2.3}/examples/__init__.py +0 -0
  173. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/README.md +0 -0
  174. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/__init__.py +0 -0
  175. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/README.md +0 -0
  176. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/__init__.py +0 -0
  177. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/compare_benchmark_runs.ipynb +0 -0
  178. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/compare_benchmark_runs.ipynb.license +0 -0
  179. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/compare_benchmark_runs.py +0 -0
  180. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/custom_benchmark.ipynb +0 -0
  181. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/custom_benchmark.ipynb.license +0 -0
  182. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/custom_benchmark.py +0 -0
  183. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/custom_forecaster.ipynb +0 -0
  184. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/custom_forecaster.ipynb.license +0 -0
  185. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/custom_forecaster.py +0 -0
  186. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/evaluate_existing_forecasts.ipynb +0 -0
  187. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/evaluate_existing_forecasts.ipynb.license +0 -0
  188. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/evaluate_existing_forecasts.py +0 -0
  189. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/run_custom_benchmark.ipynb +0 -0
  190. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/run_custom_benchmark.ipynb.license +0 -0
  191. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/run_custom_benchmark.py +0 -0
  192. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/run_liander2024_benchmark.ipynb +0 -0
  193. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/run_liander2024_benchmark.ipynb.license +0 -0
  194. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/run_liander2024_benchmark.py +0 -0
  195. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/README.md +0 -0
  196. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/__init__.py +0 -0
  197. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/compare_benchmark_runs.ipynb +0 -0
  198. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/compare_benchmark_runs.ipynb.license +0 -0
  199. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/compare_benchmark_runs.py +0 -0
  200. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/run_chronos2_benchmark.ipynb +0 -0
  201. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/run_chronos2_benchmark.ipynb.license +0 -0
  202. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/run_chronos2_benchmark.py +0 -0
  203. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/run_ensemble_benchmark.ipynb +0 -0
  204. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/run_ensemble_benchmark.ipynb.license +0 -0
  205. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/run_ensemble_benchmark.py +0 -0
  206. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.ipynb +0 -0
  207. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.ipynb.license +0 -0
  208. {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.py +0 -0
  209. {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/.gitignore +0 -0
  210. {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/README.md +0 -0
  211. {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/poe_tasks.toml +0 -0
  212. {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/pyproject.toml +0 -0
  213. {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/airflow_app/__init__.py +0 -0
  214. {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/airflow_app/dags/openstef_forecast.py +0 -0
  215. {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/airflow_app/dags/openstef_train.py +0 -0
  216. {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/celery_app/__init__.py +0 -0
  217. {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/celery_app/app.py +0 -0
  218. {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/celery_app/run.py +0 -0
  219. {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/celery_app/tasks.py +0 -0
  220. {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/common/__init__.py +0 -0
  221. {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/common/config.py +0 -0
  222. {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/common/pipeline.py +0 -0
  223. {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/common/services.py +0 -0
  224. {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/dagster_app/__init__.py +0 -0
  225. {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/dagster_app/definitions.py +0 -0
  226. {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/dagster_app/run.py +0 -0
  227. {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/tests/test_deployment.py +0 -0
  228. {openstef-4.2.2 → openstef-4.2.3}/examples/pyproject.toml +0 -0
  229. {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/.gitignore +0 -0
  230. {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/backtesting_quickstart.ipynb +0 -0
  231. {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/backtesting_quickstart.py +0 -0
  232. {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/custom_pipeline.ipynb +0 -0
  233. {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/custom_pipeline.py +0 -0
  234. {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/datasets.py +0 -0
  235. {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/ensemble_forecasting.ipynb +0 -0
  236. {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/ensemble_forecasting.py +0 -0
  237. {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/feature_engineering.ipynb +0 -0
  238. {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/feature_engineering.py +0 -0
  239. {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/forecasting_quickstart.ipynb +0 -0
  240. {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/forecasting_quickstart.py +0 -0
  241. {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/foundation_model_forecasting.ipynb +0 -0
  242. {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/foundation_model_forecasting.py +0 -0
  243. {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/foundation_model_forecasting_quickstart.ipynb +0 -0
  244. {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/foundation_model_forecasting_quickstart.py +0 -0
  245. {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/hyperparameter_tuning_with_optuna.ipynb +0 -0
  246. {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/hyperparameter_tuning_with_optuna.py +0 -0
  247. {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/model_explainability.ipynb +0 -0
  248. {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/model_explainability.py +0 -0
  249. {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/quantile_calibration.ipynb +0 -0
  250. {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/quantile_calibration.py +0 -0
  251. {openstef-4.2.2 → openstef-4.2.3}/jupytext.toml +0 -0
  252. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/README.md +0 -0
  253. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/__init__.py +0 -0
  254. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/__init__.py +0 -0
  255. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/analysis_pipeline.py +0 -0
  256. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/models/__init__.py +0 -0
  257. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/models/target_metadata.py +0 -0
  258. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/models/visualization_aggregation.py +0 -0
  259. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/models/visualization_output.py +0 -0
  260. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/plots/__init__.py +0 -0
  261. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/plots/forecast_time_series_plotter.py +0 -0
  262. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/plots/grouped_target_metric_plotter.py +0 -0
  263. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/plots/precision_recall_curve_plotter.py +0 -0
  264. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/plots/quantile_calibration_box_plotter.py +0 -0
  265. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/plots/quantile_probability_plotter.py +0 -0
  266. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/plots/summary_table_plotter.py +0 -0
  267. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/plots/windowed_metric_plotter.py +0 -0
  268. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/__init__.py +0 -0
  269. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/base.py +0 -0
  270. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/grouped_target_metric_visualization.py +0 -0
  271. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/precision_recall_curve_visualization.py +0 -0
  272. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/quantile_calibration_box_visualization.py +0 -0
  273. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/quantile_probability_visualization.py +0 -0
  274. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/summary_table_visualization.py +0 -0
  275. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/timeseries_visualization.py +0 -0
  276. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/windowed_metric_visualization.py +0 -0
  277. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/backtesting/__init__.py +0 -0
  278. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_callback.py +0 -0
  279. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_event.py +0 -0
  280. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_event_generator.py +0 -0
  281. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/__init__.py +0 -0
  282. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/dummy_forecaster.py +0 -0
  283. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/mixins.py +0 -0
  284. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_pipeline.py +0 -0
  285. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/backtesting/restricted_horizon_timeseries.py +0 -0
  286. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/__init__.py +0 -0
  287. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/baselines/__init__.py +0 -0
  288. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/baselines/openstef4.py +0 -0
  289. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/benchmark_comparison_pipeline.py +0 -0
  290. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/benchmark_pipeline.py +0 -0
  291. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/benchmarks/__init__.py +0 -0
  292. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/benchmarks/liander2024.py +0 -0
  293. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/__init__.py +0 -0
  294. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/base.py +0 -0
  295. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/strict_execution_callback.py +0 -0
  296. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/models/__init__.py +0 -0
  297. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/models/benchmark_target.py +0 -0
  298. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/storage/__init__.py +0 -0
  299. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/storage/base.py +0 -0
  300. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/storage/local_storage.py +0 -0
  301. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/storage/s3_storage.py +0 -0
  302. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/target_provider.py +0 -0
  303. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/evaluation/__init__.py +0 -0
  304. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/evaluation/evaluation_pipeline.py +0 -0
  305. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/evaluation/metric_providers.py +0 -0
  306. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/evaluation/models/__init__.py +0 -0
  307. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/evaluation/models/report.py +0 -0
  308. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/evaluation/models/subset.py +0 -0
  309. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/evaluation/models/window.py +0 -0
  310. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/evaluation/window_iterators.py +0 -0
  311. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/metrics/__init__.py +0 -0
  312. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/metrics/metrics_deterministic.py +0 -0
  313. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/metrics/metrics_helpers.py +0 -0
  314. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/metrics/metrics_probabilistic.py +0 -0
  315. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/__init__.py +0 -0
  316. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/__init__.py +0 -0
  317. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/__init__.py +0 -0
  318. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/plots/__init__.py +0 -0
  319. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/plots/test_forecast_time_series_plotter.py +0 -0
  320. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/plots/test_grouped_target_metric_plotter.py +0 -0
  321. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/plots/test_precision_recall_curve_plotter.py +0 -0
  322. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/plots/test_quantile_calibration_box_plotter.py +0 -0
  323. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/plots/test_quantile_probability_plotter.py +0 -0
  324. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/plots/test_summary_table_plotter.py +0 -0
  325. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/plots/test_windowed_metric_plotter.py +0 -0
  326. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/test_analysis_pipeline.py +0 -0
  327. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/visualizations/__init__.py +0 -0
  328. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/visualizations/conftest.py +0 -0
  329. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/visualizations/test_grouped_target_metric_visualization.py +0 -0
  330. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/visualizations/test_precision_recall_curve_visualization.py +0 -0
  331. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/visualizations/test_quantile_calibration_box_visualization.py +0 -0
  332. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/visualizations/test_quantile_probability_visualization.py +0 -0
  333. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/visualizations/test_summary_table_visualization.py +0 -0
  334. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/visualizations/test_windowed_metric_visualization.py +0 -0
  335. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/backtesting/__init__.py +0 -0
  336. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/backtesting/test_backtest_event_generator.py +0 -0
  337. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/backtesting/test_backtest_pipeline.py +0 -0
  338. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/backtesting/test_batch_prediction.py +0 -0
  339. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/benchmarking/__init__.py +0 -0
  340. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/benchmarking/baselines/__init__.py +0 -0
  341. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/benchmarking/baselines/test_openstef4.py +0 -0
  342. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/benchmarking/storage/__init__.py +0 -0
  343. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/benchmarking/storage/test_local_storage.py +0 -0
  344. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/benchmarking/storage/test_s3_storage.py +0 -0
  345. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/benchmarking/test_benchmark_pipeline.py +0 -0
  346. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/benchmarking/test_target_provider.py +0 -0
  347. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/evaluation/__init__.py +0 -0
  348. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/evaluation/models/__init__.py +0 -0
  349. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/evaluation/models/test_window.py +0 -0
  350. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/evaluation/test_evaluation_pipeline.py +0 -0
  351. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/evaluation/test_metric_provider.py +0 -0
  352. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/evaluation/test_window_iterators.py +0 -0
  353. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/metrics/__init__.py +0 -0
  354. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/metrics/test_metrics_deterministic.py +0 -0
  355. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/metrics/test_metrics_helpers.py +0 -0
  356. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/metrics/test_metrics_probabilistic.py +0 -0
  357. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/utils/__init__.py +0 -0
  358. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/utils/mocks.py +0 -0
  359. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/README.md +0 -0
  360. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/__init__.py +0 -0
  361. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/base_model.py +0 -0
  362. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/constants.py +0 -0
  363. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/datasets/__init__.py +0 -0
  364. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/datasets/mixins.py +0 -0
  365. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/datasets/timeseries_dataset.py +0 -0
  366. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/datasets/validated_datasets.py +0 -0
  367. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/datasets/validation.py +0 -0
  368. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/datasets/versioned_timeseries_dataset.py +0 -0
  369. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/exceptions.py +0 -0
  370. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/mixins/__init__.py +0 -0
  371. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/mixins/param_ranges.py +0 -0
  372. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/mixins/predictor.py +0 -0
  373. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/mixins/stateful.py +0 -0
  374. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/mixins/transform.py +0 -0
  375. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/testing.py +0 -0
  376. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/transforms/__init__.py +0 -0
  377. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/transforms/dataset_transforms.py +0 -0
  378. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/types.py +0 -0
  379. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/utils/__init__.py +0 -0
  380. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/utils/datetime.py +0 -0
  381. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/utils/invariants.py +0 -0
  382. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/utils/itertools.py +0 -0
  383. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/utils/multiprocessing.py +0 -0
  384. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/utils/numpy.py +0 -0
  385. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/utils/pandas.py +0 -0
  386. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/utils/pydantic.py +0 -0
  387. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/__init__.py +0 -0
  388. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/__init__.py +0 -0
  389. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/datasets/__init__.py +0 -0
  390. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/datasets/test_mixins.py +0 -0
  391. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/datasets/test_validated_datasets.py +0 -0
  392. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/datasets/test_validation.py +0 -0
  393. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/datasets/test_versioned_timeseries_dataset.py +0 -0
  394. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/datasets/utils.py +0 -0
  395. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/mixins/__init__.py +0 -0
  396. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/mixins/test_stateful.py +0 -0
  397. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/mixins/test_transform.py +0 -0
  398. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/test_base_model.py +0 -0
  399. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/test_hyperparams_tuning.py +0 -0
  400. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/test_param_ranges.py +0 -0
  401. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/test_types.py +0 -0
  402. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/transforms/__init__.py +0 -0
  403. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/utils/__init__.py +0 -0
  404. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/utils/test_datetime.py +0 -0
  405. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/utils/test_itertools.py +0 -0
  406. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/utils/test_multiprocessing.py +0 -0
  407. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/utils/test_numpy.py +0 -0
  408. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/utils/test_pandas.py +0 -0
  409. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/README.md +0 -0
  410. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/__init__.py +0 -0
  411. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/inference/__init__.py +0 -0
  412. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/inference/backend.py +0 -0
  413. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/inference/onnx_backend.py +0 -0
  414. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/inference/provider_selection.py +0 -0
  415. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/inference/providers.py +0 -0
  416. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/integrations/__init__.py +0 -0
  417. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/integrations/beam.py +0 -0
  418. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/models/__init__.py +0 -0
  419. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/models/catalog.py +0 -0
  420. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/models/checkpoint.py +0 -0
  421. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/models/forecasting/__init__.py +0 -0
  422. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/models/forecasting/chronos2_forecaster.py +0 -0
  423. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/presets/__init__.py +0 -0
  424. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/presets/forecasting_workflow.py +0 -0
  425. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/__init__.py +0 -0
  426. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/integration/__init__.py +0 -0
  427. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/integration/conftest.py +0 -0
  428. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/integration/test_beam_integration.py +0 -0
  429. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/integration/test_chronos2_onnx.py +0 -0
  430. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/__init__.py +0 -0
  431. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/inference/__init__.py +0 -0
  432. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/inference/test_onnx_backend.py +0 -0
  433. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/inference/test_provider_selection.py +0 -0
  434. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/inference/test_providers.py +0 -0
  435. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/integrations/__init__.py +0 -0
  436. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/integrations/test_beam.py +0 -0
  437. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/models/__init__.py +0 -0
  438. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/models/forecasting/__init__.py +0 -0
  439. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/models/forecasting/test_chronos2_forecaster.py +0 -0
  440. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/models/test_catalog.py +0 -0
  441. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/presets/__init__.py +0 -0
  442. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/presets/test_forecasting_workflow.py +0 -0
  443. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/README.md +0 -0
  444. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/src/openstef_meta/__init__.py +0 -0
  445. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/src/openstef_meta/models/__init__.py +0 -0
  446. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/src/openstef_meta/models/ensemble_forecasting_model.py +0 -0
  447. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/__init__.py +0 -0
  448. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/forecast_combiner.py +0 -0
  449. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/learned_weights_combiner.py +0 -0
  450. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/stacking_combiner.py +0 -0
  451. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/src/openstef_meta/presets/__init__.py +0 -0
  452. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/src/openstef_meta/presets/forecasting_workflow.py +0 -0
  453. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/src/openstef_meta/utils/__init__.py +0 -0
  454. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/src/openstef_meta/utils/datasets.py +0 -0
  455. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/integration/__init__.py +0 -0
  456. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/integration/test_ensemble_forecasting_model.py +0 -0
  457. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/unit/integrations/__init__.py +0 -0
  458. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/unit/integrations/test_mlflow_storage_callback_ensemble.py +0 -0
  459. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/unit/models/__init__.py +0 -0
  460. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/unit/models/forecast_combiners/__init__.py +0 -0
  461. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/unit/models/forecast_combiners/conftest.py +0 -0
  462. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/unit/models/forecast_combiners/test_learned_weights_combiner.py +0 -0
  463. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/unit/models/forecast_combiners/test_stacking_combiner.py +0 -0
  464. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/unit/models/forecasting/__init__.py +0 -0
  465. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/unit/models/test_ensemble_forecasting_model.py +0 -0
  466. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/unit/utils/__init__.py +0 -0
  467. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/unit/utils/test_datasets.py +0 -0
  468. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/README.md +0 -0
  469. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/__init__.py +0 -0
  470. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/explainability/__init__.py +0 -0
  471. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/explainability/mixins.py +0 -0
  472. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/explainability/plotters/__init__.py +0 -0
  473. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/explainability/plotters/contributions_plotter.py +0 -0
  474. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/explainability/plotters/feature_importance_plotter.py +0 -0
  475. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/integrations/__init__.py +0 -0
  476. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/integrations/joblib/__init__.py +0 -0
  477. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/integrations/joblib/joblib_model_serializer.py +0 -0
  478. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/integrations/mlflow/__init__.py +0 -0
  479. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/integrations/mlflow/mlflow_storage_callback.py +0 -0
  480. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/integrations/optuna/__init__.py +0 -0
  481. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/integrations/optuna/tuner.py +0 -0
  482. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/mixins/__init__.py +0 -0
  483. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/mixins/callbacks.py +0 -0
  484. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/mixins/model_serializer.py +0 -0
  485. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/__init__.py +0 -0
  486. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/component_splitting/__init__.py +0 -0
  487. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/component_splitting/component_splitter.py +0 -0
  488. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/component_splitting/constant_component_splitter.py +0 -0
  489. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter.py +0 -0
  490. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter_model/linear_component_splitter_model.z +0 -0
  491. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter_model/linear_component_splitter_model.z.license +0 -0
  492. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/component_splitting_model.py +0 -0
  493. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/forecasting/__init__.py +0 -0
  494. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/forecasting/base_case_forecaster.py +0 -0
  495. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/forecasting/constant_quantile_forecaster.py +0 -0
  496. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/forecasting/flatliner_forecaster.py +0 -0
  497. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/forecasting/forecaster.py +0 -0
  498. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/forecasting/gblinear_forecaster.py +0 -0
  499. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/forecasting/lgbm_forecaster.py +0 -0
  500. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/forecasting/lgbmlinear_forecaster.py +0 -0
  501. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/forecasting/xgboost_forecaster.py +0 -0
  502. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/forecasting_model.py +0 -0
  503. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/presets/__init__.py +0 -0
  504. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/presets/forecasting_workflow.py +0 -0
  505. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/testing.py +0 -0
  506. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/__init__.py +0 -0
  507. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/energy_domain/__init__.py +0 -0
  508. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/energy_domain/wind_power_feature_adder.py +0 -0
  509. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/general/__init__.py +0 -0
  510. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/general/dimensionality_reducer.py +0 -0
  511. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/general/empty_feature_remover.py +0 -0
  512. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/general/flagger.py +0 -0
  513. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/general/imputer.py +0 -0
  514. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/general/nan_dropper.py +0 -0
  515. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/general/outlier_handler.py +0 -0
  516. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/general/sample_weighter.py +0 -0
  517. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/general/scaler.py +0 -0
  518. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/general/selector.py +0 -0
  519. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/general/shifter.py +0 -0
  520. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/postprocessing/__init__.py +0 -0
  521. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/postprocessing/confidence_interval_applicator.py +0 -0
  522. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/postprocessing/isotonic_quantile_calibrator.py +0 -0
  523. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/postprocessing/quantile_sorter.py +0 -0
  524. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/time_domain/__init__.py +0 -0
  525. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/time_domain/cyclic_features_adder.py +0 -0
  526. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/time_domain/datetime_features_adder.py +0 -0
  527. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/time_domain/holiday_features_adder.py +0 -0
  528. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/time_domain/lags_adder.py +0 -0
  529. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/time_domain/rolling_aggregates_adder.py +0 -0
  530. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/time_domain/versioned_lags_adder.py +0 -0
  531. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/validation/__init__.py +0 -0
  532. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/validation/completeness_checker.py +0 -0
  533. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/validation/flatline_checker.py +0 -0
  534. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/validation/input_consistency_checker.py +0 -0
  535. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/weather_domain/__init__.py +0 -0
  536. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/weather_domain/atmosphere_derived_features_adder.py +0 -0
  537. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/weather_domain/daylight_feature_adder.py +0 -0
  538. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/weather_domain/radiation_derived_features_adder.py +0 -0
  539. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/utils/__init__.py +0 -0
  540. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/utils/evaluation_functions.py +0 -0
  541. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/utils/feature_selection.py +0 -0
  542. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/utils/loss_functions.py +0 -0
  543. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/utils/multi_quantile_regressor.py +0 -0
  544. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/utils/xgboost.py +0 -0
  545. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/workflows/__init__.py +0 -0
  546. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/workflows/callbacks/__init__.py +0 -0
  547. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/workflows/callbacks/data_save.py +0 -0
  548. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/workflows/callbacks/model_performance_callback.py +0 -0
  549. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/workflows/custom_component_split_workflow.py +0 -0
  550. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/workflows/custom_forecasting_workflow.py +0 -0
  551. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/__init__.py +0 -0
  552. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/integration/__init__.py +0 -0
  553. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/integration/test_integration.py +0 -0
  554. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/__init__.py +0 -0
  555. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/explainability/__init__.py +0 -0
  556. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/explainability/plotters/__init__.py +0 -0
  557. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/explainability/plotters/test_contributions_plotter.py +0 -0
  558. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/integrations/__init__.py +0 -0
  559. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/integrations/joblib/__init__.py +0 -0
  560. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/integrations/joblib/test_joblib_model_serializer.py +0 -0
  561. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/integrations/mlflow/__init__.py +0 -0
  562. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/integrations/mlflow/test_mlflow_storage_callback.py +0 -0
  563. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/integrations/optuna/__init__.py +0 -0
  564. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/integrations/optuna/test_tuner.py +0 -0
  565. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/__init__.py +0 -0
  566. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/component_splitting/__init__.py +0 -0
  567. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/component_splitting/test_constant_component_splitter.py +0 -0
  568. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/component_splitting/test_linear_component_splitter.py +0 -0
  569. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/forecasting/__init__.py +0 -0
  570. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/forecasting/test_base_case_forecaster.py +0 -0
  571. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/forecasting/test_constant_quantile_forecaster.py +0 -0
  572. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/forecasting/test_flatliner_forecaster.py +0 -0
  573. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/forecasting/test_gblinear_forecaster.py +0 -0
  574. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/forecasting/test_lgbm_forecaster.py +0 -0
  575. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/forecasting/test_lgbmlinear_forecaster.py +0 -0
  576. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/forecasting/test_xgboost_forecaster.py +0 -0
  577. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/test_forecasting_model.py +0 -0
  578. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/test_example.py +0 -0
  579. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/__init__.py +0 -0
  580. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/energy_domain/__init__.py +0 -0
  581. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/energy_domain/test_wind_power_feature_adder.py +0 -0
  582. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/general/__init__.py +0 -0
  583. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/general/test_empty_feature_remover.py +0 -0
  584. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/general/test_flagger.py +0 -0
  585. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/general/test_imputer.py +0 -0
  586. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/general/test_nan_dropper.py +0 -0
  587. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/general/test_outlier_handler.py +0 -0
  588. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/general/test_sample_weighter.py +0 -0
  589. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/general/test_scaler.py +0 -0
  590. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/general/test_selector.py +0 -0
  591. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/general/test_shifter.py +0 -0
  592. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/postprocessing/__init__.py +0 -0
  593. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/postprocessing/test_confidence_interval_applicator.py +0 -0
  594. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/postprocessing/test_isotonic_quantile_calibrator.py +0 -0
  595. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/postprocessing/test_quantile_sorter.py +0 -0
  596. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/time_domain/__init__.py +0 -0
  597. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/time_domain/test_cyclic_features_adder.py +0 -0
  598. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/time_domain/test_datetime_features_adder.py +0 -0
  599. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/time_domain/test_holiday_features_adder.py +0 -0
  600. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/time_domain/test_lags_adder.py +0 -0
  601. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/time_domain/test_rolling_aggregates_adder.py +0 -0
  602. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/time_domain/test_versioned_lags_adder.py +0 -0
  603. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/validation/__init__.py +0 -0
  604. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/validation/test_completeness_checker.py +0 -0
  605. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/validation/test_flatline_checker.py +0 -0
  606. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/validation/test_input_consistency_checker.py +0 -0
  607. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/weather_domain/__init__.py +0 -0
  608. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/weather_domain/test_atmosphere_derived_features_adder.py +0 -0
  609. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/weather_domain/test_daylight_feature_adder.py +0 -0
  610. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/weather_domain/test_radiation_derived_featuers_adder.py +0 -0
  611. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/utils/__init__.py +0 -0
  612. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/utils/test_data_split.py +0 -0
  613. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/utils/test_feature_selection.py +0 -0
  614. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/utils/test_loss_functions.py +0 -0
  615. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/utils/test_multi_quantile_regressor.py +0 -0
  616. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/workflows/__init__.py +0 -0
  617. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/workflows/callbacks/__init__.py +0 -0
  618. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/workflows/callbacks/test_model_performance_callback.py +0 -0
  619. {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/workflows/test_custom_forecasting_workflow.py +0 -0
  620. {openstef-4.2.2 → openstef-4.2.3}/poe_tasks.toml +0 -0
  621. {openstef-4.2.2 → openstef-4.2.3}/ruff.toml +0 -0
  622. {openstef-4.2.2 → openstef-4.2.3}/sonar-project.properties +0 -0
  623. {openstef-4.2.2 → openstef-4.2.3}/tools/check_notebook_outputs.py +0 -0
  624. {openstef-4.2.2 → openstef-4.2.3}/tools/reuse-fix.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: openstef
3
- Version: 4.2.2
3
+ Version: 4.2.3
4
4
  Summary: Open Short Term Energy forecasting library
5
5
  Project-URL: Documentation, https://openstef.github.io/openstef/index.html
6
6
  Project-URL: Homepage, https://lfenergy.org/projects/openstef/
@@ -16,26 +16,26 @@ Classifier: Programming Language :: Python :: 3 :: Only
16
16
  Classifier: Programming Language :: Python :: 3.12
17
17
  Classifier: Programming Language :: Python :: 3.13
18
18
  Requires-Python: <4.0,>=3.12
19
- Requires-Dist: openstef-core==4.2.2
20
- Requires-Dist: openstef-models[xgb-cpu]==4.2.2
19
+ Requires-Dist: openstef-core==4.2.3
20
+ Requires-Dist: openstef-models[xgb-cpu]==4.2.3
21
21
  Provides-Extra: all
22
- Requires-Dist: openstef-beam[all]==4.2.2; extra == 'all'
23
- Requires-Dist: openstef-core==4.2.2; extra == 'all'
24
- Requires-Dist: openstef-foundation-models[cpu]==4.2.2; extra == 'all'
25
- Requires-Dist: openstef-meta==4.2.2; extra == 'all'
26
- Requires-Dist: openstef-models[xgb-cpu]==4.2.2; extra == 'all'
22
+ Requires-Dist: openstef-beam[all]==4.2.3; extra == 'all'
23
+ Requires-Dist: openstef-core==4.2.3; extra == 'all'
24
+ Requires-Dist: openstef-foundation-models[cpu]==4.2.3; extra == 'all'
25
+ Requires-Dist: openstef-meta==4.2.3; extra == 'all'
26
+ Requires-Dist: openstef-models[xgb-cpu]==4.2.3; extra == 'all'
27
27
  Provides-Extra: beam
28
28
  Requires-Dist: huggingface-hub>=0.35.3; extra == 'beam'
29
- Requires-Dist: openstef-beam==4.2.2; extra == 'beam'
29
+ Requires-Dist: openstef-beam==4.2.3; extra == 'beam'
30
30
  Provides-Extra: core
31
- Requires-Dist: openstef-core==4.2.2; extra == 'core'
31
+ Requires-Dist: openstef-core==4.2.3; extra == 'core'
32
32
  Provides-Extra: foundation-models
33
- Requires-Dist: openstef-foundation-models[cpu]==4.2.2; extra == 'foundation-models'
33
+ Requires-Dist: openstef-foundation-models[cpu]==4.2.3; extra == 'foundation-models'
34
34
  Provides-Extra: meta
35
- Requires-Dist: openstef-meta==4.2.2; extra == 'meta'
35
+ Requires-Dist: openstef-meta==4.2.3; extra == 'meta'
36
36
  Provides-Extra: models
37
- Requires-Dist: openstef-meta==4.2.2; extra == 'models'
38
- Requires-Dist: openstef-models[xgb-cpu]==4.2.2; extra == 'models'
37
+ Requires-Dist: openstef-meta==4.2.3; extra == 'models'
38
+ Requires-Dist: openstef-models[xgb-cpu]==4.2.3; extra == 'models'
39
39
  Description-Content-Type: text/markdown
40
40
 
41
41
  <!--
@@ -7,7 +7,7 @@ requires = [ "hatchling" ]
7
7
 
8
8
  [project]
9
9
  name = "openstef-beam"
10
- version = "4.2.2"
10
+ version = "4.2.3"
11
11
  description = "Backtesting, Evaluation, Analysis and Metrics (BEAM) library for OpenSTEF"
12
12
  readme = "README.md"
13
13
  keywords = [ "energy", "forecasting", "machinelearning" ]
@@ -14,6 +14,7 @@ from openstef_beam.analysis.visualizations import TimeSeriesVisualization
14
14
  from openstef_beam.analysis.visualizations.base import AnalysisAggregation, ReportTuple, RunName
15
15
  from openstef_beam.evaluation.models.report import EvaluationSubsetReport
16
16
  from openstef_core.testing import IsSamePandas
17
+ from openstef_core.utils import not_none
17
18
  from tests.utils.mocks import MockFigure
18
19
 
19
20
 
@@ -79,7 +80,9 @@ def test_create_by_none_generates_single_target_time_series(
79
80
 
80
81
  # Assert
81
82
  # Verify all expected calls are made with correct parameters
82
- mock_add_measurements.assert_called_once_with(sample_evaluation_report.subset.target_series)
83
+ mock_add_measurements.assert_called_once_with(
84
+ IsSamePandas(pandas_obj=not_none(sample_evaluation_report.subset.target_series))
85
+ )
83
86
  mock_add_model.assert_called_once_with(
84
87
  model_name="TestRun", quantiles=IsSamePandas(pandas_obj=sample_evaluation_report.subset.quantiles_data)
85
88
  )
@@ -122,7 +125,9 @@ def test_create_by_run_generates_multi_run_comparison(
122
125
 
123
126
  # Assert
124
127
  # Verify measurements are shared and limits use first target's value
125
- mock_add_measurements.assert_called_once_with(sample_evaluation_report.subset.target_series)
128
+ mock_add_measurements.assert_called_once_with(
129
+ IsSamePandas(pandas_obj=not_none(sample_evaluation_report.subset.target_series))
130
+ )
126
131
  mock_add_limit.assert_has_calls(
127
132
  [
128
133
  call(value=100.0, name="Upper Limit"), # First target's limit, not 150.0
@@ -7,7 +7,7 @@ requires = [ "hatchling" ]
7
7
 
8
8
  [project]
9
9
  name = "openstef-core"
10
- version = "4.2.2"
10
+ version = "4.2.3"
11
11
  description = "Core functionality for OpenSTEF, a framework for short-term energy forecasting."
12
12
  readme = "README.md"
13
13
  keywords = [ "energy", "forecasting", "machinelearning" ]
@@ -27,8 +27,7 @@ classifiers = [
27
27
  dependencies = [
28
28
  "joblib>=1,<2",
29
29
  "numpy>=2.3.2,<3",
30
- # Held at <3 pending the pandas 3.0 Copy-on-Write migration (see migration issue).
31
- "pandas>=2.3.1,<3",
30
+ "pandas>=2.3.1,<4",
32
31
  "pyarrow>=21",
33
32
  "pydantic>=2.12.4,<3",
34
33
  "pydantic-extra-types>=2.10.5,<3",
@@ -249,6 +249,11 @@ def test_available_at_and_lead_time_series_equivalence():
249
249
  available_at_dataset.lead_time_series,
250
250
  horizon_dataset.lead_time_series,
251
251
  check_names=False,
252
+ # available_at_dataset derives lead_time_series from a datetime64 subtraction while
253
+ # horizon_dataset stores it directly as the raw (pandas-inferred) timedelta64 column;
254
+ # pandas independently picks the coarsest sufficient resolution for each ("us" vs
255
+ # "s"), so the values are equivalent even though the exact dtype differs.
256
+ check_dtype=False,
252
257
  )
253
258
 
254
259
 
@@ -7,7 +7,7 @@ requires = [ "hatchling" ]
7
7
 
8
8
  [project]
9
9
  name = "openstef-foundation-models"
10
- version = "4.2.2"
10
+ version = "4.2.3"
11
11
  description = "Foundation model support for OpenSTEF"
12
12
  readme = "README.md"
13
13
  keywords = [ "energy", "forecasting", "foundationmodels", "machinelearning", "onnx" ]
@@ -7,7 +7,7 @@ requires = [ "hatchling" ]
7
7
 
8
8
  [project]
9
9
  name = "openstef-meta"
10
- version = "4.2.2"
10
+ version = "4.2.3"
11
11
  description = "Meta models for OpenSTEF"
12
12
  readme = "README.md"
13
13
  keywords = [ "energy", "forecasting", "machinelearning" ]
@@ -30,7 +30,7 @@ def sample_forecast_input_dataset() -> ForecastInputDataset:
30
30
  "feature2": feature_2,
31
31
  "feature3": feature_3,
32
32
  },
33
- index=pd.date_range(start=start_date, periods=num_samples, freq="1d"),
33
+ index=pd.date_range(start=start_date, periods=num_samples, freq="1D"),
34
34
  ),
35
35
  sample_interval=timedelta(days=1),
36
36
  target_column="load",
@@ -7,7 +7,7 @@ requires = [ "hatchling" ]
7
7
 
8
8
  [project]
9
9
  name = "openstef-models"
10
- version = "4.2.2"
10
+ version = "4.2.3"
11
11
  description = "Core models for OpenSTEF"
12
12
  readme = "README.md"
13
13
  keywords = [ "energy", "forecasting", "machinelearning" ]
@@ -22,7 +22,7 @@ from urllib.parse import urlparse
22
22
  from mlflow import MlflowClient
23
23
  from mlflow.entities import Metric, Param, Run
24
24
  from mlflow.exceptions import MlflowException
25
- from pydantic import Field, PrivateAttr
25
+ from pydantic import ConfigDict, Field, PrivateAttr
26
26
 
27
27
  from openstef_core.base_model import BaseConfig
28
28
  from openstef_core.exceptions import ModelNotFoundError
@@ -31,7 +31,7 @@ from openstef_models.integrations.joblib import JoblibModelSerializer
31
31
  from openstef_models.mixins import ModelIdentifier, ModelSerializer
32
32
 
33
33
 
34
- def normalize_tracking_uri(uri: str) -> str:
34
+ def normalize_tracking_uri(uri: str, exceptions: Sequence[str] = []) -> str:
35
35
  r"""Normalize a tracking URI to a file:/// URI when it refers to a local path.
36
36
 
37
37
  MLflow's model registry rejects bare Windows paths (e.g. ``D:\mlflow``) because
@@ -44,10 +44,13 @@ def normalize_tracking_uri(uri: str) -> str:
44
44
 
45
45
  Args:
46
46
  uri: Raw tracking URI string, may be a path or a proper URI.
47
+ exceptions: List of URI to treat as urls even if they have no scheme
47
48
 
48
49
  Returns:
49
50
  A ``file:///`` URI for local paths, or the original URI for remote schemes.
50
51
  """
52
+ if uri in exceptions:
53
+ return uri
51
54
  scheme = urlparse(uri).scheme
52
55
  # Empty scheme → relative/absolute POSIX path.
53
56
  # Single-letter scheme → Windows drive letter (e.g. "D" from "D:\\...").
@@ -63,9 +66,33 @@ class MLFlowStorage(BaseConfig):
63
66
  Handles creation, storage, and retrieval of MLflow runs including models,
64
67
  training data, metrics, and hyperparameters. Organizes artifacts locally
65
68
  before uploading to MLflow tracking server.
69
+
70
+ ``tracking_uri`` configures the Tracking backend that stores experiments and
71
+ runs. ``registry_uri`` optionally configures a separate Model Registry
72
+ backend; if it is omitted, MLflow uses the registry associated with the
73
+ tracking backend. ``artifact_location`` configures the artifact root for
74
+ experiments created by this instance.
75
+
76
+ Typical configurations:
77
+
78
+ tracking_uri="sqlite:///mlflow.db", # Local SQLite tracking backend with separate local artifacts
79
+ tracking_uri="https://mlflow.example.com", # Remote MLflow Tracking Server with S3 artifacts
80
+ tracking_uri="databricks", # Databricks MLflow Tracking Server with DBFS artifacts
81
+
82
+ A caller may provide ``client`` to use an already configured
83
+ :class:`mlflow.MlflowClient`. When supplied, it takes precedence over
84
+ ``tracking_uri`` and ``registry_uri`` and is excluded from serialized model
85
+ configuration.
66
86
  """
67
87
 
88
+ model_config = ConfigDict(arbitrary_types_allowed=True)
89
+
68
90
  tracking_uri: str = Field(default="./mlflow", description="MLflow tracking server URI.")
91
+ registry_uri: str | None = Field(default=None, description="MLflow tracking server URI.")
92
+
93
+ # Excluded from model_dump(), JSON serialization, and config persistence.
94
+ client: MlflowClient | None = Field(default=None, exclude=True, repr=False)
95
+
69
96
  local_artifacts_path: Path = Field(
70
97
  default=Path("./mlflow_artifacts_local"), description="Local path for storing MLflow artifacts before upload."
71
98
  )
@@ -86,6 +113,11 @@ class MLFlowStorage(BaseConfig):
86
113
 
87
114
  model_serializer: ModelSerializer = Field(default_factory=JoblibModelSerializer)
88
115
 
116
+ uri_exceptions: Sequence[str] = Field(
117
+ default=["databricks"],
118
+ description="List of URI treat as urls even if they have no scheme",
119
+ )
120
+
89
121
  _client: MlflowClient = PrivateAttr()
90
122
  _logger: logging.Logger = PrivateAttr(default=logging.getLogger(__name__))
91
123
 
@@ -95,8 +127,17 @@ class MLFlowStorage(BaseConfig):
95
127
  # Suppress MLflow's stdout messages (emoji URLs)
96
128
  os.environ.setdefault("MLFLOW_SUPPRESS_PRINTING_URL_TO_STDOUT", "true")
97
129
  os.environ.setdefault("MLFLOW_ENABLE_ARTIFACTS_PROGRESS_BAR", "false")
130
+
131
+ if self.client is not None:
132
+ self._client = self.client
133
+ return
134
+
98
135
  self.tracking_uri = normalize_tracking_uri(self.tracking_uri)
99
- self._client = MlflowClient(tracking_uri=self.tracking_uri)
136
+ self.registry_uri = normalize_tracking_uri(self.registry_uri) if self.registry_uri else None
137
+ self._client = MlflowClient(
138
+ tracking_uri=self.tracking_uri,
139
+ registry_uri=self.registry_uri,
140
+ )
100
141
 
101
142
  def create_run(
102
143
  self,
@@ -200,7 +200,10 @@ class MedianForecaster(Forecaster, ExplainableForecaster, ContributionsMixin):
200
200
  lag_df = input_data.reindex(new_index, fill_value=np.nan)[self._feature_names]
201
201
 
202
202
  # Convert the lag DataFrame to NumPy arrays for faster processing.
203
- lag_array = lag_df.to_numpy()
203
+ # Copy explicitly: pandas Copy-on-Write may hand back a read-only view of the
204
+ # DataFrame's underlying block, but the autoregressive loop below fills the
205
+ # array in place (via _fill_diagonal_with_median), so it must own a writable copy.
206
+ lag_array = lag_df.to_numpy(copy=True)
204
207
  # Initialize the prediction array with NaNs.
205
208
  prediction = np.full(lag_array.shape[0], np.nan)
206
209
 
@@ -201,7 +201,7 @@ def _get_extreme_days(
201
201
  raise TypeError("target_series must have a DatetimeIndex.")
202
202
 
203
203
  # Compute daily min and max once
204
- daily_agg: pd.DataFrame = target_series.resample("1D").agg(["min", "max"]) # type: ignore
204
+ daily_agg: pd.DataFrame = target_series.resample("1D").agg(["min", "max"])
205
205
  n_days = len(daily_agg)
206
206
  n_extremes = max(int(fraction * n_days), 2)
207
207
 
@@ -7,6 +7,7 @@ from __future__ import annotations
7
7
  from typing import TYPE_CHECKING, cast
8
8
 
9
9
  import pytest
10
+ from mlflow import MlflowClient
10
11
 
11
12
  from openstef_core.mixins import HyperParams, Stateful
12
13
  from openstef_models.integrations.mlflow import MLFlowStorage
@@ -49,6 +50,21 @@ def model_id() -> str:
49
50
  return "test_model_123"
50
51
 
51
52
 
53
+ def test_construct_from_mlflow(tmp_path: Path, model_id: str):
54
+ """Test that experiment_name_prefix is prepended to experiment names."""
55
+ # Arrange
56
+ mlflow_client = MlflowClient(tracking_uri=f"sqlite:///{tmp_path / 'mlflow.db'}")
57
+
58
+ # Act
59
+ storage = MLFlowStorage(
60
+ tracking_uri=f"sqlite:///{tmp_path / 'mlflow.db'}",
61
+ client=mlflow_client,
62
+ )
63
+
64
+ # Assert
65
+ assert storage._client is mlflow_client
66
+
67
+
52
68
  def test_create_run(storage: MLFlowStorage, model_id: str):
53
69
  """Test that create_run converts HyperParams to MLflow parameters."""
54
70
  # Arrange
@@ -194,12 +210,15 @@ def test_search_run__returns_matching_run(storage: MLFlowStorage, model_id: str)
194
210
  pytest.param("https://mlflow.example.com:5000", "https://mlflow.example.com:5000", id="https-port"),
195
211
  pytest.param("sqlite:///mlflow.db", "sqlite:///mlflow.db", id="sqlite"),
196
212
  pytest.param("postgresql://user:pass@host/db", "postgresql://user:pass@host/db", id="postgresql"),
213
+ pytest.param("databricks", "databricks", id="databricks"),
197
214
  ],
198
215
  )
199
216
  def test_normalize_tracking_uri(uri: str, expected: str):
200
217
  """Local paths become file:/// URIs; remote/database URIs pass through unchanged."""
201
218
  # Act
202
- result = normalize_tracking_uri(uri)
219
+ result = normalize_tracking_uri(
220
+ uri, exceptions=["databricks"]
221
+ ) # databricks is a special case that should not be normalized
203
222
 
204
223
  # Assert
205
224
  if expected == "file:///":
@@ -30,7 +30,7 @@ def sample_forecast_input_dataset() -> ForecastInputDataset:
30
30
  "feature2": feature_2,
31
31
  "feature3": feature_3,
32
32
  },
33
- index=pd.date_range(start=start_date, periods=num_samples, freq="1d"),
33
+ index=pd.date_range(start=start_date, periods=num_samples, freq="1D"),
34
34
  ),
35
35
  sample_interval=timedelta(days=1),
36
36
  target_column="load",
@@ -158,7 +158,12 @@ def test_median_handles_all_missing_data():
158
158
  {
159
159
  "quantile_P50": [],
160
160
  },
161
- index=pd.DatetimeIndex([], freq="h"),
161
+ # Slice `index` rather than building a bare `DatetimeIndex([], freq="h")` so the
162
+ # (empty) expected index shares its dtype resolution with the one produced by the
163
+ # real prediction pipeline (pandas infers datetime64 resolution from context, and
164
+ # an index with no data to infer from does not necessarily match one derived from
165
+ # actual timestamps).
166
+ index=index[:0],
162
167
  ),
163
168
  sample_interval=training_input_data.sample_interval,
164
169
  forecast_start=training_input_data.forecast_start,
@@ -33,7 +33,7 @@ def sample_forecast_input_dataset() -> TimeSeriesDataset:
33
33
  "feature2": feature_2,
34
34
  "feature3": feature_3,
35
35
  },
36
- index=pd.date_range(start=start_date, periods=num_samples, freq="1d"),
36
+ index=pd.date_range(start=start_date, periods=num_samples, freq="1D"),
37
37
  ),
38
38
  sample_interval=timedelta(days=1),
39
39
  )
@@ -7,7 +7,7 @@ requires = [ "hatchling" ]
7
7
 
8
8
  [project]
9
9
  name = "openstef"
10
- version = "4.2.2"
10
+ version = "4.2.3"
11
11
  description = "Open Short Term Energy forecasting library"
12
12
  readme = "README.md"
13
13
  keywords = [ "energy", "forecasting", "machinelearning" ]
@@ -24,32 +24,32 @@ classifiers = [
24
24
  "Programming Language :: Python :: 3.13",
25
25
  ]
26
26
  dependencies = [
27
- "openstef-core==4.2.2",
28
- "openstef-models[xgb-cpu]==4.2.2",
27
+ "openstef-core==4.2.3",
28
+ "openstef-models[xgb-cpu]==4.2.3",
29
29
  ]
30
30
  optional-dependencies.all = [
31
- "openstef-beam[all]==4.2.2",
32
- "openstef-core==4.2.2",
33
- "openstef-foundation-models[cpu]==4.2.2",
34
- "openstef-meta==4.2.2",
35
- "openstef-models[xgb-cpu]==4.2.2",
31
+ "openstef-beam[all]==4.2.3",
32
+ "openstef-core==4.2.3",
33
+ "openstef-foundation-models[cpu]==4.2.3",
34
+ "openstef-meta==4.2.3",
35
+ "openstef-models[xgb-cpu]==4.2.3",
36
36
  ]
37
37
  optional-dependencies.beam = [
38
38
  "huggingface-hub>=0.35.3",
39
- "openstef-beam==4.2.2",
39
+ "openstef-beam==4.2.3",
40
40
  ]
41
41
  optional-dependencies.foundation-models = [
42
- "openstef-foundation-models[cpu]==4.2.2",
42
+ "openstef-foundation-models[cpu]==4.2.3",
43
43
  ]
44
44
  optional-dependencies.meta = [
45
- "openstef-meta==4.2.2",
45
+ "openstef-meta==4.2.3",
46
46
  ]
47
47
  optional-dependencies.models = [
48
- "openstef-meta==4.2.2",
49
- "openstef-models[xgb-cpu]==4.2.2",
48
+ "openstef-meta==4.2.3",
49
+ "openstef-models[xgb-cpu]==4.2.3",
50
50
  ]
51
51
  optional-dependencies.core = [
52
- "openstef-core==4.2.2",
52
+ "openstef-core==4.2.3",
53
53
  ]
54
54
  urls.Documentation = "https://openstef.github.io/openstef/index.html"
55
55
  urls.Homepage = "https://lfenergy.org/projects/openstef/"
@@ -122,7 +122,7 @@ notebooks = [
122
122
  ]
123
123
  typecheck = [
124
124
  "microsoft-python-type-stubs",
125
- "pandas-stubs>=2.3.0.250703,<3", # match the pandas <3 pin
125
+ "pandas-stubs>=2.3.0.250703",
126
126
  "scipy-stubs>=1.16.2.4",
127
127
  "ty>=0.0.48",
128
128
  ]