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.
- {openstef-4.2.2 → openstef-4.2.3}/PKG-INFO +15 -15
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/pyproject.toml +1 -1
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/visualizations/test_timeseries_visualization.py +7 -2
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/pyproject.toml +2 -3
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/datasets/test_timeseries_dataset.py +5 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/pyproject.toml +1 -1
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/pyproject.toml +1 -1
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/unit/models/conftest.py +1 -1
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/pyproject.toml +1 -1
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/integrations/mlflow/mlflow_storage.py +44 -3
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/forecasting/median_forecaster.py +4 -1
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/utils/data_split.py +1 -1
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/integrations/mlflow/test_mlflow_storage.py +20 -1
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/forecasting/conftest.py +1 -1
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/forecasting/test_median_forecaster.py +6 -1
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/general/test_dimensionality_reducer.py +1 -1
- {openstef-4.2.2 → openstef-4.2.3}/pyproject.toml +15 -15
- {openstef-4.2.2 → openstef-4.2.3}/uv.lock +65 -70
- {openstef-4.2.2 → openstef-4.2.3}/.github/CODEOWNERS +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/.github/ISSUE_TEMPLATE/task.md +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/.github/dependabot.yml +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/.github/pr-labeler.yml +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/.github/workflows/_job_quality_check.yaml +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/.github/workflows/check.yaml +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/.github/workflows/citations.yaml +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/.github/workflows/codeql.yaml +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/.github/workflows/docs-check.yaml +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/.github/workflows/docs.yaml +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/.github/workflows/pr-labeler.yaml +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/.github/workflows/release-v4.yaml +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/.gitignore +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/.python-version +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/CITATION.cff +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/COMMITTERS.md +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/LICENSE.md +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/LICENSES/MPL-2.0.txt +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/README.md +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/REUSE.toml +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/THIRD_PARTY_NOTICES.md +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/.gitkeep +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/README.md +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/automation.yml +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/autosummary_cache.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/autosummary_helpers.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/pages.yml +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/pyproject.toml +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/_figures/generate_concept_figures.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/_figures/generate_guide_figures.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/_static/css/.gitkeep +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/_static/css/custom.css +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/_static/versions.json +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/_static/versions.json.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/_templates/custom_class.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/_templates/custom_class_noindex.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/_templates/custom_function.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/_templates/module_overview.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/_templates/package_overview.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/api/beam.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/api/core.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/api/foundation_models.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/api/index.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/api/meta.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/api/models.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/conf.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/contribute/_getting_help.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/contribute/code_of_conduct.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/contribute/code_style_guide.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/contribute/contributing_guide.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/contribute/development_setup.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/contribute/development_workflow.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/contribute/document.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/contribute/index.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/beam_diagram_1.mmd +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/beam_diagram_1.mmd.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/component_splitting_diagram_1.mmd +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/component_splitting_diagram_1.mmd.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/intro_to_energy_forecasting_diagram_1.mmd +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/intro_to_energy_forecasting_diagram_1.mmd.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_1.mmd +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_1.mmd.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_2.mmd +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_2.mmd.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_3.mmd +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_3.mmd.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/models_diagram_1.mmd +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/concepts/models_diagram_1.mmd.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/getting_started/migration_diagram_1.mmd +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/getting_started/migration_diagram_1.mmd.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/datasets_diagram_1.mmd +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/datasets_diagram_1.mmd.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/datasets_diagram_2.mmd +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/datasets_diagram_2.mmd.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/deployment_diagram_1.mmd +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/deployment_diagram_1.mmd.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/deployment_diagram_2.mmd +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/deployment_diagram_2.mmd.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/forecasting_diagram_1.mmd +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/forecasting_diagram_1.mmd.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/probabilistic_forecasting_diagram_1.mmd +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/probabilistic_forecasting_diagram_1.mmd.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_1.mmd +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_1.mmd.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_2.mmd +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_2.mmd.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/examples.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/concepts/aggregation_comparison.svg +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/concepts/aggregation_comparison.svg.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/concepts/backtesting_simulation.gif +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/concepts/backtesting_simulation.gif.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/concepts/forecast_confidence_bands.svg +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/concepts/forecast_confidence_bands.svg.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/concepts/weekly_load_profile.svg +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/concepts/weekly_load_profile.svg.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/guides/calibration_plot.svg +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/guides/calibration_plot.svg.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/guides/flatline_detection.svg +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/guides/flatline_detection.svg.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/guides/liander2024_rcrps_by_group.png +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/guides/liander2024_rcrps_by_group.png.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/guides/probabilistic_fan_chart.svg +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/guides/probabilistic_fan_chart.svg.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/methodology_train_predict.pptx +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/methodology_train_predict.pptx.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/methodology_train_predict.svg +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/methodology_train_predict.svg.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/uncertainty_estimation.svg +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/images/uncertainty_estimation.svg.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/index.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/js/.gitkeep +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/logos/favicon.ico +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/logos/favicon.ico.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/logos/logo_openstef_small.png +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/logos/logo_openstef_small.png.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/logos/openstef-horizontal-color.svg +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/logos/openstef-horizontal-color.svg.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/logos/openstef-horizontal-white.svg +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/logos/openstef-horizontal-white.svg.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/project/citing.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/project/governance.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/project/index.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/project/license.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/project/support.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/concepts/beam.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/concepts/component_splitting.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/concepts/foundation_models.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/concepts/index.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/concepts/intro_to_energy_forecasting.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/concepts/metalearning.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/concepts/models.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/external_resources.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/getting_started/index.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/getting_started/installation.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/getting_started/migration.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/guides/benchmark_results.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/guides/deployment.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/guides/forecasting.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/guides/index.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/guides/probabilistic_forecasting.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/guides/reliability_fallback.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/index.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/intro/index.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/intro/methodology_train_predict.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/logging.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/source/user_guide/tutorials.rst +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/docs/sync_sources.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/.gitkeep +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/README.md +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/README.md +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/README.md +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/compare_benchmark_runs.ipynb +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/compare_benchmark_runs.ipynb.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/compare_benchmark_runs.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/custom_benchmark.ipynb +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/custom_benchmark.ipynb.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/custom_benchmark.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/custom_forecaster.ipynb +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/custom_forecaster.ipynb.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/custom_forecaster.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/evaluate_existing_forecasts.ipynb +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/evaluate_existing_forecasts.ipynb.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/evaluate_existing_forecasts.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/run_custom_benchmark.ipynb +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/run_custom_benchmark.ipynb.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/run_custom_benchmark.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/run_liander2024_benchmark.ipynb +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/run_liander2024_benchmark.ipynb.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/custom/run_liander2024_benchmark.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/README.md +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/compare_benchmark_runs.ipynb +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/compare_benchmark_runs.ipynb.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/compare_benchmark_runs.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/run_chronos2_benchmark.ipynb +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/run_chronos2_benchmark.ipynb.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/run_chronos2_benchmark.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/run_ensemble_benchmark.ipynb +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/run_ensemble_benchmark.ipynb.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/run_ensemble_benchmark.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.ipynb +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.ipynb.license +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/.gitignore +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/README.md +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/poe_tasks.toml +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/pyproject.toml +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/airflow_app/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/airflow_app/dags/openstef_forecast.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/airflow_app/dags/openstef_train.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/celery_app/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/celery_app/app.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/celery_app/run.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/celery_app/tasks.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/common/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/common/config.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/common/pipeline.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/common/services.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/dagster_app/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/dagster_app/definitions.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/src/dagster_app/run.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/deployment/tests/test_deployment.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/pyproject.toml +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/.gitignore +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/backtesting_quickstart.ipynb +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/backtesting_quickstart.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/custom_pipeline.ipynb +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/custom_pipeline.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/datasets.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/ensemble_forecasting.ipynb +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/ensemble_forecasting.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/feature_engineering.ipynb +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/feature_engineering.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/forecasting_quickstart.ipynb +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/forecasting_quickstart.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/foundation_model_forecasting.ipynb +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/foundation_model_forecasting.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/foundation_model_forecasting_quickstart.ipynb +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/foundation_model_forecasting_quickstart.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/hyperparameter_tuning_with_optuna.ipynb +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/hyperparameter_tuning_with_optuna.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/model_explainability.ipynb +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/model_explainability.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/quantile_calibration.ipynb +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/examples/tutorials/quantile_calibration.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/jupytext.toml +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/README.md +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/analysis_pipeline.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/models/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/models/target_metadata.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/models/visualization_aggregation.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/models/visualization_output.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/plots/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/plots/forecast_time_series_plotter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/plots/grouped_target_metric_plotter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/plots/precision_recall_curve_plotter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/plots/quantile_calibration_box_plotter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/plots/quantile_probability_plotter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/plots/summary_table_plotter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/plots/windowed_metric_plotter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/base.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/grouped_target_metric_visualization.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/precision_recall_curve_visualization.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/quantile_calibration_box_visualization.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/quantile_probability_visualization.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/summary_table_visualization.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/timeseries_visualization.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/windowed_metric_visualization.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/backtesting/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_callback.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_event.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_event_generator.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/dummy_forecaster.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/mixins.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_pipeline.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/backtesting/restricted_horizon_timeseries.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/baselines/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/baselines/openstef4.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/benchmark_comparison_pipeline.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/benchmark_pipeline.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/benchmarks/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/benchmarks/liander2024.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/base.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/strict_execution_callback.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/models/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/models/benchmark_target.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/storage/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/storage/base.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/storage/local_storage.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/storage/s3_storage.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/benchmarking/target_provider.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/evaluation/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/evaluation/evaluation_pipeline.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/evaluation/metric_providers.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/evaluation/models/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/evaluation/models/report.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/evaluation/models/subset.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/evaluation/models/window.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/evaluation/window_iterators.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/metrics/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/metrics/metrics_deterministic.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/metrics/metrics_helpers.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/src/openstef_beam/metrics/metrics_probabilistic.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/plots/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/plots/test_forecast_time_series_plotter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/plots/test_grouped_target_metric_plotter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/plots/test_precision_recall_curve_plotter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/plots/test_quantile_calibration_box_plotter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/plots/test_quantile_probability_plotter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/plots/test_summary_table_plotter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/plots/test_windowed_metric_plotter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/test_analysis_pipeline.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/visualizations/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/visualizations/conftest.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/visualizations/test_grouped_target_metric_visualization.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/visualizations/test_precision_recall_curve_visualization.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/visualizations/test_quantile_calibration_box_visualization.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/visualizations/test_quantile_probability_visualization.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/visualizations/test_summary_table_visualization.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/analysis/visualizations/test_windowed_metric_visualization.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/backtesting/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/backtesting/test_backtest_event_generator.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/backtesting/test_backtest_pipeline.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/backtesting/test_batch_prediction.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/benchmarking/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/benchmarking/baselines/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/benchmarking/baselines/test_openstef4.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/benchmarking/storage/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/benchmarking/storage/test_local_storage.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/benchmarking/storage/test_s3_storage.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/benchmarking/test_benchmark_pipeline.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/benchmarking/test_target_provider.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/evaluation/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/evaluation/models/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/evaluation/models/test_window.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/evaluation/test_evaluation_pipeline.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/evaluation/test_metric_provider.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/evaluation/test_window_iterators.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/metrics/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/metrics/test_metrics_deterministic.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/metrics/test_metrics_helpers.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/unit/metrics/test_metrics_probabilistic.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/utils/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-beam/tests/utils/mocks.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/README.md +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/base_model.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/constants.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/datasets/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/datasets/mixins.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/datasets/timeseries_dataset.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/datasets/validated_datasets.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/datasets/validation.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/datasets/versioned_timeseries_dataset.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/exceptions.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/mixins/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/mixins/param_ranges.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/mixins/predictor.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/mixins/stateful.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/mixins/transform.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/testing.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/transforms/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/transforms/dataset_transforms.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/types.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/utils/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/utils/datetime.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/utils/invariants.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/utils/itertools.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/utils/multiprocessing.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/utils/numpy.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/utils/pandas.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/src/openstef_core/utils/pydantic.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/datasets/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/datasets/test_mixins.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/datasets/test_validated_datasets.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/datasets/test_validation.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/datasets/test_versioned_timeseries_dataset.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/datasets/utils.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/mixins/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/mixins/test_stateful.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/mixins/test_transform.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/test_base_model.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/test_hyperparams_tuning.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/test_param_ranges.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/test_types.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/transforms/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/utils/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/utils/test_datetime.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/utils/test_itertools.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/utils/test_multiprocessing.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/utils/test_numpy.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-core/tests/unit/utils/test_pandas.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/README.md +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/inference/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/inference/backend.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/inference/onnx_backend.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/inference/provider_selection.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/inference/providers.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/integrations/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/integrations/beam.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/models/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/models/catalog.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/models/checkpoint.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/models/forecasting/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/models/forecasting/chronos2_forecaster.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/presets/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/src/openstef_foundation_models/presets/forecasting_workflow.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/integration/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/integration/conftest.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/integration/test_beam_integration.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/integration/test_chronos2_onnx.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/inference/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/inference/test_onnx_backend.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/inference/test_provider_selection.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/inference/test_providers.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/integrations/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/integrations/test_beam.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/models/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/models/forecasting/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/models/forecasting/test_chronos2_forecaster.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/models/test_catalog.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/presets/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-foundation-models/tests/unit/presets/test_forecasting_workflow.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/README.md +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/src/openstef_meta/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/src/openstef_meta/models/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/src/openstef_meta/models/ensemble_forecasting_model.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/forecast_combiner.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/learned_weights_combiner.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/stacking_combiner.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/src/openstef_meta/presets/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/src/openstef_meta/presets/forecasting_workflow.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/src/openstef_meta/utils/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/src/openstef_meta/utils/datasets.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/integration/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/integration/test_ensemble_forecasting_model.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/unit/integrations/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/unit/integrations/test_mlflow_storage_callback_ensemble.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/unit/models/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/unit/models/forecast_combiners/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/unit/models/forecast_combiners/conftest.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/unit/models/forecast_combiners/test_learned_weights_combiner.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/unit/models/forecast_combiners/test_stacking_combiner.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/unit/models/forecasting/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/unit/models/test_ensemble_forecasting_model.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/unit/utils/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-meta/tests/unit/utils/test_datasets.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/README.md +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/explainability/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/explainability/mixins.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/explainability/plotters/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/explainability/plotters/contributions_plotter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/explainability/plotters/feature_importance_plotter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/integrations/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/integrations/joblib/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/integrations/joblib/joblib_model_serializer.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/integrations/mlflow/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/integrations/mlflow/mlflow_storage_callback.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/integrations/optuna/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/integrations/optuna/tuner.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/mixins/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/mixins/callbacks.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/mixins/model_serializer.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/component_splitting/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/component_splitting/component_splitter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/component_splitting/constant_component_splitter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter.py +0 -0
- {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
- {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
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/component_splitting_model.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/forecasting/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/forecasting/base_case_forecaster.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/forecasting/constant_quantile_forecaster.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/forecasting/flatliner_forecaster.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/forecasting/forecaster.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/forecasting/gblinear_forecaster.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/forecasting/lgbm_forecaster.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/forecasting/lgbmlinear_forecaster.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/forecasting/xgboost_forecaster.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/models/forecasting_model.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/presets/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/presets/forecasting_workflow.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/testing.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/energy_domain/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/energy_domain/wind_power_feature_adder.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/general/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/general/dimensionality_reducer.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/general/empty_feature_remover.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/general/flagger.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/general/imputer.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/general/nan_dropper.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/general/outlier_handler.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/general/sample_weighter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/general/scaler.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/general/selector.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/general/shifter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/postprocessing/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/postprocessing/confidence_interval_applicator.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/postprocessing/isotonic_quantile_calibrator.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/postprocessing/quantile_sorter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/time_domain/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/time_domain/cyclic_features_adder.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/time_domain/datetime_features_adder.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/time_domain/holiday_features_adder.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/time_domain/lags_adder.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/time_domain/rolling_aggregates_adder.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/time_domain/versioned_lags_adder.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/validation/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/validation/completeness_checker.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/validation/flatline_checker.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/validation/input_consistency_checker.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/weather_domain/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/weather_domain/atmosphere_derived_features_adder.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/weather_domain/daylight_feature_adder.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/transforms/weather_domain/radiation_derived_features_adder.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/utils/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/utils/evaluation_functions.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/utils/feature_selection.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/utils/loss_functions.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/utils/multi_quantile_regressor.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/utils/xgboost.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/workflows/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/workflows/callbacks/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/workflows/callbacks/data_save.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/workflows/callbacks/model_performance_callback.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/workflows/custom_component_split_workflow.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/workflows/custom_forecasting_workflow.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/integration/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/integration/test_integration.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/explainability/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/explainability/plotters/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/explainability/plotters/test_contributions_plotter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/integrations/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/integrations/joblib/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/integrations/joblib/test_joblib_model_serializer.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/integrations/mlflow/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/integrations/mlflow/test_mlflow_storage_callback.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/integrations/optuna/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/integrations/optuna/test_tuner.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/component_splitting/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/component_splitting/test_constant_component_splitter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/component_splitting/test_linear_component_splitter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/forecasting/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/forecasting/test_base_case_forecaster.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/forecasting/test_constant_quantile_forecaster.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/forecasting/test_flatliner_forecaster.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/forecasting/test_gblinear_forecaster.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/forecasting/test_lgbm_forecaster.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/forecasting/test_lgbmlinear_forecaster.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/forecasting/test_xgboost_forecaster.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/test_forecasting_model.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/test_example.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/energy_domain/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/energy_domain/test_wind_power_feature_adder.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/general/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/general/test_empty_feature_remover.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/general/test_flagger.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/general/test_imputer.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/general/test_nan_dropper.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/general/test_outlier_handler.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/general/test_sample_weighter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/general/test_scaler.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/general/test_selector.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/general/test_shifter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/postprocessing/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/postprocessing/test_confidence_interval_applicator.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/postprocessing/test_isotonic_quantile_calibrator.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/postprocessing/test_quantile_sorter.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/time_domain/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/time_domain/test_cyclic_features_adder.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/time_domain/test_datetime_features_adder.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/time_domain/test_holiday_features_adder.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/time_domain/test_lags_adder.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/time_domain/test_rolling_aggregates_adder.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/time_domain/test_versioned_lags_adder.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/validation/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/validation/test_completeness_checker.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/validation/test_flatline_checker.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/validation/test_input_consistency_checker.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/weather_domain/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/weather_domain/test_atmosphere_derived_features_adder.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/weather_domain/test_daylight_feature_adder.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/transforms/weather_domain/test_radiation_derived_featuers_adder.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/utils/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/utils/test_data_split.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/utils/test_feature_selection.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/utils/test_loss_functions.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/utils/test_multi_quantile_regressor.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/workflows/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/workflows/callbacks/__init__.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/workflows/callbacks/test_model_performance_callback.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/workflows/test_custom_forecasting_workflow.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/poe_tasks.toml +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/ruff.toml +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/sonar-project.properties +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/tools/check_notebook_outputs.py +0 -0
- {openstef-4.2.2 → openstef-4.2.3}/tools/reuse-fix.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: openstef
|
|
3
|
-
Version: 4.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.
|
|
20
|
-
Requires-Dist: openstef-models[xgb-cpu]==4.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.
|
|
23
|
-
Requires-Dist: openstef-core==4.2.
|
|
24
|
-
Requires-Dist: openstef-foundation-models[cpu]==4.2.
|
|
25
|
-
Requires-Dist: openstef-meta==4.2.
|
|
26
|
-
Requires-Dist: openstef-models[xgb-cpu]==4.2.
|
|
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.
|
|
29
|
+
Requires-Dist: openstef-beam==4.2.3; extra == 'beam'
|
|
30
30
|
Provides-Extra: core
|
|
31
|
-
Requires-Dist: openstef-core==4.2.
|
|
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.
|
|
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.
|
|
35
|
+
Requires-Dist: openstef-meta==4.2.3; extra == 'meta'
|
|
36
36
|
Provides-Extra: models
|
|
37
|
-
Requires-Dist: openstef-meta==4.2.
|
|
38
|
-
Requires-Dist: openstef-models[xgb-cpu]==4.2.
|
|
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.
|
|
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(
|
|
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(
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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" ]
|
|
@@ -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="
|
|
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",
|
|
@@ -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.
|
|
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
|
-
|
|
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
|
|
{openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/src/openstef_models/utils/data_split.py
RENAMED
|
@@ -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"])
|
|
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(
|
|
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:///":
|
{openstef-4.2.2 → openstef-4.2.3}/packages/openstef-models/tests/unit/models/forecasting/conftest.py
RENAMED
|
@@ -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="
|
|
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
|
|
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="
|
|
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.
|
|
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.
|
|
28
|
-
"openstef-models[xgb-cpu]==4.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.
|
|
32
|
-
"openstef-core==4.2.
|
|
33
|
-
"openstef-foundation-models[cpu]==4.2.
|
|
34
|
-
"openstef-meta==4.2.
|
|
35
|
-
"openstef-models[xgb-cpu]==4.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.
|
|
39
|
+
"openstef-beam==4.2.3",
|
|
40
40
|
]
|
|
41
41
|
optional-dependencies.foundation-models = [
|
|
42
|
-
"openstef-foundation-models[cpu]==4.2.
|
|
42
|
+
"openstef-foundation-models[cpu]==4.2.3",
|
|
43
43
|
]
|
|
44
44
|
optional-dependencies.meta = [
|
|
45
|
-
"openstef-meta==4.2.
|
|
45
|
+
"openstef-meta==4.2.3",
|
|
46
46
|
]
|
|
47
47
|
optional-dependencies.models = [
|
|
48
|
-
"openstef-meta==4.2.
|
|
49
|
-
"openstef-models[xgb-cpu]==4.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.
|
|
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
|
|
125
|
+
"pandas-stubs>=2.3.0.250703",
|
|
126
126
|
"scipy-stubs>=1.16.2.4",
|
|
127
127
|
"ty>=0.0.48",
|
|
128
128
|
]
|