openstef 4.1.0__tar.gz → 4.1.1.dev0__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.1.0 → openstef-4.1.1.dev0}/.github/workflows/_job_quality_check.yaml +2 -2
- {openstef-4.1.0 → openstef-4.1.1.dev0}/.github/workflows/release-v4.yaml +15 -2
- {openstef-4.1.0 → openstef-4.1.1.dev0}/PKG-INFO +14 -14
- openstef-4.1.1.dev0/SECURITY.md +57 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/pyproject.toml +26 -21
- openstef-4.1.0/examples/deployment/pyproject.toml → openstef-4.1.1.dev0/examples/deployment/poe_tasks.toml +35 -69
- openstef-4.1.1.dev0/examples/deployment/pyproject.toml +43 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/pyproject.toml +11 -7
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/pyproject.toml +1 -1
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/mixins.py +1 -1
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/pyproject.toml +1 -1
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/pyproject.toml +1 -1
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/pyproject.toml +1 -1
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/integration/test_ensemble_forecasting_model.py +1 -1
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/unit/integrations/test_mlflow_storage_callback_ensemble.py +2 -2
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/pyproject.toml +1 -1
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/forecasting/median_forecaster.py +4 -6
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/integrations/mlflow/test_mlflow_storage_callback.py +1 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/poe_tasks.toml +6 -2
- {openstef-4.1.0 → openstef-4.1.1.dev0}/pyproject.toml +28 -17
- {openstef-4.1.0 → openstef-4.1.1.dev0}/uv.lock +305 -126
- {openstef-4.1.0 → openstef-4.1.1.dev0}/.github/CODEOWNERS +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/.github/ISSUE_TEMPLATE/openstef-project-story.md +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/.github/dependabot.yml +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/.github/pr-labeler.yml +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/.github/workflows/check.yaml +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/.github/workflows/citations.yaml +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/.github/workflows/docs-check.yaml +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/.github/workflows/docs.yaml +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/.github/workflows/pr-labeler.yaml +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/.gitignore +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/.python-version +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/CITATION.cff +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/COMMITTERS.md +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/LICENSE.md +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/LICENSES/MPL-2.0.txt +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/README.md +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/REUSE.toml +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/THIRD_PARTY_NOTICES.md +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/.gitkeep +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/README.md +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/autosummary_cache.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/autosummary_helpers.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/_figures/generate_concept_figures.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/_figures/generate_guide_figures.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/_static/css/.gitkeep +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/_static/css/custom.css +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/_static/versions.json +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/_static/versions.json.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/_templates/custom_class.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/_templates/custom_class_noindex.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/_templates/custom_function.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/_templates/module_overview.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/_templates/package_overview.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/api/beam.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/api/core.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/api/index.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/api/meta.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/api/models.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/conf.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/contribute/_getting_help.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/contribute/code_of_conduct.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/contribute/code_style_guide.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/contribute/contributing_guide.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/contribute/development_setup.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/contribute/development_workflow.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/contribute/document.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/contribute/index.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/beam_diagram_1.mmd +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/beam_diagram_1.mmd.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/component_splitting_diagram_1.mmd +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/component_splitting_diagram_1.mmd.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/intro_to_energy_forecasting_diagram_1.mmd +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/intro_to_energy_forecasting_diagram_1.mmd.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_1.mmd +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_1.mmd.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_2.mmd +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_2.mmd.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_3.mmd +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_3.mmd.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/models_diagram_1.mmd +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/models_diagram_1.mmd.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/getting_started/migration_diagram_1.mmd +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/getting_started/migration_diagram_1.mmd.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/datasets_diagram_1.mmd +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/datasets_diagram_1.mmd.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/datasets_diagram_2.mmd +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/datasets_diagram_2.mmd.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/deployment_diagram_1.mmd +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/deployment_diagram_1.mmd.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/deployment_diagram_2.mmd +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/deployment_diagram_2.mmd.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/forecasting_diagram_1.mmd +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/forecasting_diagram_1.mmd.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/probabilistic_forecasting_diagram_1.mmd +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/probabilistic_forecasting_diagram_1.mmd.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_1.mmd +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_1.mmd.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_2.mmd +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_2.mmd.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/examples.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/images/concepts/aggregation_comparison.svg +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/images/concepts/aggregation_comparison.svg.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/images/concepts/backtesting_simulation.gif +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/images/concepts/backtesting_simulation.gif.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/images/concepts/forecast_confidence_bands.svg +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/images/concepts/forecast_confidence_bands.svg.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/images/concepts/weekly_load_profile.svg +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/images/concepts/weekly_load_profile.svg.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/images/guides/calibration_plot.svg +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/images/guides/calibration_plot.svg.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/images/guides/flatline_detection.svg +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/images/guides/flatline_detection.svg.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/images/guides/liander2024_rcrps_by_group.png +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/images/guides/liander2024_rcrps_by_group.png.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/images/guides/probabilistic_fan_chart.svg +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/images/guides/probabilistic_fan_chart.svg.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/images/methodology_train_predict.pptx +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/images/methodology_train_predict.pptx.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/images/methodology_train_predict.svg +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/images/methodology_train_predict.svg.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/images/uncertainty_estimation.svg +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/images/uncertainty_estimation.svg.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/index.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/js/.gitkeep +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/logos/favicon.ico +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/logos/favicon.ico.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/logos/logo_openstef_small.png +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/logos/logo_openstef_small.png.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/logos/openstef-horizontal-color.svg +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/logos/openstef-horizontal-color.svg.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/logos/openstef-horizontal-white.svg +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/logos/openstef-horizontal-white.svg.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/project/citing.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/project/committee.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/project/index.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/project/license.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/project/maintainers.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/project/support.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/user_guide/concepts/beam.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/user_guide/concepts/component_splitting.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/user_guide/concepts/index.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/user_guide/concepts/intro_to_energy_forecasting.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/user_guide/concepts/metalearning.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/user_guide/concepts/models.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/user_guide/external_resources.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/user_guide/getting_started/index.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/user_guide/getting_started/installation.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/user_guide/getting_started/migration.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/user_guide/guides/benchmark_results.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/user_guide/guides/deployment.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/user_guide/guides/forecasting.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/user_guide/guides/index.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/user_guide/guides/probabilistic_forecasting.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/user_guide/guides/reliability_fallback.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/user_guide/index.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/user_guide/intro/index.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/user_guide/intro/methodology_train_predict.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/user_guide/logging.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/source/user_guide/tutorials.rst +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/docs/sync_sources.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/.gitkeep +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/README.md +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/README.md +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/custom/README.md +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/custom/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/custom/compare_benchmark_runs.ipynb +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/custom/compare_benchmark_runs.ipynb.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/custom/compare_benchmark_runs.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/custom/custom_benchmark.ipynb +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/custom/custom_benchmark.ipynb.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/custom/custom_benchmark.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/custom/custom_forecaster.ipynb +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/custom/custom_forecaster.ipynb.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/custom/custom_forecaster.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/custom/evaluate_existing_forecasts.ipynb +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/custom/evaluate_existing_forecasts.ipynb.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/custom/evaluate_existing_forecasts.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/custom/run_custom_benchmark.ipynb +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/custom/run_custom_benchmark.ipynb.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/custom/run_custom_benchmark.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/custom/run_liander2024_benchmark.ipynb +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/custom/run_liander2024_benchmark.ipynb.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/custom/run_liander2024_benchmark.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/liander2024/README.md +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/liander2024/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/liander2024/compare_benchmark_runs.ipynb +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/liander2024/compare_benchmark_runs.ipynb.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/liander2024/compare_benchmark_runs.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/liander2024/run_chronos2_benchmark.ipynb +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/liander2024/run_chronos2_benchmark.ipynb.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/liander2024/run_chronos2_benchmark.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/liander2024/run_ensemble_benchmark.ipynb +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/liander2024/run_ensemble_benchmark.ipynb.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/liander2024/run_ensemble_benchmark.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.ipynb +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.ipynb.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/deployment/.gitignore +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/deployment/README.md +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/deployment/src/airflow_app/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/deployment/src/airflow_app/dags/openstef_forecast.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/deployment/src/airflow_app/dags/openstef_train.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/deployment/src/celery_app/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/deployment/src/celery_app/app.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/deployment/src/celery_app/run.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/deployment/src/celery_app/tasks.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/deployment/src/common/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/deployment/src/common/config.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/deployment/src/common/pipeline.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/deployment/src/common/services.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/deployment/src/dagster_app/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/deployment/src/dagster_app/definitions.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/deployment/src/dagster_app/run.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/deployment/tests/test_deployment.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/tutorials/.gitignore +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/tutorials/backtesting_quickstart.ipynb +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/tutorials/backtesting_quickstart.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/tutorials/custom_pipeline.ipynb +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/tutorials/custom_pipeline.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/tutorials/datasets.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/tutorials/ensemble_forecasting.ipynb +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/tutorials/ensemble_forecasting.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/tutorials/feature_engineering.ipynb +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/tutorials/feature_engineering.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/tutorials/forecasting_quickstart.ipynb +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/tutorials/forecasting_quickstart.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/tutorials/foundation_model_forecasting.ipynb +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/tutorials/foundation_model_forecasting.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/tutorials/hyperparameter_tuning_with_optuna.ipynb +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/tutorials/hyperparameter_tuning_with_optuna.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/tutorials/model_explainability.ipynb +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/tutorials/model_explainability.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/tutorials/quantile_calibration.ipynb +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/examples/tutorials/quantile_calibration.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/jupytext.toml +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/README.md +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/analysis_pipeline.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/models/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/models/target_metadata.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/models/visualization_aggregation.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/models/visualization_output.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/plots/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/plots/forecast_time_series_plotter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/plots/grouped_target_metric_plotter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/plots/precision_recall_curve_plotter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/plots/quantile_calibration_box_plotter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/plots/quantile_probability_plotter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/plots/summary_table_plotter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/plots/windowed_metric_plotter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/base.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/grouped_target_metric_visualization.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/precision_recall_curve_visualization.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/quantile_calibration_box_visualization.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/quantile_probability_visualization.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/summary_table_visualization.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/timeseries_visualization.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/windowed_metric_visualization.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/backtesting/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_callback.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_event.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_event_generator.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/dummy_forecaster.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_pipeline.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/backtesting/restricted_horizon_timeseries.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/baselines/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/baselines/openstef4.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/benchmark_comparison_pipeline.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/benchmark_pipeline.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/benchmarks/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/benchmarks/liander2024.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/base.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/strict_execution_callback.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/models/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/models/benchmark_target.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/storage/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/storage/base.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/storage/local_storage.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/storage/s3_storage.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/target_provider.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/evaluation/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/evaluation/evaluation_pipeline.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/evaluation/metric_providers.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/evaluation/models/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/evaluation/models/report.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/evaluation/models/subset.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/evaluation/models/window.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/evaluation/window_iterators.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/metrics/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/metrics/metrics_deterministic.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/metrics/metrics_helpers.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/metrics/metrics_probabilistic.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/plots/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/plots/test_forecast_time_series_plotter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/plots/test_grouped_target_metric_plotter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/plots/test_precision_recall_curve_plotter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/plots/test_quantile_calibration_box_plotter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/plots/test_quantile_probability_plotter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/plots/test_summary_table_plotter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/plots/test_windowed_metric_plotter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/test_analysis_pipeline.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/visualizations/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/visualizations/conftest.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/visualizations/test_grouped_target_metric_visualization.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/visualizations/test_precision_recall_curve_visualization.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/visualizations/test_quantile_calibration_box_visualization.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/visualizations/test_quantile_probability_visualization.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/visualizations/test_summary_table_visualization.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/visualizations/test_timeseries_visualization.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/visualizations/test_windowed_metric_visualization.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/backtesting/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/backtesting/test_backtest_event_generator.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/backtesting/test_backtest_pipeline.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/backtesting/test_batch_prediction.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/benchmarking/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/benchmarking/baselines/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/benchmarking/baselines/test_openstef4.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/benchmarking/storage/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/benchmarking/storage/test_local_storage.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/benchmarking/storage/test_s3_storage.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/benchmarking/test_benchmark_pipeline.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/benchmarking/test_target_provider.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/evaluation/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/evaluation/models/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/evaluation/models/test_window.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/evaluation/test_evaluation_pipeline.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/evaluation/test_metric_provider.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/evaluation/test_window_iterators.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/metrics/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/metrics/test_metrics_deterministic.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/metrics/test_metrics_helpers.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/metrics/test_metrics_probabilistic.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/utils/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/utils/mocks.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/README.md +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/base_model.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/constants.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/datasets/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/datasets/mixins.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/datasets/timeseries_dataset.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/datasets/validated_datasets.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/datasets/validation.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/datasets/versioned_timeseries_dataset.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/exceptions.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/mixins/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/mixins/param_ranges.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/mixins/predictor.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/mixins/stateful.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/mixins/transform.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/testing.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/transforms/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/transforms/dataset_transforms.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/types.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/utils/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/utils/datetime.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/utils/invariants.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/utils/itertools.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/utils/multiprocessing.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/utils/numpy.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/utils/pandas.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/utils/pydantic.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/tests/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/datasets/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/datasets/test_mixins.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/datasets/test_timeseries_dataset.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/datasets/test_validated_datasets.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/datasets/test_validation.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/datasets/test_versioned_timeseries_dataset.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/datasets/utils.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/mixins/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/mixins/test_stateful.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/mixins/test_transform.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/test_base_model.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/test_hyperparams_tuning.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/test_param_ranges.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/test_types.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/transforms/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/utils/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/utils/test_datetime.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/utils/test_itertools.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/utils/test_multiprocessing.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/utils/test_numpy.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/utils/test_pandas.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/README.md +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/src/openstef_foundation_models/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/src/openstef_foundation_models/inference/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/src/openstef_foundation_models/inference/backend.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/src/openstef_foundation_models/inference/onnx_backend.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/src/openstef_foundation_models/inference/provider_selection.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/src/openstef_foundation_models/inference/providers.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/src/openstef_foundation_models/integrations/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/src/openstef_foundation_models/integrations/beam.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/src/openstef_foundation_models/models/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/src/openstef_foundation_models/models/catalog.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/src/openstef_foundation_models/models/checkpoint.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/src/openstef_foundation_models/models/forecasting/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/src/openstef_foundation_models/models/forecasting/chronos2_forecaster.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/src/openstef_foundation_models/presets/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/src/openstef_foundation_models/presets/forecasting_workflow.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/tests/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/tests/integration/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/tests/integration/conftest.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/tests/integration/test_beam_integration.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/tests/integration/test_chronos2_onnx.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/tests/unit/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/tests/unit/inference/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/tests/unit/inference/test_onnx_backend.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/tests/unit/inference/test_provider_selection.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/tests/unit/inference/test_providers.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/tests/unit/integrations/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/tests/unit/integrations/test_beam.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/tests/unit/models/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/tests/unit/models/forecasting/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/tests/unit/models/forecasting/test_chronos2_forecaster.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/tests/unit/models/test_catalog.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/tests/unit/presets/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-foundation-models/tests/unit/presets/test_forecasting_workflow.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/README.md +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/src/openstef_meta/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/src/openstef_meta/models/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/src/openstef_meta/models/ensemble_forecasting_model.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/forecast_combiner.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/learned_weights_combiner.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/stacking_combiner.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/src/openstef_meta/presets/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/src/openstef_meta/presets/forecasting_workflow.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/src/openstef_meta/utils/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/src/openstef_meta/utils/datasets.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/integration/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/unit/integrations/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/unit/models/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/unit/models/conftest.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/unit/models/forecast_combiners/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/unit/models/forecast_combiners/conftest.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/unit/models/forecast_combiners/test_learned_weights_combiner.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/unit/models/forecast_combiners/test_stacking_combiner.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/unit/models/forecasting/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/unit/models/test_ensemble_forecasting_model.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/unit/utils/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/unit/utils/test_datasets.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/README.md +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/explainability/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/explainability/mixins.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/explainability/plotters/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/explainability/plotters/contributions_plotter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/explainability/plotters/feature_importance_plotter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/integrations/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/integrations/joblib/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/integrations/joblib/joblib_model_serializer.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/integrations/mlflow/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/integrations/mlflow/mlflow_storage.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/integrations/mlflow/mlflow_storage_callback.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/integrations/optuna/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/integrations/optuna/tuner.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/mixins/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/mixins/callbacks.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/mixins/model_serializer.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/component_splitting/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/component_splitting/component_splitter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/component_splitting/constant_component_splitter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter_model/linear_component_splitter_model.z +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter_model/linear_component_splitter_model.z.license +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/component_splitting_model.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/forecasting/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/forecasting/base_case_forecaster.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/forecasting/constant_quantile_forecaster.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/forecasting/flatliner_forecaster.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/forecasting/forecaster.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/forecasting/gblinear_forecaster.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/forecasting/lgbm_forecaster.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/forecasting/lgbmlinear_forecaster.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/forecasting/xgboost_forecaster.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/forecasting_model.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/presets/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/presets/forecasting_workflow.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/testing.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/energy_domain/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/energy_domain/wind_power_feature_adder.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/general/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/general/dimensionality_reducer.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/general/empty_feature_remover.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/general/flagger.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/general/imputer.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/general/nan_dropper.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/general/outlier_handler.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/general/sample_weighter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/general/scaler.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/general/selector.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/general/shifter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/postprocessing/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/postprocessing/confidence_interval_applicator.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/postprocessing/isotonic_quantile_calibrator.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/postprocessing/quantile_sorter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/time_domain/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/time_domain/cyclic_features_adder.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/time_domain/datetime_features_adder.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/time_domain/holiday_features_adder.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/time_domain/lags_adder.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/time_domain/rolling_aggregates_adder.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/time_domain/versioned_lags_adder.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/validation/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/validation/completeness_checker.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/validation/flatline_checker.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/validation/input_consistency_checker.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/weather_domain/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/weather_domain/atmosphere_derived_features_adder.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/weather_domain/daylight_feature_adder.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/weather_domain/radiation_derived_features_adder.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/utils/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/utils/data_split.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/utils/evaluation_functions.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/utils/feature_selection.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/utils/loss_functions.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/utils/multi_quantile_regressor.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/utils/xgboost.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/workflows/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/workflows/callbacks/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/workflows/callbacks/data_save.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/workflows/callbacks/model_performance_callback.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/workflows/custom_component_split_workflow.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/workflows/custom_forecasting_workflow.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/integration/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/integration/test_integration.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/explainability/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/explainability/plotters/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/explainability/plotters/test_contributions_plotter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/integrations/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/integrations/joblib/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/integrations/joblib/test_joblib_model_serializer.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/integrations/mlflow/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/integrations/mlflow/test_mlflow_storage.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/integrations/optuna/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/integrations/optuna/test_tuner.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/component_splitting/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/component_splitting/test_constant_component_splitter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/component_splitting/test_linear_component_splitter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/forecasting/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/forecasting/conftest.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/forecasting/test_base_case_forecaster.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/forecasting/test_constant_quantile_forecaster.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/forecasting/test_flatliner_forecaster.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/forecasting/test_gblinear_forecaster.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/forecasting/test_lgbm_forecaster.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/forecasting/test_lgbmlinear_forecaster.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/forecasting/test_median_forecaster.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/forecasting/test_xgboost_forecaster.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/test_forecasting_model.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/test_example.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/energy_domain/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/energy_domain/test_wind_power_feature_adder.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/general/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/general/test_dimensionality_reducer.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/general/test_empty_feature_remover.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/general/test_flagger.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/general/test_imputer.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/general/test_nan_dropper.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/general/test_outlier_handler.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/general/test_sample_weighter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/general/test_scaler.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/general/test_selector.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/general/test_shifter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/postprocessing/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/postprocessing/test_confidence_interval_applicator.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/postprocessing/test_isotonic_quantile_calibrator.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/postprocessing/test_quantile_sorter.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/time_domain/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/time_domain/test_cyclic_features_adder.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/time_domain/test_datetime_features_adder.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/time_domain/test_holiday_features_adder.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/time_domain/test_lags_adder.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/time_domain/test_rolling_aggregates_adder.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/time_domain/test_versioned_lags_adder.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/validation/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/validation/test_completeness_checker.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/validation/test_flatline_checker.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/validation/test_input_consistency_checker.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/weather_domain/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/weather_domain/test_atmosphere_derived_features_adder.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/weather_domain/test_daylight_feature_adder.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/weather_domain/test_radiation_derived_featuers_adder.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/utils/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/utils/test_data_split.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/utils/test_feature_selection.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/utils/test_loss_functions.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/utils/test_multi_quantile_regressor.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/workflows/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/workflows/callbacks/__init__.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/workflows/callbacks/test_model_performance_callback.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/workflows/test_custom_forecasting_workflow.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/ruff.toml +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/sonar-project.properties +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/tools/check_notebook_outputs.py +0 -0
- {openstef-4.1.0 → openstef-4.1.1.dev0}/tools/reuse-fix.py +0 -0
|
@@ -58,10 +58,10 @@ jobs:
|
|
|
58
58
|
run: poe type-tests
|
|
59
59
|
- name: tests
|
|
60
60
|
if: ${{ ! inputs._SKIP_QUALITY && always() }}
|
|
61
|
-
run: poe tests
|
|
61
|
+
run: poe tests --relaxed
|
|
62
62
|
- name: doctests
|
|
63
63
|
if: ${{ ! inputs._SKIP_QUALITY && always() }}
|
|
64
|
-
run: poe doctests
|
|
64
|
+
run: poe doctests --relaxed
|
|
65
65
|
- name: notebooks-check
|
|
66
66
|
if: ${{ ! inputs._SKIP_QUALITY && always() }}
|
|
67
67
|
run: poe notebooks-check
|
|
@@ -32,8 +32,10 @@ jobs:
|
|
|
32
32
|
environment: release
|
|
33
33
|
if: ${{ (startsWith(github.ref, 'refs/tags/v4.') || (github.event_name == 'workflow_dispatch' && startsWith(github.event.inputs.version, 'v4'))) && needs.quality.result == 'success' }}
|
|
34
34
|
permissions:
|
|
35
|
-
# IMPORTANT: this permission is mandatory for trusted publishing
|
|
35
|
+
# IMPORTANT: this permission is mandatory for trusted publishing and keyless signing
|
|
36
36
|
id-token: write
|
|
37
|
+
# Required to attach signed artifacts/bundles to the GitHub Release
|
|
38
|
+
contents: write
|
|
37
39
|
steps:
|
|
38
40
|
- name: Checkout
|
|
39
41
|
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
@@ -77,7 +79,18 @@ jobs:
|
|
|
77
79
|
run: poe version --version "${{ steps.ver.outputs.version }}"
|
|
78
80
|
- name: Build all packages
|
|
79
81
|
run: poe build
|
|
82
|
+
- name: Sign distributions (PEP 740 attestations, keyless OIDC)
|
|
83
|
+
run: uv run --no-sync pypi-attestations sign dist/*.whl dist/*.tar.gz
|
|
80
84
|
- name: Publish packages
|
|
85
|
+
# uv uploads the matching *.publish.attestation alongside each distribution
|
|
81
86
|
run: uv publish --trusted-publishing always
|
|
87
|
+
- name: Sign distributions (Sigstore bundles for offline verification)
|
|
88
|
+
run: uv run --no-sync sigstore sign dist/*.whl dist/*.tar.gz
|
|
89
|
+
- name: Attach signed artifacts to the GitHub Release
|
|
90
|
+
if: ${{ github.event_name == 'release' }}
|
|
91
|
+
env:
|
|
92
|
+
GH_TOKEN: ${{ github.token }}
|
|
93
|
+
TAG: ${{ github.event.release.tag_name }}
|
|
94
|
+
run: gh release upload "$TAG" dist/*.whl dist/*.tar.gz dist/*.sigstore.json --clobber
|
|
82
95
|
- name: Summary
|
|
83
|
-
run: echo "Published version ${{ steps.ver.outputs.version }}"
|
|
96
|
+
run: echo "Published and signed version ${{ steps.ver.outputs.version }}"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openstef
|
|
3
|
-
Version: 4.1.
|
|
3
|
+
Version: 4.1.1.dev0
|
|
4
4
|
Summary: Open Short Term Energy forecasting library
|
|
5
5
|
Project-URL: Documentation, https://openstef.github.io/openstef/index.html
|
|
6
6
|
Project-URL: Homepage, https://lfenergy.org/projects/openstef/
|
|
@@ -16,26 +16,26 @@ Classifier: Programming Language :: Python :: 3 :: Only
|
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.12
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.13
|
|
18
18
|
Requires-Python: <4.0,>=3.12
|
|
19
|
-
Requires-Dist: openstef-core==4.1.
|
|
20
|
-
Requires-Dist: openstef-models[xgb-cpu]==4.1.
|
|
19
|
+
Requires-Dist: openstef-core==4.1.1.dev0
|
|
20
|
+
Requires-Dist: openstef-models[xgb-cpu]==4.1.1.dev0
|
|
21
21
|
Provides-Extra: all
|
|
22
|
-
Requires-Dist: openstef-beam[all]==4.1.
|
|
23
|
-
Requires-Dist: openstef-core==4.1.
|
|
24
|
-
Requires-Dist: openstef-foundation-models[cpu]==4.1.
|
|
25
|
-
Requires-Dist: openstef-meta==4.1.
|
|
26
|
-
Requires-Dist: openstef-models[xgb-cpu]==4.1.
|
|
22
|
+
Requires-Dist: openstef-beam[all]==4.1.1.dev0; extra == 'all'
|
|
23
|
+
Requires-Dist: openstef-core==4.1.1.dev0; extra == 'all'
|
|
24
|
+
Requires-Dist: openstef-foundation-models[cpu]==4.1.1.dev0; extra == 'all'
|
|
25
|
+
Requires-Dist: openstef-meta==4.1.1.dev0; extra == 'all'
|
|
26
|
+
Requires-Dist: openstef-models[xgb-cpu]==4.1.1.dev0; extra == 'all'
|
|
27
27
|
Provides-Extra: beam
|
|
28
28
|
Requires-Dist: huggingface-hub>=0.35.3; extra == 'beam'
|
|
29
|
-
Requires-Dist: openstef-beam==4.1.
|
|
29
|
+
Requires-Dist: openstef-beam==4.1.1.dev0; extra == 'beam'
|
|
30
30
|
Provides-Extra: core
|
|
31
|
-
Requires-Dist: openstef-core==4.1.
|
|
31
|
+
Requires-Dist: openstef-core==4.1.1.dev0; extra == 'core'
|
|
32
32
|
Provides-Extra: foundation-models
|
|
33
|
-
Requires-Dist: openstef-foundation-models[cpu]==4.1.
|
|
33
|
+
Requires-Dist: openstef-foundation-models[cpu]==4.1.1.dev0; extra == 'foundation-models'
|
|
34
34
|
Provides-Extra: meta
|
|
35
|
-
Requires-Dist: openstef-meta==4.1.
|
|
35
|
+
Requires-Dist: openstef-meta==4.1.1.dev0; extra == 'meta'
|
|
36
36
|
Provides-Extra: models
|
|
37
|
-
Requires-Dist: openstef-meta==4.1.
|
|
38
|
-
Requires-Dist: openstef-models[xgb-cpu]==4.1.
|
|
37
|
+
Requires-Dist: openstef-meta==4.1.1.dev0; extra == 'models'
|
|
38
|
+
Requires-Dist: openstef-models[xgb-cpu]==4.1.1.dev0; extra == 'models'
|
|
39
39
|
Description-Content-Type: text/markdown
|
|
40
40
|
|
|
41
41
|
<!--
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
SPDX-FileCopyrightText: 2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
|
|
3
|
+
SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
-->
|
|
5
|
+
|
|
6
|
+
# Security Policy
|
|
7
|
+
|
|
8
|
+
## Reporting a vulnerability
|
|
9
|
+
|
|
10
|
+
Please report security vulnerabilities privately via GitHub's
|
|
11
|
+
[security advisories](https://github.com/OpenSTEF/openstef/security/advisories/new)
|
|
12
|
+
or by emailing <openstef@lfenergy.org>. Do not open public issues for
|
|
13
|
+
security-sensitive reports. We aim to acknowledge reports within five working
|
|
14
|
+
days.
|
|
15
|
+
|
|
16
|
+
## Verifying releases
|
|
17
|
+
|
|
18
|
+
Every OpenSTEF release is cryptographically signed with
|
|
19
|
+
[Sigstore](https://www.sigstore.dev/) **keyless** signing. There is no
|
|
20
|
+
long-lived private key: each signature uses an ephemeral key bound to the
|
|
21
|
+
GitHub Actions release workflow's OIDC identity, with the signing certificate
|
|
22
|
+
issued by Fulcio and recorded in the public Rekor transparency log. This means
|
|
23
|
+
**there is no public key to download** — verification proves the artifact was
|
|
24
|
+
published by our release workflow.
|
|
25
|
+
|
|
26
|
+
Two channels are signed:
|
|
27
|
+
|
|
28
|
+
- **PyPI** — every distribution carries a [PEP 740](https://peps.python.org/pep-0740/)
|
|
29
|
+
attestation, displayed and verified by PyPI on upload.
|
|
30
|
+
- **GitHub Releases** — each artifact ships with a `.sigstore.json` bundle for
|
|
31
|
+
offline verification.
|
|
32
|
+
|
|
33
|
+
### Verify a PyPI download
|
|
34
|
+
|
|
35
|
+
`pip` verifies attestations automatically when downloading from PyPI. To check
|
|
36
|
+
explicitly:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
pip download openstef --no-deps -d ./dist
|
|
40
|
+
uvx pypi-attestations verify pypi --repo OpenSTEF/openstef dist/openstef-*.whl
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Verify a GitHub Release artifact
|
|
44
|
+
|
|
45
|
+
Download the artifact and its `.sigstore.json` bundle from the
|
|
46
|
+
[Releases page](https://github.com/OpenSTEF/openstef/releases), then:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
uvx sigstore verify identity \
|
|
50
|
+
--cert-identity-regexp 'release-v4.yaml@refs/tags/v4' \
|
|
51
|
+
--cert-oidc-issuer https://token.actions.githubusercontent.com \
|
|
52
|
+
openstef-*.whl
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
A successful run confirms the artifact was signed by the OpenSTEF release
|
|
56
|
+
workflow. The signing private key is ephemeral and never stored, so it is never
|
|
57
|
+
present on PyPI, GitHub Releases, or any distribution site.
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# SPDX-FileCopyrightText: 2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
|
|
2
2
|
#
|
|
3
3
|
# SPDX-License-Identifier: MPL-2.0
|
|
4
|
-
|
|
5
4
|
[project]
|
|
6
5
|
name = "openstef-docs"
|
|
7
6
|
version = "0.0.0"
|
|
@@ -13,9 +12,17 @@ authors = [
|
|
|
13
12
|
{ name = "Alliander N.V", email = "openstef@lfenergy.org" },
|
|
14
13
|
]
|
|
15
14
|
requires-python = ">=3.12,<4.0"
|
|
15
|
+
classifiers = [
|
|
16
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
17
|
+
"Programming Language :: Python :: 3.12",
|
|
18
|
+
"Programming Language :: Python :: 3.13",
|
|
19
|
+
"Programming Language :: Python :: 3.14",
|
|
20
|
+
]
|
|
16
21
|
dependencies = [
|
|
17
|
-
"
|
|
18
|
-
"ipython>=9.4
|
|
22
|
+
"huggingface-hub>=1.2.2",
|
|
23
|
+
"ipython>=9.4",
|
|
24
|
+
"jupyter-cache>=1",
|
|
25
|
+
"jupytext>=1.16",
|
|
19
26
|
# Constrained to v0.2.x because kaleido >=1.0 fails to JSON-serialize
|
|
20
27
|
# pandas Timestamp values in figure specs (orjson default raises TypeError),
|
|
21
28
|
# 0.4.x is incompatible with the current plotly scope API, and 0.2.1.post1
|
|
@@ -24,31 +31,29 @@ dependencies = [
|
|
|
24
31
|
# pandas Timestamp natively.
|
|
25
32
|
"kaleido>=0.2.1,<0.3,!=0.2.1.post1",
|
|
26
33
|
"matplotlib>=3.10.5",
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"openstef-
|
|
34
|
+
"myst-nb>=1.2",
|
|
35
|
+
"openstef",
|
|
36
|
+
"openstef-beam",
|
|
30
37
|
"openstef-core",
|
|
38
|
+
"openstef-models",
|
|
39
|
+
"optuna>=4.7",
|
|
31
40
|
"pydata-sphinx-theme>=0.16.1",
|
|
32
41
|
"sphinx>=8.2.3",
|
|
42
|
+
"sphinx-autobuild>=2024.10.3",
|
|
43
|
+
"sphinx-autodoc-typehints>=3.2",
|
|
33
44
|
"sphinx-copybutton>=0.5.2",
|
|
34
45
|
"sphinx-design>=0.6.1",
|
|
35
|
-
"sphinx-gallery>=0.19
|
|
36
|
-
"sphinx-prompt>=1.10
|
|
37
|
-
"
|
|
38
|
-
"openstef",
|
|
39
|
-
"sphinx-autobuild>=2024.10.3",
|
|
40
|
-
"sphinx-autodoc-typehints>=3.2.0",
|
|
41
|
-
"myst-nb>=1.2.0",
|
|
42
|
-
"jupyter-cache>=1.0.0",
|
|
43
|
-
"jupytext>=1.16.0",
|
|
46
|
+
"sphinx-gallery>=0.19",
|
|
47
|
+
"sphinx-prompt>=1.10",
|
|
48
|
+
"sphinx-pyproject>=0.3",
|
|
44
49
|
"sphinxcontrib-mermaid>=0.9.2",
|
|
45
50
|
]
|
|
46
51
|
|
|
47
|
-
[tool.uv.sources]
|
|
48
|
-
openstef-beam = { workspace = true }
|
|
49
|
-
openstef-models = { workspace = true }
|
|
50
|
-
openstef = { workspace = true }
|
|
51
|
-
openstef-core = { workspace = true }
|
|
52
|
-
|
|
53
52
|
[tool.setuptools]
|
|
54
53
|
packages = []
|
|
54
|
+
|
|
55
|
+
[tool.uv]
|
|
56
|
+
sources.openstef = { workspace = true }
|
|
57
|
+
sources.openstef-beam = { workspace = true }
|
|
58
|
+
sources.openstef-core = { workspace = true }
|
|
59
|
+
sources.openstef-models = { workspace = true }
|
|
@@ -2,72 +2,22 @@
|
|
|
2
2
|
#
|
|
3
3
|
# SPDX-License-Identifier: MPL-2.0
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
# Run-the-example tasks, co-located with the deployment example. The root pyproject pulls
|
|
6
|
+
# these in via `[tool.poe] include`, so `uv run poe deploy-*` works from the repo root
|
|
7
|
+
# (where POE_ROOT, and therefore the paths below, resolve). Each framework exposes the same
|
|
8
|
+
# three commands: `-ui` (launch the web UI), `-train`, and `-forecast`.
|
|
7
9
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
[project]
|
|
11
|
-
name = "openstef-deployment-examples"
|
|
12
|
-
version = "0.0.0"
|
|
13
|
-
description = "Runnable deployment examples for OpenSTEF (Dagster, Airflow, Celery)"
|
|
14
|
-
readme = "README.md"
|
|
15
|
-
requires-python = ">=3.12,<4.0"
|
|
16
|
-
dependencies = [
|
|
17
|
-
"openstef-core[benchmark]",
|
|
18
|
-
"openstef-models[xgb-cpu]",
|
|
19
|
-
"pydantic-settings>=2.14,<3",
|
|
20
|
-
]
|
|
21
|
-
|
|
22
|
-
optional-dependencies.airflow = [ "apache-airflow>=3.2,<4" ]
|
|
23
|
-
optional-dependencies.celery = [
|
|
24
|
-
"celery[redis]>=5.4",
|
|
25
|
-
]
|
|
26
|
-
optional-dependencies.dagster = [
|
|
27
|
-
"dagster>=1.9",
|
|
28
|
-
"dagster-webserver>=1.9",
|
|
29
|
-
]
|
|
30
|
-
|
|
31
|
-
[tool.hatch.build.targets.wheel]
|
|
32
|
-
packages = [
|
|
33
|
-
"src/common",
|
|
34
|
-
"src/dagster_app",
|
|
35
|
-
"src/airflow_app",
|
|
36
|
-
"src/celery_app",
|
|
37
|
-
]
|
|
38
|
-
|
|
39
|
-
# Run-the-example tasks, co-located with the example. The root pyproject pulls these in via
|
|
40
|
-
# `[tool.poe] include`, so `uv run poe deploy-*` works from the repo root (where POE_ROOT,
|
|
41
|
-
# and therefore the paths below, resolve). Each framework has the same three commands:
|
|
42
|
-
# `-ui` (launch the web UI), `-train`, and `-forecast`.
|
|
43
|
-
|
|
44
|
-
[tool.poe.tasks.deploy-dagster-ui]
|
|
45
|
-
help = "Dagster (UI): the Dagster web UI at http://localhost:3000"
|
|
46
|
-
env.OPENSTEF_DEPLOY_DATA_DIR = "${POE_ROOT}/examples/deployment/openstef_deployment_runs"
|
|
47
|
-
cmd = "uv run --no-sync --package openstef-deployment-examples dagster dev -m dagster_app.definitions"
|
|
48
|
-
|
|
49
|
-
[tool.poe.tasks.deploy-dagster-train]
|
|
50
|
-
help = "Dagster (CLI): train every target (materialize the trained_model asset)"
|
|
51
|
-
env.OPENSTEF_DEPLOY_DATA_DIR = "${POE_ROOT}/examples/deployment/openstef_deployment_runs"
|
|
52
|
-
cmd = "uv run --no-sync --package openstef-deployment-examples python -m dagster_app.run train"
|
|
53
|
-
|
|
54
|
-
[tool.poe.tasks.deploy-dagster-forecast]
|
|
55
|
-
help = "Dagster (CLI): forecast every target (materialize the forecast asset)"
|
|
56
|
-
env.OPENSTEF_DEPLOY_DATA_DIR = "${POE_ROOT}/examples/deployment/openstef_deployment_runs"
|
|
57
|
-
cmd = "uv run --no-sync --package openstef-deployment-examples python -m dagster_app.run forecast"
|
|
58
|
-
|
|
59
|
-
[tool.poe.tasks.deploy-airflow-ui]
|
|
60
|
-
help = "Airflow (UI): all-in-one webserver + scheduler at http://localhost:8080"
|
|
10
|
+
[tool.poe.tasks.deploy-airflow-forecast]
|
|
11
|
+
help = "Airflow (CLI): run the forecast DAG once (no scheduler)"
|
|
61
12
|
env.OPENSTEF_DEPLOY_DATA_DIR = "${POE_ROOT}/examples/deployment/openstef_deployment_runs"
|
|
62
13
|
env.AIRFLOW_HOME = "${POE_ROOT}/examples/deployment/openstef_deployment_runs/airflow"
|
|
63
14
|
env.AIRFLOW__CORE__DAGS_FOLDER = "${POE_ROOT}/examples/deployment/src/airflow_app/dags"
|
|
64
15
|
env.AIRFLOW__CORE__LOAD_EXAMPLES = "False"
|
|
65
|
-
# Built-in simple auth manager, so the example does not require the Flask-AppBuilder provider.
|
|
66
16
|
env.AIRFLOW__CORE__AUTH_MANAGER = "airflow.api_fastapi.auth.managers.simple.simple_auth_manager.SimpleAuthManager"
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
17
|
+
sequence = [
|
|
18
|
+
{ cmd = "uv run --no-sync --package openstef-deployment-examples airflow db migrate" },
|
|
19
|
+
{ cmd = "uv run --no-sync --package openstef-deployment-examples airflow dags test openstef_forecast 2024-04-15" },
|
|
20
|
+
]
|
|
71
21
|
|
|
72
22
|
[tool.poe.tasks.deploy-airflow-train]
|
|
73
23
|
help = "Airflow (CLI): run the training DAG once (no scheduler)"
|
|
@@ -81,24 +31,40 @@ sequence = [
|
|
|
81
31
|
{ cmd = "uv run --no-sync --package openstef-deployment-examples airflow dags test openstef_train 2024-04-15" },
|
|
82
32
|
]
|
|
83
33
|
|
|
84
|
-
[tool.poe.tasks.deploy-airflow-
|
|
85
|
-
help = "Airflow (
|
|
34
|
+
[tool.poe.tasks.deploy-airflow-ui]
|
|
35
|
+
help = "Airflow (UI): all-in-one webserver + scheduler at http://localhost:8080"
|
|
86
36
|
env.OPENSTEF_DEPLOY_DATA_DIR = "${POE_ROOT}/examples/deployment/openstef_deployment_runs"
|
|
87
37
|
env.AIRFLOW_HOME = "${POE_ROOT}/examples/deployment/openstef_deployment_runs/airflow"
|
|
88
38
|
env.AIRFLOW__CORE__DAGS_FOLDER = "${POE_ROOT}/examples/deployment/src/airflow_app/dags"
|
|
89
39
|
env.AIRFLOW__CORE__LOAD_EXAMPLES = "False"
|
|
40
|
+
# Built-in simple auth manager, so the example does not require the Flask-AppBuilder provider.
|
|
90
41
|
env.AIRFLOW__CORE__AUTH_MANAGER = "airflow.api_fastapi.auth.managers.simple.simple_auth_manager.SimpleAuthManager"
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
42
|
+
# macOS fork-safety: the dag-processor forks to parse DAGs; without this the forked child
|
|
43
|
+
# aborts on macOS, so DAGs never serialize and do not show up in the UI. No-op on Linux.
|
|
44
|
+
env.OBJC_DISABLE_INITIALIZE_FORK_SAFETY = "YES"
|
|
45
|
+
cmd = "uv run --no-sync --package openstef-deployment-examples airflow standalone"
|
|
46
|
+
|
|
47
|
+
[tool.poe.tasks.deploy-celery-forecast]
|
|
48
|
+
help = "Celery (CLI): forecast every target (eager, in-process, no broker)"
|
|
49
|
+
env.OPENSTEF_DEPLOY_DATA_DIR = "${POE_ROOT}/examples/deployment/openstef_deployment_runs"
|
|
50
|
+
cmd = "uv run --no-sync --package openstef-deployment-examples python -m celery_app.run forecast"
|
|
95
51
|
|
|
96
52
|
[tool.poe.tasks.deploy-celery-train]
|
|
97
53
|
help = "Celery (CLI): train every target (eager, in-process, no broker)"
|
|
98
54
|
env.OPENSTEF_DEPLOY_DATA_DIR = "${POE_ROOT}/examples/deployment/openstef_deployment_runs"
|
|
99
55
|
cmd = "uv run --no-sync --package openstef-deployment-examples python -m celery_app.run train"
|
|
100
56
|
|
|
101
|
-
[tool.poe.tasks.deploy-
|
|
102
|
-
help = "
|
|
57
|
+
[tool.poe.tasks.deploy-dagster-forecast]
|
|
58
|
+
help = "Dagster (CLI): forecast every target (materialize the forecast asset)"
|
|
103
59
|
env.OPENSTEF_DEPLOY_DATA_DIR = "${POE_ROOT}/examples/deployment/openstef_deployment_runs"
|
|
104
|
-
cmd = "uv run --no-sync --package openstef-deployment-examples python -m
|
|
60
|
+
cmd = "uv run --no-sync --package openstef-deployment-examples python -m dagster_app.run forecast"
|
|
61
|
+
|
|
62
|
+
[tool.poe.tasks.deploy-dagster-train]
|
|
63
|
+
help = "Dagster (CLI): train every target (materialize the trained_model asset)"
|
|
64
|
+
env.OPENSTEF_DEPLOY_DATA_DIR = "${POE_ROOT}/examples/deployment/openstef_deployment_runs"
|
|
65
|
+
cmd = "uv run --no-sync --package openstef-deployment-examples python -m dagster_app.run train"
|
|
66
|
+
|
|
67
|
+
[tool.poe.tasks.deploy-dagster-ui]
|
|
68
|
+
help = "Dagster (UI): the Dagster web UI at http://localhost:3000"
|
|
69
|
+
env.OPENSTEF_DEPLOY_DATA_DIR = "${POE_ROOT}/examples/deployment/openstef_deployment_runs"
|
|
70
|
+
cmd = "uv run --no-sync --package openstef-deployment-examples dagster dev -m dagster_app.definitions"
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2026 Contributors to the OpenSTEF project <openstef@lfenergy.org>
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
[build-system]
|
|
5
|
+
build-backend = "hatchling.build"
|
|
6
|
+
requires = [ "hatchling" ]
|
|
7
|
+
|
|
8
|
+
[project]
|
|
9
|
+
name = "openstef-deployment-examples"
|
|
10
|
+
version = "0.0.0"
|
|
11
|
+
description = "Runnable deployment examples for OpenSTEF (Dagster, Airflow, Celery)"
|
|
12
|
+
readme = "README.md"
|
|
13
|
+
requires-python = ">=3.12,<4.0"
|
|
14
|
+
classifiers = [
|
|
15
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
16
|
+
"Programming Language :: Python :: 3.12",
|
|
17
|
+
"Programming Language :: Python :: 3.13",
|
|
18
|
+
"Programming Language :: Python :: 3.14",
|
|
19
|
+
]
|
|
20
|
+
dependencies = [
|
|
21
|
+
"openstef-core[benchmark]",
|
|
22
|
+
"openstef-models[xgb-cpu]",
|
|
23
|
+
"pydantic-settings>=2.14,<3",
|
|
24
|
+
]
|
|
25
|
+
optional-dependencies.airflow = [ "apache-airflow>=3.2,<4" ]
|
|
26
|
+
optional-dependencies.celery = [
|
|
27
|
+
"celery[redis]>=5.4",
|
|
28
|
+
]
|
|
29
|
+
optional-dependencies.dagster = [
|
|
30
|
+
"dagster>=1.9",
|
|
31
|
+
"dagster-webserver>=1.9",
|
|
32
|
+
]
|
|
33
|
+
|
|
34
|
+
[tool.hatch]
|
|
35
|
+
build.targets.wheel.packages = [
|
|
36
|
+
"src/airflow_app",
|
|
37
|
+
"src/celery_app",
|
|
38
|
+
"src/common",
|
|
39
|
+
"src/dagster_app",
|
|
40
|
+
]
|
|
41
|
+
|
|
42
|
+
[tool.poe]
|
|
43
|
+
include = [ "poe_tasks.toml" ]
|
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
# SPDX-FileCopyrightText: 2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
|
|
2
2
|
#
|
|
3
3
|
# SPDX-License-Identifier: MPL-2.0
|
|
4
|
-
|
|
5
4
|
[project]
|
|
6
5
|
name = "openstef-examples"
|
|
7
6
|
version = "0.0.0"
|
|
8
7
|
description = "Examples and tutorials for OpenSTEF"
|
|
9
8
|
readme = "README.md"
|
|
10
9
|
requires-python = ">=3.12,<4.0"
|
|
10
|
+
classifiers = [
|
|
11
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
12
|
+
"Programming Language :: Python :: 3.12",
|
|
13
|
+
"Programming Language :: Python :: 3.13",
|
|
14
|
+
"Programming Language :: Python :: 3.14",
|
|
15
|
+
]
|
|
11
16
|
dependencies = [
|
|
12
17
|
"openstef",
|
|
13
18
|
"openstef-beam",
|
|
14
19
|
"openstef-core",
|
|
15
20
|
"openstef-models",
|
|
16
21
|
]
|
|
17
|
-
|
|
18
22
|
optional-dependencies.tutorials = [
|
|
19
23
|
"jupyter>=1.1.1",
|
|
20
24
|
# Constrained to v0.2.x; kaleido >=1.0 cannot serialize pandas Timestamp
|
|
@@ -24,8 +28,8 @@ optional-dependencies.tutorials = [
|
|
|
24
28
|
"openstef-core[benchmark]",
|
|
25
29
|
]
|
|
26
30
|
|
|
27
|
-
[tool.uv
|
|
28
|
-
openstef = { workspace = true }
|
|
29
|
-
openstef-beam = { workspace = true }
|
|
30
|
-
openstef-core = { workspace = true }
|
|
31
|
-
openstef-models = { workspace = true }
|
|
31
|
+
[tool.uv]
|
|
32
|
+
sources.openstef = { workspace = true }
|
|
33
|
+
sources.openstef-beam = { workspace = true }
|
|
34
|
+
sources.openstef-core = { workspace = true }
|
|
35
|
+
sources.openstef-models = { workspace = true }
|
|
@@ -7,7 +7,7 @@ requires = [ "hatchling" ]
|
|
|
7
7
|
|
|
8
8
|
[project]
|
|
9
9
|
name = "openstef-beam"
|
|
10
|
-
version = "4.1.
|
|
10
|
+
version = "4.1.1.dev0"
|
|
11
11
|
description = "Backtesting, Evaluation, Analysis and Metrics (BEAM) library for OpenSTEF"
|
|
12
12
|
readme = "README.md"
|
|
13
13
|
keywords = [ "energy", "forecasting", "machinelearning" ]
|
|
@@ -186,7 +186,7 @@ class BacktestBatchForecasterMixin:
|
|
|
186
186
|
batch_size: Maximum number of predictions to process in a single batch.
|
|
187
187
|
"""
|
|
188
188
|
|
|
189
|
-
batch_size: int | None
|
|
189
|
+
batch_size: int | None
|
|
190
190
|
|
|
191
191
|
def predict_batch(self, batch: list[RestrictedHorizonVersionedTimeSeries]) -> Sequence[TimeSeriesDataset | None]:
|
|
192
192
|
"""Handles batch prediction across multiple HorizonTransform instances.
|
|
@@ -7,7 +7,7 @@ requires = [ "hatchling" ]
|
|
|
7
7
|
|
|
8
8
|
[project]
|
|
9
9
|
name = "openstef-core"
|
|
10
|
-
version = "4.1.
|
|
10
|
+
version = "4.1.1.dev0"
|
|
11
11
|
description = "Core functionality for OpenSTEF, a framework for short-term energy forecasting."
|
|
12
12
|
readme = "README.md"
|
|
13
13
|
keywords = [ "energy", "forecasting", "machinelearning" ]
|
|
@@ -7,7 +7,7 @@ requires = [ "hatchling" ]
|
|
|
7
7
|
|
|
8
8
|
[project]
|
|
9
9
|
name = "openstef-foundation-models"
|
|
10
|
-
version = "4.1.
|
|
10
|
+
version = "4.1.1.dev0"
|
|
11
11
|
description = "Foundation model support for OpenSTEF"
|
|
12
12
|
readme = "README.md"
|
|
13
13
|
keywords = [ "energy", "forecasting", "foundationmodels", "machinelearning", "onnx" ]
|
|
@@ -21,7 +21,7 @@ from openstef_models.transforms.general import SampleWeightConfig
|
|
|
21
21
|
@pytest.fixture
|
|
22
22
|
def sample_timeseries_dataset() -> TimeSeriesDataset:
|
|
23
23
|
"""Create sample time series data with typical energy forecasting features."""
|
|
24
|
-
n_samples =
|
|
24
|
+
n_samples = 400
|
|
25
25
|
rng = np.random.default_rng(seed=42)
|
|
26
26
|
|
|
27
27
|
data = pd.DataFrame(
|
|
@@ -155,8 +155,8 @@ def callback(storage: MLFlowStorage) -> MLFlowStorageCallback:
|
|
|
155
155
|
def sample_dataset() -> TimeSeriesDataset:
|
|
156
156
|
return TimeSeriesDataset(
|
|
157
157
|
data=pd.DataFrame(
|
|
158
|
-
{"load": [100.0, 110.0, 120.0, 105.0, 95.0, 115.0, 125.0, 130.0], "value": 100.0},
|
|
159
|
-
index=pd.date_range("2025-01-01", periods=
|
|
158
|
+
{"load": [100.0, 110.0, 120.0, 105.0, 95.0, 115.0, 125.0, 130.0] * 6, "value": 100.0},
|
|
159
|
+
index=pd.date_range("2025-01-01", periods=48, freq="h"),
|
|
160
160
|
),
|
|
161
161
|
sample_interval=timedelta(hours=1),
|
|
162
162
|
)
|
|
@@ -214,13 +214,11 @@ class MedianForecaster(Forecaster, ExplainableForecaster, ContributionsMixin):
|
|
|
214
214
|
for time_step in range(lag_array.shape[0]):
|
|
215
215
|
# Get the lag features for the current time step.
|
|
216
216
|
current_lags = lag_array[time_step]
|
|
217
|
-
#
|
|
218
|
-
|
|
219
|
-
# If the median calculation resulted in NaN (e.g., all lags were NaN), skip the autoregression step.
|
|
220
|
-
if not np.isnan(median):
|
|
221
|
-
median = float(median)
|
|
222
|
-
else:
|
|
217
|
+
# If all lags are NaN there is no value to predict, so skip the autoregressive step.
|
|
218
|
+
if np.all(np.isnan(current_lags)):
|
|
223
219
|
continue
|
|
220
|
+
# Calculate the median of the available lag features, ignoring NaNs.
|
|
221
|
+
median = float(np.nanmedian(current_lags))
|
|
224
222
|
|
|
225
223
|
# Store the calculated median in the prediction array.
|
|
226
224
|
prediction[time_step] = median
|
|
@@ -279,6 +279,7 @@ def test_mlflow_storage_callback__model_selection__skips_on_tag_change(
|
|
|
279
279
|
new_model = ForecastingModel(
|
|
280
280
|
forecaster=SimpleTestForecaster(horizons=[LeadTime(timedelta(hours=6))], quantiles=[Q(0.5)]),
|
|
281
281
|
tags={"version": "2.0"},
|
|
282
|
+
data_splitter=DataSplitter(test_fraction=0.0, val_fraction=0.0),
|
|
282
283
|
)
|
|
283
284
|
new_workflow = CustomForecastingWorkflow(model_id="test_model", model=new_model)
|
|
284
285
|
new_result = new_model.fit(sample_dataset)
|
|
@@ -37,14 +37,18 @@ cmd = "ty check packages/*/tests"
|
|
|
37
37
|
|
|
38
38
|
[tool.poe.tasks.tests]
|
|
39
39
|
help = "Run pytest with xdist, marker filtering, and coverage"
|
|
40
|
-
cmd = "pytest --numprocesses=auto ${markers:+ -m $markers} --cov --cov-report=term-missing --cov-report=xml:coverage.xml"
|
|
40
|
+
cmd = "pytest --numprocesses=auto ${markers:+ -m $markers} ${relaxed:+ -W default} --cov --cov-report=term-missing --cov-report=xml:coverage.xml"
|
|
41
41
|
args = [
|
|
42
42
|
{ name = "markers", type = "string", default = "", help = "Only run tests matching the given pytest markers expression" },
|
|
43
|
+
{ name = "relaxed", type = "boolean", help = "Do not treat warnings as errors (used by CI; warnings fail locally by default)" },
|
|
43
44
|
]
|
|
44
45
|
|
|
45
46
|
[tool.poe.tasks.doctests]
|
|
46
47
|
help = "Run all docstring examples via pytest’s doctest plugin"
|
|
47
|
-
cmd = "pytest --numprocesses=auto --doctest-modules packages/*/src --maxfail=1"
|
|
48
|
+
cmd = "pytest --numprocesses=auto ${relaxed:+ -W default} --doctest-modules packages/*/src --maxfail=1"
|
|
49
|
+
args = [
|
|
50
|
+
{ name = "relaxed", type = "boolean", help = "Do not treat warnings as errors (used by CI; warnings fail locally by default)" },
|
|
51
|
+
]
|
|
48
52
|
|
|
49
53
|
[tool.poe.tasks.notebooks]
|
|
50
54
|
help = "Sync jupytext .py percent sources → .ipynb notebooks (and vice versa)"
|