openstef 4.0.1__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.1.dev0/.github/ISSUE_TEMPLATE/openstef-project-story.md +38 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/.github/dependabot.yml +12 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/.github/workflows/_job_quality_check.yaml +18 -5
- {openstef-4.0.1 → openstef-4.1.1.dev0}/.github/workflows/check.yaml +2 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/.github/workflows/citations.yaml +1 -1
- openstef-4.1.1.dev0/.github/workflows/docs-check.yaml +62 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/.github/workflows/docs.yaml +4 -4
- {openstef-4.0.1 → openstef-4.1.1.dev0}/.github/workflows/release-v4.yaml +18 -5
- {openstef-4.0.1 → openstef-4.1.1.dev0}/.gitignore +5 -4
- openstef-4.0.1/README.md → openstef-4.1.1.dev0/PKG-INFO +81 -10
- openstef-4.0.1/PKG-INFO → openstef-4.1.1.dev0/README.md +41 -47
- openstef-4.1.1.dev0/SECURITY.md +57 -0
- openstef-4.1.1.dev0/docs/pyproject.toml +59 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/api/beam.rst +3 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/api/index.rst +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/conf.py +30 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/contribute/code_of_conduct.rst +2 -2
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/contribute/code_style_guide.rst +43 -5
- openstef-4.1.1.dev0/docs/source/contribute/contributing_guide.rst +13 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/contribute/development_setup.rst +24 -10
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/contribute/development_workflow.rst +3 -2
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/contribute/index.rst +8 -8
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/examples.rst +5 -2
- openstef-4.1.1.dev0/docs/source/images/guides/liander2024_rcrps_by_group.png +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/user_guide/concepts/models.rst +5 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/user_guide/external_resources.rst +0 -4
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/user_guide/getting_started/installation.rst +90 -29
- openstef-4.1.1.dev0/docs/source/user_guide/guides/benchmark_results.rst +317 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/user_guide/guides/deployment.rst +17 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/user_guide/guides/index.rst +7 -0
- openstef-4.1.1.dev0/docs/sync_sources.py +171 -0
- openstef-4.1.1.dev0/examples/README.md +21 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/README.md +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/custom/README.md +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/custom/compare_benchmark_runs.ipynb +2 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/custom/compare_benchmark_runs.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/custom/custom_benchmark.ipynb +3 -2
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/custom/custom_benchmark.py +2 -2
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/custom/custom_forecaster.ipynb +2 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/custom/custom_forecaster.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/custom/evaluate_existing_forecasts.ipynb +2 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/custom/evaluate_existing_forecasts.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/custom/run_custom_benchmark.ipynb +2 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/custom/run_custom_benchmark.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/custom/run_liander2024_benchmark.ipynb +2 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/custom/run_liander2024_benchmark.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/liander2024/compare_benchmark_runs.ipynb +2 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/liander2024/compare_benchmark_runs.py +1 -1
- openstef-4.1.1.dev0/examples/benchmarks/liander2024/run_chronos2_benchmark.ipynb +296 -0
- openstef-4.1.1.dev0/examples/benchmarks/liander2024/run_chronos2_benchmark.py +203 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/liander2024/run_ensemble_benchmark.ipynb +2 -1
- openstef-4.1.1.dev0/examples/benchmarks/liander2024/run_ensemble_benchmark.ipynb.license +3 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/liander2024/run_ensemble_benchmark.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.ipynb +2 -1
- openstef-4.1.1.dev0/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.ipynb.license +3 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.py +1 -1
- openstef-4.1.1.dev0/examples/deployment/.gitignore +8 -0
- openstef-4.1.1.dev0/examples/deployment/README.md +90 -0
- openstef-4.1.1.dev0/examples/deployment/poe_tasks.toml +70 -0
- openstef-4.1.1.dev0/examples/deployment/pyproject.toml +43 -0
- openstef-4.1.1.dev0/examples/deployment/src/airflow_app/__init__.py +3 -0
- openstef-4.1.1.dev0/examples/deployment/src/airflow_app/dags/openstef_forecast.py +50 -0
- openstef-4.1.1.dev0/examples/deployment/src/airflow_app/dags/openstef_train.py +45 -0
- openstef-4.1.1.dev0/examples/deployment/src/celery_app/__init__.py +3 -0
- openstef-4.1.1.dev0/examples/deployment/src/celery_app/app.py +62 -0
- openstef-4.1.1.dev0/examples/deployment/src/celery_app/run.py +41 -0
- openstef-4.1.1.dev0/examples/deployment/src/celery_app/tasks.py +56 -0
- openstef-4.1.1.dev0/examples/deployment/src/common/__init__.py +3 -0
- openstef-4.1.1.dev0/examples/deployment/src/common/config.py +113 -0
- openstef-4.1.1.dev0/examples/deployment/src/common/pipeline.py +75 -0
- openstef-4.1.1.dev0/examples/deployment/src/common/services.py +70 -0
- openstef-4.1.1.dev0/examples/deployment/src/dagster_app/__init__.py +3 -0
- openstef-4.1.1.dev0/examples/deployment/src/dagster_app/definitions.py +69 -0
- openstef-4.1.1.dev0/examples/deployment/src/dagster_app/run.py +33 -0
- openstef-4.1.1.dev0/examples/deployment/tests/test_deployment.py +68 -0
- openstef-4.1.1.dev0/examples/pyproject.toml +35 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/tutorials/backtesting_quickstart.ipynb +2 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/tutorials/backtesting_quickstart.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/tutorials/custom_pipeline.ipynb +2 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/tutorials/custom_pipeline.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/tutorials/datasets.py +14 -12
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/tutorials/ensemble_forecasting.ipynb +2 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/tutorials/ensemble_forecasting.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/tutorials/feature_engineering.ipynb +2 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/tutorials/feature_engineering.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/tutorials/forecasting_quickstart.ipynb +2 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/tutorials/forecasting_quickstart.py +1 -1
- openstef-4.1.1.dev0/examples/tutorials/foundation_model_forecasting.ipynb +472 -0
- openstef-4.1.1.dev0/examples/tutorials/foundation_model_forecasting.py +277 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/tutorials/hyperparameter_tuning_with_optuna.ipynb +3 -2
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/tutorials/hyperparameter_tuning_with_optuna.py +2 -2
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/tutorials/model_explainability.ipynb +2 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/tutorials/model_explainability.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/tutorials/quantile_calibration.ipynb +24 -19
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/tutorials/quantile_calibration.py +23 -19
- openstef-4.1.1.dev0/jupytext.toml +7 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/pyproject.toml +10 -15
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/models/visualization_aggregation.py +2 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/models/visualization_output.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/plots/forecast_time_series_plotter.py +99 -53
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/plots/grouped_target_metric_plotter.py +10 -8
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/plots/precision_recall_curve_plotter.py +10 -8
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/plots/quantile_calibration_box_plotter.py +12 -10
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/plots/quantile_probability_plotter.py +10 -8
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/plots/summary_table_plotter.py +14 -12
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/plots/windowed_metric_plotter.py +9 -7
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/summary_table_visualization.py +33 -24
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_event_generator.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/dummy_forecaster.py +3 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/mixins.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/benchmarks/liander2024.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/storage/s3_storage.py +2 -2
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/target_provider.py +6 -4
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/evaluation/evaluation_pipeline.py +17 -15
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/evaluation/metric_providers.py +15 -11
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/evaluation/models/window.py +10 -6
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/evaluation/window_iterators.py +2 -2
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/metrics/__init__.py +2 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/metrics/metrics_deterministic.py +51 -13
- openstef-4.1.1.dev0/packages/openstef-beam/src/openstef_beam/metrics/metrics_helpers.py +47 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/metrics/metrics_probabilistic.py +43 -37
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/plots/test_forecast_time_series_plotter.py +104 -26
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/plots/test_grouped_target_metric_plotter.py +3 -3
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/plots/test_precision_recall_curve_plotter.py +2 -2
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/plots/test_quantile_calibration_box_plotter.py +15 -15
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/plots/test_quantile_probability_plotter.py +3 -3
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/plots/test_windowed_metric_plotter.py +3 -3
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/test_analysis_pipeline.py +3 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/visualizations/conftest.py +6 -4
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/visualizations/test_quantile_calibration_box_visualization.py +73 -65
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/visualizations/test_quantile_probability_visualization.py +42 -36
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/visualizations/test_summary_table_visualization.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/visualizations/test_timeseries_visualization.py +18 -12
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/visualizations/test_windowed_metric_visualization.py +7 -7
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/backtesting/test_backtest_pipeline.py +4 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/backtesting/test_batch_prediction.py +4 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/benchmarking/baselines/test_openstef4.py +16 -7
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/benchmarking/storage/test_local_storage.py +3 -2
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/benchmarking/storage/test_s3_storage.py +12 -11
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/benchmarking/test_benchmark_pipeline.py +22 -17
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/benchmarking/test_target_provider.py +7 -6
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/metrics/test_metrics_deterministic.py +33 -0
- openstef-4.1.1.dev0/packages/openstef-beam/tests/unit/metrics/test_metrics_helpers.py +31 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/metrics/test_metrics_probabilistic.py +34 -12
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/utils/mocks.py +3 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/pyproject.toml +4 -8
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/base_model.py +5 -2
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/datasets/timeseries_dataset.py +6 -6
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/datasets/validated_datasets.py +8 -6
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/datasets/validation.py +1 -3
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/datasets/versioned_timeseries_dataset.py +3 -6
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/exceptions.py +13 -8
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/mixins/predictor.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/mixins/stateful.py +4 -3
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/mixins/transform.py +1 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/testing.py +6 -6
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/types.py +15 -13
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/utils/__init__.py +6 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/utils/multiprocessing.py +2 -4
- openstef-4.1.1.dev0/packages/openstef-core/src/openstef_core/utils/numpy.py +105 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/utils/pandas.py +4 -4
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/datasets/test_mixins.py +14 -10
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/datasets/test_timeseries_dataset.py +45 -35
- openstef-4.1.1.dev0/packages/openstef-core/tests/unit/datasets/test_validated_datasets.py +382 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/datasets/test_versioned_timeseries_dataset.py +135 -65
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/mixins/test_stateful.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/mixins/test_transform.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/test_hyperparams_tuning.py +13 -13
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/test_param_ranges.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/test_types.py +51 -41
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/utils/test_datetime.py +1 -1
- openstef-4.1.1.dev0/packages/openstef-core/tests/unit/utils/test_numpy.py +179 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/README.md +56 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/pyproject.toml +75 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/src/openstef_foundation_models/__init__.py +12 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/src/openstef_foundation_models/inference/__init__.py +32 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/src/openstef_foundation_models/inference/backend.py +43 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/src/openstef_foundation_models/inference/onnx_backend.py +237 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/src/openstef_foundation_models/inference/provider_selection.py +142 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/src/openstef_foundation_models/inference/providers.py +158 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/src/openstef_foundation_models/integrations/__init__.py +5 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/src/openstef_foundation_models/integrations/beam.py +203 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/src/openstef_foundation_models/models/__init__.py +17 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/src/openstef_foundation_models/models/catalog.py +105 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/src/openstef_foundation_models/models/checkpoint.py +212 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/src/openstef_foundation_models/models/forecasting/__init__.py +21 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/src/openstef_foundation_models/models/forecasting/chronos2_forecaster.py +283 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/src/openstef_foundation_models/presets/__init__.py +23 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/src/openstef_foundation_models/presets/forecasting_workflow.py +205 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/tests/integration/conftest.py +60 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/tests/integration/test_beam_integration.py +77 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/tests/integration/test_chronos2_onnx.py +218 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/tests/unit/inference/test_onnx_backend.py +105 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/tests/unit/inference/test_provider_selection.py +98 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/tests/unit/inference/test_providers.py +49 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/tests/unit/integrations/__init__.py +3 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/tests/unit/integrations/test_beam.py +442 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/tests/unit/models/__init__.py +3 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/tests/unit/models/forecasting/__init__.py +3 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/tests/unit/models/forecasting/test_chronos2_forecaster.py +521 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/tests/unit/models/test_catalog.py +38 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/tests/unit/presets/__init__.py +3 -0
- openstef-4.1.1.dev0/packages/openstef-foundation-models/tests/unit/presets/test_forecasting_workflow.py +196 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/pyproject.toml +6 -10
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/src/openstef_meta/models/ensemble_forecasting_model.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/forecast_combiner.py +4 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/learned_weights_combiner.py +18 -15
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/stacking_combiner.py +2 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/src/openstef_meta/presets/forecasting_workflow.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/integration/test_ensemble_forecasting_model.py +9 -6
- openstef-4.1.1.dev0/packages/openstef-meta/tests/unit/integrations/__init__.py +3 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/unit/integrations/test_mlflow_storage_callback_ensemble.py +6 -5
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/unit/models/forecast_combiners/conftest.py +14 -10
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/unit/models/test_ensemble_forecasting_model.py +5 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/unit/utils/test_datasets.py +14 -10
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/pyproject.toml +15 -12
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/explainability/plotters/contributions_plotter.py +7 -7
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/integrations/__init__.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/integrations/joblib/joblib_model_serializer.py +2 -2
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/integrations/mlflow/mlflow_storage.py +8 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/integrations/mlflow/mlflow_storage_callback.py +5 -5
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/integrations/optuna/tuner.py +5 -4
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/component_splitting/constant_component_splitter.py +2 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter.py +2 -2
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/forecasting/base_case_forecaster.py +2 -2
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/forecasting/constant_quantile_forecaster.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/forecasting/gblinear_forecaster.py +3 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/forecasting/lgbm_forecaster.py +5 -3
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/forecasting/lgbmlinear_forecaster.py +4 -3
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/forecasting/median_forecaster.py +5 -7
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/forecasting/xgboost_forecaster.py +3 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/forecasting_model.py +75 -6
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/presets/forecasting_workflow.py +6 -4
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/general/dimensionality_reducer.py +2 -2
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/general/empty_feature_remover.py +2 -2
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/general/imputer.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/general/nan_dropper.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/general/sample_weighter.py +1 -25
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/general/scaler.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/general/shifter.py +2 -2
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/postprocessing/confidence_interval_applicator.py +4 -4
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/postprocessing/isotonic_quantile_calibrator.py +3 -3
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/time_domain/cyclic_features_adder.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/time_domain/datetime_features_adder.py +15 -9
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/time_domain/holiday_features_adder.py +7 -5
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/time_domain/lags_adder.py +3 -12
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/time_domain/rolling_aggregates_adder.py +7 -11
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/time_domain/versioned_lags_adder.py +7 -3
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/validation/flatline_checker.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/weather_domain/atmosphere_derived_features_adder.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/weather_domain/daylight_feature_adder.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/weather_domain/radiation_derived_features_adder.py +5 -5
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/utils/data_split.py +5 -5
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/utils/evaluation_functions.py +2 -2
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/utils/feature_selection.py +1 -12
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/utils/loss_functions.py +2 -2
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/utils/multi_quantile_regressor.py +4 -4
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/workflows/custom_forecasting_workflow.py +61 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/explainability/plotters/test_contributions_plotter.py +2 -2
- openstef-4.1.1.dev0/packages/openstef-models/tests/unit/integrations/mlflow/__init__.py +3 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/integrations/mlflow/test_mlflow_storage.py +29 -9
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/integrations/mlflow/test_mlflow_storage_callback.py +6 -5
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/integrations/optuna/test_tuner.py +11 -9
- openstef-4.1.1.dev0/packages/openstef-models/tests/unit/models/component_splitting/__init__.py +3 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/forecasting/test_base_case_forecaster.py +20 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/forecasting/test_constant_quantile_forecaster.py +26 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/forecasting/test_lgbm_forecaster.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/forecasting/test_lgbmlinear_forecaster.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/forecasting/test_median_forecaster.py +6 -6
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/test_forecasting_model.py +163 -4
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/general/test_imputer.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/general/test_outlier_handler.py +3 -2
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/general/test_scaler.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/postprocessing/test_isotonic_quantile_calibrator.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/time_domain/test_datetime_features_adder.py +29 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/time_domain/test_rolling_aggregates_adder.py +42 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/time_domain/test_versioned_lags_adder.py +53 -43
- openstef-4.1.1.dev0/packages/openstef-models/tests/unit/utils/__init__.py +3 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/utils/test_data_split.py +1 -1
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/utils/test_multi_quantile_regressor.py +2 -2
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/workflows/callbacks/test_model_performance_callback.py +12 -6
- openstef-4.1.1.dev0/packages/openstef-models/tests/unit/workflows/test_custom_forecasting_workflow.py +134 -0
- openstef-4.1.1.dev0/poe_tasks.toml +190 -0
- openstef-4.1.1.dev0/pyproject.toml +258 -0
- openstef-4.1.1.dev0/ruff.toml +113 -0
- openstef-4.1.1.dev0/sonar-project.properties +43 -0
- openstef-4.1.1.dev0/uv.lock +7684 -0
- openstef-4.0.1/.github/CODE_OF_CONDUCT.md +0 -72
- openstef-4.0.1/.github/CONTRIBUTING.md +0 -39
- openstef-4.0.1/.github/ISSUE_TEMPLATE/openstef-4-0-project-story.md +0 -47
- openstef-4.0.1/.github/workflows/release-dev.yaml +0 -65
- openstef-4.0.1/docs/pyproject.toml +0 -48
- openstef-4.0.1/docs/source/contribute/contributing_guide.rst +0 -276
- openstef-4.0.1/docs/sync_sources.py +0 -65
- openstef-4.0.1/examples/README.md +0 -13
- openstef-4.0.1/examples/pyproject.toml +0 -28
- openstef-4.0.1/pyproject.toml +0 -441
- openstef-4.0.1/sonar-project.properties +0 -18
- openstef-4.0.1/uv.lock +0 -5691
- {openstef-4.0.1 → openstef-4.1.1.dev0}/.github/CODEOWNERS +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/.github/pr-labeler.yml +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/.github/workflows/pr-labeler.yaml +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/.python-version +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/CITATION.cff +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/COMMITTERS.md +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/LICENSE.md +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/LICENSES/MPL-2.0.txt +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/REUSE.toml +0 -0
- /openstef-4.0.1/THIRD_PARTY_LICENSES.md → /openstef-4.1.1.dev0/THIRD_PARTY_NOTICES.md +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/.gitkeep +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/README.md +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/autosummary_cache.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/autosummary_helpers.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/_figures/generate_concept_figures.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/_figures/generate_guide_figures.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/_static/css/.gitkeep +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/_static/css/custom.css +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/_static/versions.json +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/_static/versions.json.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/_templates/custom_class.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/_templates/custom_class_noindex.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/_templates/custom_function.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/_templates/module_overview.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/_templates/package_overview.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/api/core.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/api/meta.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/api/models.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/contribute/_getting_help.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/contribute/document.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/beam_diagram_1.mmd +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/beam_diagram_1.mmd.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/component_splitting_diagram_1.mmd +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/component_splitting_diagram_1.mmd.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/intro_to_energy_forecasting_diagram_1.mmd +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/intro_to_energy_forecasting_diagram_1.mmd.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_1.mmd +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_1.mmd.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_2.mmd +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_2.mmd.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_3.mmd +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/metalearning_diagram_3.mmd.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/models_diagram_1.mmd +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/concepts/models_diagram_1.mmd.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/getting_started/migration_diagram_1.mmd +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/getting_started/migration_diagram_1.mmd.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/datasets_diagram_1.mmd +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/datasets_diagram_1.mmd.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/datasets_diagram_2.mmd +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/datasets_diagram_2.mmd.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/deployment_diagram_1.mmd +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/deployment_diagram_1.mmd.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/deployment_diagram_2.mmd +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/deployment_diagram_2.mmd.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/forecasting_diagram_1.mmd +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/forecasting_diagram_1.mmd.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/probabilistic_forecasting_diagram_1.mmd +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/probabilistic_forecasting_diagram_1.mmd.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_1.mmd +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_1.mmd.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_2.mmd +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_2.mmd.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/images/concepts/aggregation_comparison.svg +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/images/concepts/aggregation_comparison.svg.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/images/concepts/backtesting_simulation.gif +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/images/concepts/backtesting_simulation.gif.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/images/concepts/forecast_confidence_bands.svg +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/images/concepts/forecast_confidence_bands.svg.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/images/concepts/weekly_load_profile.svg +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/images/concepts/weekly_load_profile.svg.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/images/guides/calibration_plot.svg +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/images/guides/calibration_plot.svg.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/images/guides/flatline_detection.svg +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/images/guides/flatline_detection.svg.license +0 -0
- /openstef-4.0.1/docs/source/images/guides/probabilistic_fan_chart.svg.license → /openstef-4.1.1.dev0/docs/source/images/guides/liander2024_rcrps_by_group.png.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/images/guides/probabilistic_fan_chart.svg +0 -0
- /openstef-4.0.1/examples/benchmarks/custom/compare_benchmark_runs.ipynb.license → /openstef-4.1.1.dev0/docs/source/images/guides/probabilistic_fan_chart.svg.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/images/methodology_train_predict.pptx +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/images/methodology_train_predict.pptx.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/images/methodology_train_predict.svg +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/images/methodology_train_predict.svg.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/images/uncertainty_estimation.svg +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/images/uncertainty_estimation.svg.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/index.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/js/.gitkeep +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/logos/favicon.ico +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/logos/favicon.ico.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/logos/logo_openstef_small.png +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/logos/logo_openstef_small.png.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/logos/openstef-horizontal-color.svg +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/logos/openstef-horizontal-color.svg.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/logos/openstef-horizontal-white.svg +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/logos/openstef-horizontal-white.svg.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/project/citing.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/project/committee.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/project/index.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/project/license.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/project/maintainers.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/project/support.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/user_guide/concepts/beam.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/user_guide/concepts/component_splitting.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/user_guide/concepts/index.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/user_guide/concepts/intro_to_energy_forecasting.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/user_guide/concepts/metalearning.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/user_guide/getting_started/index.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/user_guide/getting_started/migration.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/user_guide/guides/forecasting.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/user_guide/guides/probabilistic_forecasting.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/user_guide/guides/reliability_fallback.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/user_guide/index.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/user_guide/intro/index.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/user_guide/intro/methodology_train_predict.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/user_guide/logging.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/docs/source/user_guide/tutorials.rst +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/.gitkeep +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/custom/__init__.py +0 -0
- {openstef-4.0.1/examples/benchmarks/liander2024 → openstef-4.1.1.dev0/examples/benchmarks/custom}/compare_benchmark_runs.ipynb.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/custom/custom_benchmark.ipynb.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/custom/custom_forecaster.ipynb.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/custom/evaluate_existing_forecasts.ipynb.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/custom/run_custom_benchmark.ipynb.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/custom/run_liander2024_benchmark.ipynb.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/liander2024/README.md +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/benchmarks/liander2024/__init__.py +0 -0
- /openstef-4.0.1/examples/benchmarks/liander2024/run_ensemble_benchmark.ipynb.license → /openstef-4.1.1.dev0/examples/benchmarks/liander2024/compare_benchmark_runs.ipynb.license +0 -0
- /openstef-4.0.1/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.ipynb.license → /openstef-4.1.1.dev0/examples/benchmarks/liander2024/run_chronos2_benchmark.ipynb.license +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/examples/tutorials/.gitignore +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/README.md +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/analysis_pipeline.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/models/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/models/target_metadata.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/plots/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/base.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/grouped_target_metric_visualization.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/precision_recall_curve_visualization.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/quantile_calibration_box_visualization.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/quantile_probability_visualization.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/timeseries_visualization.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/analysis/visualizations/windowed_metric_visualization.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/backtesting/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_callback.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_event.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/backtesting/backtest_pipeline.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/backtesting/restricted_horizon_timeseries.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/baselines/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/baselines/openstef4.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/benchmark_comparison_pipeline.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/benchmark_pipeline.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/benchmarks/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/base.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/strict_execution_callback.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/models/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/models/benchmark_target.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/storage/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/storage/base.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/benchmarking/storage/local_storage.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/evaluation/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/evaluation/models/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/evaluation/models/report.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/src/openstef_beam/evaluation/models/subset.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/plots/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/plots/test_summary_table_plotter.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/visualizations/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/visualizations/test_grouped_target_metric_visualization.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/analysis/visualizations/test_precision_recall_curve_visualization.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/backtesting/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/backtesting/test_backtest_event_generator.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/benchmarking/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/benchmarking/baselines/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/benchmarking/storage/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/evaluation/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/evaluation/models/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/evaluation/models/test_window.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/evaluation/test_evaluation_pipeline.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/evaluation/test_metric_provider.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/evaluation/test_window_iterators.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/unit/metrics/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-beam/tests/utils/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/README.md +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/constants.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/datasets/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/datasets/mixins.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/mixins/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/mixins/param_ranges.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/transforms/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/transforms/dataset_transforms.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/utils/datetime.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/utils/invariants.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/utils/itertools.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/src/openstef_core/utils/pydantic.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/tests/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/datasets/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/datasets/test_validation.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/datasets/utils.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/mixins/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/test_base_model.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/transforms/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/utils/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/utils/test_itertools.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/utils/test_multiprocessing.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-core/tests/unit/utils/test_pandas.py +0 -0
- {openstef-4.0.1/packages/openstef-meta/tests/unit/integrations → openstef-4.1.1.dev0/packages/openstef-foundation-models/tests}/__init__.py +0 -0
- {openstef-4.0.1/packages/openstef-models/tests/unit/integrations/mlflow → openstef-4.1.1.dev0/packages/openstef-foundation-models/tests/integration}/__init__.py +0 -0
- {openstef-4.0.1/packages/openstef-models/tests/unit/models/component_splitting → openstef-4.1.1.dev0/packages/openstef-foundation-models/tests/unit}/__init__.py +0 -0
- {openstef-4.0.1/packages/openstef-models/tests/unit/utils → openstef-4.1.1.dev0/packages/openstef-foundation-models/tests/unit/inference}/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/README.md +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/src/openstef_meta/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/src/openstef_meta/models/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/src/openstef_meta/presets/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/src/openstef_meta/utils/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/src/openstef_meta/utils/datasets.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/integration/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/unit/models/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/unit/models/conftest.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/unit/models/forecast_combiners/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/unit/models/forecast_combiners/test_learned_weights_combiner.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/unit/models/forecast_combiners/test_stacking_combiner.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/unit/models/forecasting/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-meta/tests/unit/utils/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/README.md +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/explainability/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/explainability/mixins.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/explainability/plotters/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/explainability/plotters/feature_importance_plotter.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/integrations/joblib/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/integrations/mlflow/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/integrations/optuna/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/mixins/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/mixins/callbacks.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/mixins/model_serializer.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/component_splitting/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/component_splitting/component_splitter.py +0 -0
- {openstef-4.0.1 → 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.0.1 → 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.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/component_splitting_model.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/forecasting/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/forecasting/flatliner_forecaster.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/models/forecasting/forecaster.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/presets/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/testing.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/energy_domain/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/energy_domain/wind_power_feature_adder.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/general/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/general/flagger.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/general/outlier_handler.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/general/selector.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/postprocessing/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/postprocessing/quantile_sorter.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/time_domain/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/validation/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/validation/completeness_checker.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/validation/input_consistency_checker.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/transforms/weather_domain/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/utils/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/utils/xgboost.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/workflows/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/workflows/callbacks/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/workflows/callbacks/data_save.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/workflows/callbacks/model_performance_callback.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/src/openstef_models/workflows/custom_component_split_workflow.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/integration/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/integration/test_integration.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/explainability/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/explainability/plotters/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/integrations/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/integrations/joblib/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/integrations/joblib/test_joblib_model_serializer.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/integrations/optuna/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/component_splitting/test_constant_component_splitter.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/component_splitting/test_linear_component_splitter.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/forecasting/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/forecasting/conftest.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/forecasting/test_flatliner_forecaster.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/forecasting/test_gblinear_forecaster.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/models/forecasting/test_xgboost_forecaster.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/test_example.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/energy_domain/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/energy_domain/test_wind_power_feature_adder.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/general/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/general/test_dimensionality_reducer.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/general/test_empty_feature_remover.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/general/test_flagger.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/general/test_nan_dropper.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/general/test_sample_weighter.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/general/test_selector.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/general/test_shifter.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/postprocessing/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/postprocessing/test_confidence_interval_applicator.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/postprocessing/test_quantile_sorter.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/time_domain/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/time_domain/test_cyclic_features_adder.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/time_domain/test_holiday_features_adder.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/time_domain/test_lags_adder.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/validation/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/validation/test_completeness_checker.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/validation/test_flatline_checker.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/validation/test_input_consistency_checker.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/weather_domain/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/weather_domain/test_atmosphere_derived_features_adder.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/weather_domain/test_daylight_feature_adder.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/transforms/weather_domain/test_radiation_derived_featuers_adder.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/utils/test_feature_selection.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/utils/test_loss_functions.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/workflows/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/packages/openstef-models/tests/unit/workflows/callbacks/__init__.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/tools/check_notebook_outputs.py +0 -0
- {openstef-4.0.1 → openstef-4.1.1.dev0}/tools/reuse-fix.py +0 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: OpenSTEF Project Story
|
|
3
|
+
about: Describe a new feature or improvement for OpenSTEF
|
|
4
|
+
title: ''
|
|
5
|
+
labels: 'OpenSTEF 4'
|
|
6
|
+
assignees: ''
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
As
|
|
10
|
+
I want to
|
|
11
|
+
So that I
|
|
12
|
+
|
|
13
|
+
🌍 Background
|
|
14
|
+
|
|
15
|
+
> [!IMPORTANT]
|
|
16
|
+
> Changes should be done by forking [main branch](https://github.com/OpenSTEF/openstef/tree/main) (`main`) and then make a PR back onto `main` branch.
|
|
17
|
+
> Please read the [contributing guide](https://openstef.github.io/openstef/contribute/index.html) before you start.
|
|
18
|
+
|
|
19
|
+
❗Priority (What if we don't do this?/Are there any deadlines? etc.)
|
|
20
|
+
|
|
21
|
+
Definition of Done:
|
|
22
|
+
|
|
23
|
+
✅ Acceptance criteria
|
|
24
|
+
- [ ]
|
|
25
|
+
|
|
26
|
+
📄 Documentation criteria:
|
|
27
|
+
Update relevant documentation pages
|
|
28
|
+
|
|
29
|
+
🧪 Test criteria:
|
|
30
|
+
Unit tests written and passed
|
|
31
|
+
|
|
32
|
+
⌛ Dependencies:
|
|
33
|
+
N/A
|
|
34
|
+
|
|
35
|
+
🚀 Releasing:
|
|
36
|
+
N/A
|
|
37
|
+
|
|
38
|
+
Other information:
|
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
# Dependabot configuration for the OpenSTEF uv workspace.
|
|
5
5
|
#
|
|
6
6
|
# - Patch/minor updates are grouped into daily PRs; majors stay individual.
|
|
7
|
+
# - lockfile-only: updates touch uv.lock only, never widen pyproject.toml
|
|
8
|
+
# constraints, so no "update X requirement from A to B" PRs.
|
|
9
|
+
# - Linters/formatters (ruff, ty, pyproject-fmt) are isolated in their own group:
|
|
10
|
+
# their releases routinely add rules/checks or restyle files and fail the quality
|
|
11
|
+
# gate, so they land in a dedicated PR rather than blocking unrelated library or
|
|
12
|
+
# security updates.
|
|
7
13
|
# - Cooldown delays brand-new releases by a few days as supply-chain protection.
|
|
8
14
|
# - Security advisories are in their own group, exempt from cooldown.
|
|
9
15
|
|
|
@@ -24,6 +30,7 @@ updates:
|
|
|
24
30
|
time: "06:00"
|
|
25
31
|
timezone: Europe/Amsterdam
|
|
26
32
|
open-pull-requests-limit: 10
|
|
33
|
+
versioning-strategy: lockfile-only
|
|
27
34
|
commit-message:
|
|
28
35
|
prefix: "chore(deps)"
|
|
29
36
|
include: scope
|
|
@@ -39,8 +46,13 @@ updates:
|
|
|
39
46
|
python-security:
|
|
40
47
|
applies-to: security-updates
|
|
41
48
|
update-types: [patch, minor]
|
|
49
|
+
python-linters:
|
|
50
|
+
applies-to: version-updates
|
|
51
|
+
patterns: ["ruff", "ty", "pyproject-fmt"]
|
|
52
|
+
update-types: [patch, minor]
|
|
42
53
|
python-versions:
|
|
43
54
|
applies-to: version-updates
|
|
55
|
+
exclude-patterns: ["ruff", "ty", "pyproject-fmt"]
|
|
44
56
|
update-types: [patch, minor]
|
|
45
57
|
|
|
46
58
|
- package-ecosystem: github-actions
|
|
@@ -20,18 +20,19 @@ jobs:
|
|
|
20
20
|
runs-on: ubuntu-latest
|
|
21
21
|
steps:
|
|
22
22
|
- name: Checkout # Must be done before using composite actions
|
|
23
|
-
uses: actions/checkout@
|
|
23
|
+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
24
24
|
with:
|
|
25
|
+
fetch-depth: 0 # full history gives Sonar accurate new-code / blame info
|
|
25
26
|
show-progress: false # very verbose for not much
|
|
26
27
|
- name: Install uv
|
|
27
|
-
uses: astral-sh/setup-uv@
|
|
28
|
+
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
|
|
28
29
|
# uv is needed for qa and deploy, so is kinda always needed. No need to skip it.
|
|
29
30
|
with:
|
|
30
31
|
activate-environment: true
|
|
31
32
|
enable-cache: true
|
|
32
33
|
- name: Install dependencies
|
|
33
34
|
if: ${{ always() }}
|
|
34
|
-
run: uv sync --frozen --no-install-project
|
|
35
|
+
run: uv sync --frozen --no-install-project
|
|
35
36
|
|
|
36
37
|
# Run quality checks
|
|
37
38
|
- name: reuse
|
|
@@ -52,16 +53,28 @@ jobs:
|
|
|
52
53
|
- name: typing
|
|
53
54
|
if: ${{ ! inputs._SKIP_QUALITY && always() }}
|
|
54
55
|
run: poe type
|
|
56
|
+
- name: typing tests
|
|
57
|
+
if: ${{ ! inputs._SKIP_QUALITY && always() }}
|
|
58
|
+
run: poe type-tests
|
|
55
59
|
- name: tests
|
|
56
60
|
if: ${{ ! inputs._SKIP_QUALITY && always() }}
|
|
57
|
-
run: poe tests
|
|
61
|
+
run: poe tests --relaxed
|
|
58
62
|
- name: doctests
|
|
59
63
|
if: ${{ ! inputs._SKIP_QUALITY && always() }}
|
|
60
|
-
run: poe doctests
|
|
64
|
+
run: poe doctests --relaxed
|
|
61
65
|
- name: notebooks-check
|
|
62
66
|
if: ${{ ! inputs._SKIP_QUALITY && always() }}
|
|
63
67
|
run: poe notebooks-check
|
|
64
68
|
|
|
69
|
+
# Upload analysis + coverage.xml (produced by the tests step) to SonarCloud.
|
|
70
|
+
# Skipped on fork PRs, which cannot access the SONAR_TOKEN secret.
|
|
71
|
+
- name: SonarCloud scan
|
|
72
|
+
if: ${{ ! inputs._SKIP_QUALITY && !cancelled() && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository) }}
|
|
73
|
+
uses: SonarSource/sonarqube-scan-action@713881670b6b3676cda39549040e2d88c70d582e # v8.2.0
|
|
74
|
+
env:
|
|
75
|
+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
|
76
|
+
SONAR_HOST_URL: https://sonarcloud.io
|
|
77
|
+
|
|
65
78
|
- name: Stop if any quality step failed
|
|
66
79
|
# All tests are run with always() not to stop on the first error. This step makes the workflow fail if any quality step failed.
|
|
67
80
|
if: ${{ failure() }}
|
|
@@ -10,7 +10,7 @@ on:
|
|
|
10
10
|
push:
|
|
11
11
|
branches: ['main']
|
|
12
12
|
pull_request:
|
|
13
|
-
types: [opened, synchronize, reopened
|
|
13
|
+
types: [opened, synchronize, reopened]
|
|
14
14
|
|
|
15
15
|
permissions:
|
|
16
16
|
contents: read
|
|
@@ -19,3 +19,4 @@ jobs:
|
|
|
19
19
|
quality:
|
|
20
20
|
name: Quality Checks
|
|
21
21
|
uses: ./.github/workflows/_job_quality_check.yaml
|
|
22
|
+
secrets: inherit
|
|
@@ -33,7 +33,7 @@ jobs:
|
|
|
33
33
|
runs-on: ubuntu-24.04
|
|
34
34
|
steps:
|
|
35
35
|
- name: checkout
|
|
36
|
-
uses: actions/checkout@
|
|
36
|
+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
37
37
|
- name: Install R
|
|
38
38
|
run: |
|
|
39
39
|
sudo apt-get update && sudo apt-get install -y r-base
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2026 Contributors to the OpenSTEF project <openstef@lfenergy.org>
|
|
2
|
+
# SPDX-License-Identifier: MPL-2.0
|
|
3
|
+
|
|
4
|
+
# Builds the documentation on PRs WITHOUT deploying it, so that changes which
|
|
5
|
+
# break the docs build (e.g. a dependency bump that breaks notebook execution
|
|
6
|
+
# or static figure export) are caught before they reach main, where the
|
|
7
|
+
# Deploy Documentation workflow would otherwise fail.
|
|
8
|
+
#
|
|
9
|
+
# The build executes the tutorials, so it is slow. It therefore only runs when
|
|
10
|
+
# a PR touches inputs that can affect the build (dependencies, docs sources,
|
|
11
|
+
# example notebooks), and can also be triggered manually from the Actions tab.
|
|
12
|
+
|
|
13
|
+
name: Docs Build Check
|
|
14
|
+
|
|
15
|
+
concurrency:
|
|
16
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
17
|
+
cancel-in-progress: true
|
|
18
|
+
|
|
19
|
+
on:
|
|
20
|
+
pull_request:
|
|
21
|
+
paths:
|
|
22
|
+
- "uv.lock"
|
|
23
|
+
- "**/pyproject.toml"
|
|
24
|
+
- "docs/**"
|
|
25
|
+
- "examples/**"
|
|
26
|
+
- ".github/workflows/docs-check.yaml"
|
|
27
|
+
workflow_dispatch:
|
|
28
|
+
|
|
29
|
+
permissions:
|
|
30
|
+
contents: read
|
|
31
|
+
|
|
32
|
+
jobs:
|
|
33
|
+
build-docs:
|
|
34
|
+
name: Build Documentation (no deploy)
|
|
35
|
+
runs-on: ubuntu-latest
|
|
36
|
+
|
|
37
|
+
steps:
|
|
38
|
+
- name: Checkout
|
|
39
|
+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
40
|
+
with:
|
|
41
|
+
show-progress: false
|
|
42
|
+
|
|
43
|
+
- name: Install uv
|
|
44
|
+
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
|
|
45
|
+
with:
|
|
46
|
+
activate-environment: true
|
|
47
|
+
enable-cache: true
|
|
48
|
+
|
|
49
|
+
- name: Install dependencies
|
|
50
|
+
run: uv sync --frozen --no-install-project
|
|
51
|
+
|
|
52
|
+
- name: Build Sphinx documentation
|
|
53
|
+
run: poe docs
|
|
54
|
+
|
|
55
|
+
- name: Upload built docs
|
|
56
|
+
if: ${{ always() }}
|
|
57
|
+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
58
|
+
with:
|
|
59
|
+
name: docs-html
|
|
60
|
+
path: docs/build/html
|
|
61
|
+
retention-days: 7
|
|
62
|
+
if-no-files-found: ignore
|
|
@@ -21,24 +21,24 @@ jobs:
|
|
|
21
21
|
|
|
22
22
|
steps:
|
|
23
23
|
- name: Checkout main
|
|
24
|
-
uses: actions/checkout@
|
|
24
|
+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
25
25
|
with:
|
|
26
26
|
show-progress: false
|
|
27
27
|
|
|
28
28
|
- name: Install uv
|
|
29
|
-
uses: astral-sh/setup-uv@
|
|
29
|
+
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
|
|
30
30
|
with:
|
|
31
31
|
activate-environment: true
|
|
32
32
|
enable-cache: true
|
|
33
33
|
|
|
34
34
|
- name: Install dependencies
|
|
35
|
-
run: uv sync --frozen --no-install-project
|
|
35
|
+
run: uv sync --frozen --no-install-project
|
|
36
36
|
|
|
37
37
|
- name: Build Sphinx documentation
|
|
38
38
|
run: poe docs
|
|
39
39
|
|
|
40
40
|
- name: Checkout gh-pages branch for deployment
|
|
41
|
-
uses: actions/checkout@
|
|
41
|
+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
42
42
|
with:
|
|
43
43
|
ref: gh-pages
|
|
44
44
|
path: gh-pages-repo
|
|
@@ -32,21 +32,23 @@ 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
|
-
uses: actions/checkout@
|
|
41
|
+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
40
42
|
with:
|
|
41
43
|
fetch-depth: 0
|
|
42
44
|
show-progress: false
|
|
43
45
|
- name: Install uv
|
|
44
|
-
uses: astral-sh/setup-uv@
|
|
46
|
+
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
|
|
45
47
|
with:
|
|
46
48
|
activate-environment: true
|
|
47
49
|
enable-cache: true
|
|
48
50
|
- name: Install build dependencies
|
|
49
|
-
run: uv sync --frozen --no-install-project --
|
|
51
|
+
run: uv sync --frozen --no-install-project --no-default-groups --group build
|
|
50
52
|
|
|
51
53
|
# Start of release steps
|
|
52
54
|
- name: Set version from release
|
|
@@ -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 }}"
|
|
@@ -35,10 +35,6 @@ MANIFEST
|
|
|
35
35
|
# Ruff
|
|
36
36
|
.ruff_cache/
|
|
37
37
|
|
|
38
|
-
# Pyright
|
|
39
|
-
.pyright/
|
|
40
|
-
# pyright-report/
|
|
41
|
-
|
|
42
38
|
# Test, coverage, tox
|
|
43
39
|
.pytest_cache/
|
|
44
40
|
.coverage
|
|
@@ -69,6 +65,8 @@ docs/_build/
|
|
|
69
65
|
docs/source/api/generated/
|
|
70
66
|
docs/source/tutorials/
|
|
71
67
|
docs/source/benchmarks/
|
|
68
|
+
# Community health files materialized from OpenSTEF/.github at build time
|
|
69
|
+
docs/source/contribute/_community/
|
|
72
70
|
docs/source/user_guide/**/quick_start_tutorial.py
|
|
73
71
|
docs/source/user_guide/**/feature_engineering_tutorial.py
|
|
74
72
|
docs/source/user_guide/**/datasets_tutorial.py
|
|
@@ -135,6 +133,9 @@ benchmark_results*/
|
|
|
135
133
|
# Local dataset files
|
|
136
134
|
liander_dataset/
|
|
137
135
|
|
|
136
|
+
# Deployment example run artifacts (MLflow store, forecasts, dataset, Celery/Airflow state)
|
|
137
|
+
openstef_deployment_runs/
|
|
138
|
+
|
|
138
139
|
# Mlflow
|
|
139
140
|
/mlflow
|
|
140
141
|
/mlflow_artifacts_local
|
|
@@ -1,3 +1,43 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: openstef
|
|
3
|
+
Version: 4.1.1.dev0
|
|
4
|
+
Summary: Open Short Term Energy forecasting library
|
|
5
|
+
Project-URL: Documentation, https://openstef.github.io/openstef/index.html
|
|
6
|
+
Project-URL: Homepage, https://lfenergy.org/projects/openstef/
|
|
7
|
+
Project-URL: Issues, https://github.com/OpenSTEF/openstef/issues
|
|
8
|
+
Project-URL: Repository, https://github.com/OpenSTEF/openstef
|
|
9
|
+
Author-email: "Alliander N.V" <openstef@lfenergy.org>
|
|
10
|
+
License-Expression: MPL-2.0
|
|
11
|
+
License-File: LICENSE.md
|
|
12
|
+
Keywords: energy,forecasting,machinelearning
|
|
13
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
+
Requires-Python: <4.0,>=3.12
|
|
19
|
+
Requires-Dist: openstef-core==4.1.1.dev0
|
|
20
|
+
Requires-Dist: openstef-models[xgb-cpu]==4.1.1.dev0
|
|
21
|
+
Provides-Extra: all
|
|
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
|
+
Provides-Extra: beam
|
|
28
|
+
Requires-Dist: huggingface-hub>=0.35.3; extra == 'beam'
|
|
29
|
+
Requires-Dist: openstef-beam==4.1.1.dev0; extra == 'beam'
|
|
30
|
+
Provides-Extra: core
|
|
31
|
+
Requires-Dist: openstef-core==4.1.1.dev0; extra == 'core'
|
|
32
|
+
Provides-Extra: foundation-models
|
|
33
|
+
Requires-Dist: openstef-foundation-models[cpu]==4.1.1.dev0; extra == 'foundation-models'
|
|
34
|
+
Provides-Extra: meta
|
|
35
|
+
Requires-Dist: openstef-meta==4.1.1.dev0; extra == 'meta'
|
|
36
|
+
Provides-Extra: models
|
|
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
|
+
Description-Content-Type: text/markdown
|
|
40
|
+
|
|
1
41
|
<!--
|
|
2
42
|
SPDX-FileCopyrightText: 2017-2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
|
|
3
43
|
|
|
@@ -6,7 +46,7 @@ SPDX-License-Identifier: MPL-2.0
|
|
|
6
46
|
|
|
7
47
|
<p align="center">
|
|
8
48
|
<a href="https://www.lfenergy.org/projects/openstef/">
|
|
9
|
-
<img src="https://raw.githubusercontent.com/OpenSTEF/openstef/main/docs/source/
|
|
49
|
+
<img src="https://raw.githubusercontent.com/OpenSTEF/openstef/main/docs/source/logos/openstef-horizontal-color.svg" alt="OpenSTEF Logo" width="400">
|
|
10
50
|
</a>
|
|
11
51
|
</p>
|
|
12
52
|
|
|
@@ -17,7 +57,16 @@ SPDX-License-Identifier: MPL-2.0
|
|
|
17
57
|
[](https://bestpractices.coreinfrastructure.org/projects/5585)
|
|
18
58
|
[](LICENSE.md)
|
|
19
59
|
[](https://www.python.org/downloads/)
|
|
20
|
-
|
|
60
|
+

|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
[](https://sonarcloud.io/summary/overall?id=OpenSTEF_openstef)
|
|
64
|
+
[](https://sonarcloud.io/summary/overall?id=OpenSTEF_openstef)
|
|
65
|
+
[](https://sonarcloud.io/summary/overall?id=OpenSTEF_openstef)
|
|
66
|
+
[](https://sonarcloud.io/summary/overall?id=OpenSTEF_openstef)
|
|
67
|
+
[](https://sonarcloud.io/summary/overall?id=OpenSTEF_openstef)
|
|
68
|
+
[](https://sonarcloud.io/summary/overall?id=OpenSTEF_openstef)
|
|
69
|
+
|
|
21
70
|
|
|
22
71
|
## What is OpenSTEF
|
|
23
72
|
|
|
@@ -42,27 +91,46 @@ OpenSTEF 4.0.0 is organized as a monorepo with specialized packages under the `p
|
|
|
42
91
|
**Requirements:** Python ≥3.12, 64-bit OS (Windows, macOS, Linux)
|
|
43
92
|
|
|
44
93
|
```bash
|
|
45
|
-
#
|
|
94
|
+
# Minimal-but-runnable convenience layer (core + models with CPU XGBoost)
|
|
46
95
|
pip install openstef
|
|
47
96
|
|
|
97
|
+
# Everything, CPU flavour
|
|
98
|
+
pip install "openstef[all]"
|
|
99
|
+
|
|
48
100
|
# Or install individual packages
|
|
49
101
|
pip install openstef-models
|
|
50
102
|
pip install openstef-beam
|
|
51
103
|
pip install openstef-core
|
|
52
104
|
|
|
53
|
-
#
|
|
105
|
+
# Optional feature extras (additive)
|
|
54
106
|
pip install "openstef-models[lgbm]"
|
|
55
|
-
pip install "openstef-models[
|
|
107
|
+
pip install "openstef-models[tuning]"
|
|
56
108
|
pip install "openstef-beam[all]"
|
|
57
109
|
```
|
|
58
110
|
|
|
111
|
+
**Compute runtimes (pick one per package).** Packages with a heavy runtime ship
|
|
112
|
+
mutually exclusive CPU and GPU builds as conflicting extras — install one, not both:
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
# Foundation models (Chronos-2): CPU everywhere, GPU on CUDA Linux/Windows
|
|
116
|
+
pip install "openstef-foundation-models[cpu]"
|
|
117
|
+
pip install "openstef-foundation-models[gpu]"
|
|
118
|
+
|
|
119
|
+
# XGBoost models: CPU or GPU
|
|
120
|
+
pip install "openstef-models[xgb-cpu]"
|
|
121
|
+
pip install "openstef-models[xgb-gpu]"
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
The `openstef` meta-package always ships the CPU builds; for GPU, install the
|
|
125
|
+
component package directly with its `[gpu]` extra.
|
|
126
|
+
|
|
59
127
|
Using [uv](https://docs.astral.sh/uv/) (recommended for development):
|
|
60
128
|
|
|
61
129
|
```bash
|
|
62
130
|
uv add openstef
|
|
63
131
|
```
|
|
64
132
|
|
|
65
|
-
For the complete installation guide including troubleshooting, see the [Installation Documentation](https://openstef.github.io/openstef/user_guide/installation.html).
|
|
133
|
+
For the complete installation guide including troubleshooting, see the [Installation Documentation](https://openstef.github.io/openstef/user_guide/getting_started/installation.html).
|
|
66
134
|
|
|
67
135
|
## Examples
|
|
68
136
|
|
|
@@ -71,7 +139,7 @@ Tutorials and usage examples are available in the [`examples/`](examples/) folde
|
|
|
71
139
|
- Forecasting quickstart
|
|
72
140
|
- Feature engineering
|
|
73
141
|
|
|
74
|
-
Additional tutorials are available in the [online documentation](https://openstef.github.io/openstef/
|
|
142
|
+
Additional tutorials are available in the [online documentation](https://openstef.github.io/openstef/examples.html).
|
|
75
143
|
|
|
76
144
|
## License
|
|
77
145
|
|
|
@@ -92,15 +160,18 @@ We welcome contributions to OpenSTEF 4.0!
|
|
|
92
160
|
### Quick Development Setup
|
|
93
161
|
|
|
94
162
|
```bash
|
|
95
|
-
# Clone and set up for development
|
|
163
|
+
# Clone and set up for development (one command installs the full CPU dev env)
|
|
96
164
|
git clone https://github.com/OpenSTEF/openstef.git
|
|
97
165
|
cd openstef
|
|
98
|
-
uv sync
|
|
166
|
+
uv sync
|
|
99
167
|
|
|
100
168
|
# Run tests and quality checks
|
|
101
169
|
uv run poe all
|
|
102
170
|
```
|
|
103
171
|
|
|
172
|
+
> GPU dev env (CUDA; Linux/Windows): `uv sync --no-default-groups --group dev-gpu`.
|
|
173
|
+
> Do not use `--all-groups`/`--all-extras` — the CPU and GPU runtimes conflict.
|
|
174
|
+
|
|
104
175
|
**Code of Conduct**: We follow the [Contributor Code of Conduct](https://openstef.github.io/openstef/contribute/code_of_conduct.html) to ensure a welcoming environment for all contributors.
|
|
105
176
|
## Citations
|
|
106
177
|
|
|
@@ -114,4 +185,4 @@ If you use OpenSTEF in your research or publications, please cite the project. R
|
|
|
114
185
|
- **Email:** openstef@lfenergy.org
|
|
115
186
|
- **Community meeting:** [OpenSTEF four-weekly community meeting](https://lf-energy.atlassian.net/wiki/spaces/OS/pages/32278358/OpenSTEF+four-weekly+community+meeting)
|
|
116
187
|
- **Issues:** [GitHub Issue Tracker](https://github.com/OpenSTEF/openstef/issues)
|
|
117
|
-
- **Support Guide:** [How to get help](https://openstef.github.io/openstef/project/support.html)
|
|
188
|
+
- **Support Guide:** [How to get help](https://openstef.github.io/openstef/project/support.html)
|
|
@@ -1,40 +1,3 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: openstef
|
|
3
|
-
Version: 4.0.1
|
|
4
|
-
Summary: Open Short Term Energy forecasting library
|
|
5
|
-
Project-URL: Documentation, https://openstef.github.io/openstef/index.html
|
|
6
|
-
Project-URL: Homepage, https://lfenergy.org/projects/openstef/
|
|
7
|
-
Project-URL: Issues, https://github.com/OpenSTEF/openstef/issues
|
|
8
|
-
Project-URL: Repository, https://github.com/OpenSTEF/openstef
|
|
9
|
-
Author-email: "Alliander N.V" <openstef@lfenergy.org>
|
|
10
|
-
License-Expression: MPL-2.0
|
|
11
|
-
License-File: LICENSE.md
|
|
12
|
-
Keywords: energy,forecasting,machinelearning
|
|
13
|
-
Classifier: Development Status :: 5 - Production/Stable
|
|
14
|
-
Classifier: Intended Audience :: Developers
|
|
15
|
-
Classifier: Programming Language :: Python :: 3 :: Only
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
-
Requires-Python: <4.0,>=3.12
|
|
19
|
-
Requires-Dist: openstef-core==4.0.1
|
|
20
|
-
Requires-Dist: openstef-models[xgb-cpu]==4.0.1
|
|
21
|
-
Provides-Extra: all
|
|
22
|
-
Requires-Dist: openstef-beam[all]==4.0.1; extra == 'all'
|
|
23
|
-
Requires-Dist: openstef-core==4.0.1; extra == 'all'
|
|
24
|
-
Requires-Dist: openstef-meta==4.0.1; extra == 'all'
|
|
25
|
-
Requires-Dist: openstef-models[xgb-cpu]==4.0.1; extra == 'all'
|
|
26
|
-
Provides-Extra: beam
|
|
27
|
-
Requires-Dist: huggingface-hub>=0.35.3; extra == 'beam'
|
|
28
|
-
Requires-Dist: openstef-beam==4.0.1; extra == 'beam'
|
|
29
|
-
Provides-Extra: core
|
|
30
|
-
Requires-Dist: openstef-core==4.0.1; extra == 'core'
|
|
31
|
-
Provides-Extra: meta
|
|
32
|
-
Requires-Dist: openstef-meta==4.0.1; extra == 'meta'
|
|
33
|
-
Provides-Extra: models
|
|
34
|
-
Requires-Dist: openstef-meta==4.0.1; extra == 'models'
|
|
35
|
-
Requires-Dist: openstef-models[xgb-cpu]==4.0.1; extra == 'models'
|
|
36
|
-
Description-Content-Type: text/markdown
|
|
37
|
-
|
|
38
1
|
<!--
|
|
39
2
|
SPDX-FileCopyrightText: 2017-2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
|
|
40
3
|
|
|
@@ -43,7 +6,7 @@ SPDX-License-Identifier: MPL-2.0
|
|
|
43
6
|
|
|
44
7
|
<p align="center">
|
|
45
8
|
<a href="https://www.lfenergy.org/projects/openstef/">
|
|
46
|
-
<img src="https://raw.githubusercontent.com/OpenSTEF/openstef/main/docs/source/
|
|
9
|
+
<img src="https://raw.githubusercontent.com/OpenSTEF/openstef/main/docs/source/logos/openstef-horizontal-color.svg" alt="OpenSTEF Logo" width="400">
|
|
47
10
|
</a>
|
|
48
11
|
</p>
|
|
49
12
|
|
|
@@ -54,7 +17,16 @@ SPDX-License-Identifier: MPL-2.0
|
|
|
54
17
|
[](https://bestpractices.coreinfrastructure.org/projects/5585)
|
|
55
18
|
[](LICENSE.md)
|
|
56
19
|
[](https://www.python.org/downloads/)
|
|
57
|
-
|
|
20
|
+

|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
[](https://sonarcloud.io/summary/overall?id=OpenSTEF_openstef)
|
|
24
|
+
[](https://sonarcloud.io/summary/overall?id=OpenSTEF_openstef)
|
|
25
|
+
[](https://sonarcloud.io/summary/overall?id=OpenSTEF_openstef)
|
|
26
|
+
[](https://sonarcloud.io/summary/overall?id=OpenSTEF_openstef)
|
|
27
|
+
[](https://sonarcloud.io/summary/overall?id=OpenSTEF_openstef)
|
|
28
|
+
[](https://sonarcloud.io/summary/overall?id=OpenSTEF_openstef)
|
|
29
|
+
|
|
58
30
|
|
|
59
31
|
## What is OpenSTEF
|
|
60
32
|
|
|
@@ -79,27 +51,46 @@ OpenSTEF 4.0.0 is organized as a monorepo with specialized packages under the `p
|
|
|
79
51
|
**Requirements:** Python ≥3.12, 64-bit OS (Windows, macOS, Linux)
|
|
80
52
|
|
|
81
53
|
```bash
|
|
82
|
-
#
|
|
54
|
+
# Minimal-but-runnable convenience layer (core + models with CPU XGBoost)
|
|
83
55
|
pip install openstef
|
|
84
56
|
|
|
57
|
+
# Everything, CPU flavour
|
|
58
|
+
pip install "openstef[all]"
|
|
59
|
+
|
|
85
60
|
# Or install individual packages
|
|
86
61
|
pip install openstef-models
|
|
87
62
|
pip install openstef-beam
|
|
88
63
|
pip install openstef-core
|
|
89
64
|
|
|
90
|
-
#
|
|
65
|
+
# Optional feature extras (additive)
|
|
91
66
|
pip install "openstef-models[lgbm]"
|
|
92
|
-
pip install "openstef-models[
|
|
67
|
+
pip install "openstef-models[tuning]"
|
|
93
68
|
pip install "openstef-beam[all]"
|
|
94
69
|
```
|
|
95
70
|
|
|
71
|
+
**Compute runtimes (pick one per package).** Packages with a heavy runtime ship
|
|
72
|
+
mutually exclusive CPU and GPU builds as conflicting extras — install one, not both:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# Foundation models (Chronos-2): CPU everywhere, GPU on CUDA Linux/Windows
|
|
76
|
+
pip install "openstef-foundation-models[cpu]"
|
|
77
|
+
pip install "openstef-foundation-models[gpu]"
|
|
78
|
+
|
|
79
|
+
# XGBoost models: CPU or GPU
|
|
80
|
+
pip install "openstef-models[xgb-cpu]"
|
|
81
|
+
pip install "openstef-models[xgb-gpu]"
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
The `openstef` meta-package always ships the CPU builds; for GPU, install the
|
|
85
|
+
component package directly with its `[gpu]` extra.
|
|
86
|
+
|
|
96
87
|
Using [uv](https://docs.astral.sh/uv/) (recommended for development):
|
|
97
88
|
|
|
98
89
|
```bash
|
|
99
90
|
uv add openstef
|
|
100
91
|
```
|
|
101
92
|
|
|
102
|
-
For the complete installation guide including troubleshooting, see the [Installation Documentation](https://openstef.github.io/openstef/user_guide/installation.html).
|
|
93
|
+
For the complete installation guide including troubleshooting, see the [Installation Documentation](https://openstef.github.io/openstef/user_guide/getting_started/installation.html).
|
|
103
94
|
|
|
104
95
|
## Examples
|
|
105
96
|
|
|
@@ -108,7 +99,7 @@ Tutorials and usage examples are available in the [`examples/`](examples/) folde
|
|
|
108
99
|
- Forecasting quickstart
|
|
109
100
|
- Feature engineering
|
|
110
101
|
|
|
111
|
-
Additional tutorials are available in the [online documentation](https://openstef.github.io/openstef/
|
|
102
|
+
Additional tutorials are available in the [online documentation](https://openstef.github.io/openstef/examples.html).
|
|
112
103
|
|
|
113
104
|
## License
|
|
114
105
|
|
|
@@ -129,15 +120,18 @@ We welcome contributions to OpenSTEF 4.0!
|
|
|
129
120
|
### Quick Development Setup
|
|
130
121
|
|
|
131
122
|
```bash
|
|
132
|
-
# Clone and set up for development
|
|
123
|
+
# Clone and set up for development (one command installs the full CPU dev env)
|
|
133
124
|
git clone https://github.com/OpenSTEF/openstef.git
|
|
134
125
|
cd openstef
|
|
135
|
-
uv sync
|
|
126
|
+
uv sync
|
|
136
127
|
|
|
137
128
|
# Run tests and quality checks
|
|
138
129
|
uv run poe all
|
|
139
130
|
```
|
|
140
131
|
|
|
132
|
+
> GPU dev env (CUDA; Linux/Windows): `uv sync --no-default-groups --group dev-gpu`.
|
|
133
|
+
> Do not use `--all-groups`/`--all-extras` — the CPU and GPU runtimes conflict.
|
|
134
|
+
|
|
141
135
|
**Code of Conduct**: We follow the [Contributor Code of Conduct](https://openstef.github.io/openstef/contribute/code_of_conduct.html) to ensure a welcoming environment for all contributors.
|
|
142
136
|
## Citations
|
|
143
137
|
|
|
@@ -151,4 +145,4 @@ If you use OpenSTEF in your research or publications, please cite the project. R
|
|
|
151
145
|
- **Email:** openstef@lfenergy.org
|
|
152
146
|
- **Community meeting:** [OpenSTEF four-weekly community meeting](https://lf-energy.atlassian.net/wiki/spaces/OS/pages/32278358/OpenSTEF+four-weekly+community+meeting)
|
|
153
147
|
- **Issues:** [GitHub Issue Tracker](https://github.com/OpenSTEF/openstef/issues)
|
|
154
|
-
- **Support Guide:** [How to get help](https://openstef.github.io/openstef/project/support.html)
|
|
148
|
+
- **Support Guide:** [How to get help](https://openstef.github.io/openstef/project/support.html)
|