openstef 4.0.0.dev1__tar.gz → 4.0.1__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.0.1/.github/CODEOWNERS +7 -0
- openstef-4.0.1/.github/CODE_OF_CONDUCT.md +72 -0
- openstef-4.0.1/.github/CONTRIBUTING.md +39 -0
- openstef-4.0.1/.github/ISSUE_TEMPLATE/openstef-4-0-project-story.md +47 -0
- openstef-4.0.1/.github/dependabot.yml +63 -0
- openstef-4.0.1/.github/pr-labeler.yml +7 -0
- openstef-4.0.1/.github/workflows/_job_quality_check.yaml +68 -0
- openstef-4.0.1/.github/workflows/check.yaml +21 -0
- openstef-4.0.1/.github/workflows/citations.yaml +41 -0
- openstef-4.0.1/.github/workflows/docs.yaml +89 -0
- openstef-4.0.1/.github/workflows/pr-labeler.yaml +21 -0
- openstef-4.0.1/.github/workflows/release-dev.yaml +65 -0
- openstef-4.0.1/.github/workflows/release-v4.yaml +83 -0
- openstef-4.0.1/.gitignore +146 -0
- openstef-4.0.1/CITATION.cff +63 -0
- openstef-4.0.1/COMMITTERS.md +9 -0
- openstef-4.0.1/PKG-INFO +154 -0
- openstef-4.0.1/README.md +117 -0
- openstef-4.0.1/REUSE.toml +21 -0
- openstef-4.0.1/THIRD_PARTY_LICENSES.md +1291 -0
- openstef-4.0.1/docs/.gitkeep +3 -0
- openstef-4.0.1/docs/autosummary_cache.py +132 -0
- openstef-4.0.1/docs/autosummary_helpers.py +40 -0
- openstef-4.0.1/docs/pyproject.toml +48 -0
- openstef-4.0.1/docs/source/_figures/generate_concept_figures.py +351 -0
- openstef-4.0.1/docs/source/_figures/generate_guide_figures.py +272 -0
- openstef-4.0.1/docs/source/_static/css/custom.css +24 -0
- openstef-4.0.1/docs/source/_static/versions.json.license +3 -0
- openstef-4.0.1/docs/source/_templates/custom_class.rst +13 -0
- openstef-4.0.1/docs/source/_templates/custom_class_noindex.rst +14 -0
- openstef-4.0.1/docs/source/_templates/custom_function.rst +10 -0
- openstef-4.0.1/docs/source/_templates/module_overview.rst +71 -0
- openstef-4.0.1/docs/source/_templates/package_overview.rst +100 -0
- openstef-4.0.1/docs/source/api/beam.rst +23 -0
- openstef-4.0.1/docs/source/api/core.rst +26 -0
- openstef-4.0.1/docs/source/api/index.rst +102 -0
- openstef-4.0.1/docs/source/api/meta.rst +21 -0
- openstef-4.0.1/docs/source/api/models.rst +26 -0
- openstef-4.0.1/docs/source/conf.py +460 -0
- openstef-4.0.1/docs/source/contribute/_getting_help.rst +15 -0
- openstef-4.0.1/docs/source/contribute/code_of_conduct.rst +11 -0
- openstef-4.0.1/docs/source/contribute/code_style_guide.rst +1171 -0
- openstef-4.0.1/docs/source/contribute/contributing_guide.rst +276 -0
- openstef-4.0.1/docs/source/contribute/development_setup.rst +186 -0
- openstef-4.0.1/docs/source/contribute/development_workflow.rst +333 -0
- openstef-4.0.1/docs/source/contribute/document.rst +506 -0
- openstef-4.0.1/docs/source/contribute/index.rst +211 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/concepts/beam_diagram_1.mmd +17 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/concepts/beam_diagram_1.mmd.license +3 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/concepts/component_splitting_diagram_1.mmd +17 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/concepts/component_splitting_diagram_1.mmd.license +3 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/concepts/intro_to_energy_forecasting_diagram_1.mmd +11 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/concepts/intro_to_energy_forecasting_diagram_1.mmd.license +3 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/concepts/metalearning_diagram_1.mmd +24 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/concepts/metalearning_diagram_1.mmd.license +3 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/concepts/metalearning_diagram_2.mmd +14 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/concepts/metalearning_diagram_2.mmd.license +3 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/concepts/metalearning_diagram_3.mmd +20 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/concepts/metalearning_diagram_3.mmd.license +3 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/concepts/models_diagram_1.mmd +21 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/concepts/models_diagram_1.mmd.license +3 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/getting_started/migration_diagram_1.mmd +12 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/getting_started/migration_diagram_1.mmd.license +3 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/guides/datasets_diagram_1.mmd +17 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/guides/datasets_diagram_1.mmd.license +3 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/guides/datasets_diagram_2.mmd +17 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/guides/datasets_diagram_2.mmd.license +3 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/guides/deployment_diagram_1.mmd +16 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/guides/deployment_diagram_1.mmd.license +3 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/guides/deployment_diagram_2.mmd +20 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/guides/deployment_diagram_2.mmd.license +3 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/guides/forecasting_diagram_1.mmd +24 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/guides/forecasting_diagram_1.mmd.license +3 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/guides/probabilistic_forecasting_diagram_1.mmd +16 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/guides/probabilistic_forecasting_diagram_1.mmd.license +3 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_1.mmd +21 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_1.mmd.license +3 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_2.mmd +14 -0
- openstef-4.0.1/docs/source/diagrams/user_guide/guides/reliability_fallback_diagram_2.mmd.license +3 -0
- openstef-4.0.1/docs/source/examples.rst +120 -0
- openstef-4.0.1/docs/source/images/concepts/aggregation_comparison.svg +1 -0
- openstef-4.0.1/docs/source/images/concepts/aggregation_comparison.svg.license +3 -0
- openstef-4.0.1/docs/source/images/concepts/backtesting_simulation.gif +0 -0
- openstef-4.0.1/docs/source/images/concepts/backtesting_simulation.gif.license +3 -0
- openstef-4.0.1/docs/source/images/concepts/forecast_confidence_bands.svg +1 -0
- openstef-4.0.1/docs/source/images/concepts/forecast_confidence_bands.svg.license +3 -0
- openstef-4.0.1/docs/source/images/concepts/weekly_load_profile.svg +1 -0
- openstef-4.0.1/docs/source/images/concepts/weekly_load_profile.svg.license +3 -0
- openstef-4.0.1/docs/source/images/guides/calibration_plot.svg +1 -0
- openstef-4.0.1/docs/source/images/guides/calibration_plot.svg.license +3 -0
- openstef-4.0.1/docs/source/images/guides/flatline_detection.svg +2587 -0
- openstef-4.0.1/docs/source/images/guides/flatline_detection.svg.license +3 -0
- openstef-4.0.1/docs/source/images/guides/probabilistic_fan_chart.svg +1 -0
- openstef-4.0.1/docs/source/images/guides/probabilistic_fan_chart.svg.license +3 -0
- openstef-4.0.1/docs/source/images/methodology_train_predict.pptx.license +3 -0
- openstef-4.0.1/docs/source/images/methodology_train_predict.svg.license +3 -0
- openstef-4.0.1/docs/source/images/uncertainty_estimation.svg.license +3 -0
- openstef-4.0.1/docs/source/index.rst +176 -0
- openstef-4.0.1/docs/source/logos/favicon.ico.license +3 -0
- openstef-4.0.1/docs/source/logos/logo_openstef_small.png.license +3 -0
- openstef-4.0.1/docs/source/logos/openstef-horizontal-color.svg.license +3 -0
- openstef-4.0.1/docs/source/logos/openstef-horizontal-white.svg.license +3 -0
- openstef-4.0.1/docs/source/project/citing.rst +40 -0
- openstef-4.0.1/docs/source/project/committee.rst +29 -0
- openstef-4.0.1/docs/source/project/index.rst +38 -0
- openstef-4.0.1/docs/source/project/license.rst +24 -0
- openstef-4.0.1/docs/source/project/maintainers.rst +27 -0
- openstef-4.0.1/docs/source/project/support.rst +30 -0
- openstef-4.0.1/docs/source/user_guide/concepts/beam.rst +235 -0
- openstef-4.0.1/docs/source/user_guide/concepts/component_splitting.rst +189 -0
- openstef-4.0.1/docs/source/user_guide/concepts/index.rst +55 -0
- openstef-4.0.1/docs/source/user_guide/concepts/intro_to_energy_forecasting.rst +173 -0
- openstef-4.0.1/docs/source/user_guide/concepts/metalearning.rst +131 -0
- openstef-4.0.1/docs/source/user_guide/concepts/models.rst +202 -0
- openstef-4.0.1/docs/source/user_guide/external_resources.rst +13 -0
- openstef-4.0.1/docs/source/user_guide/getting_started/index.rst +41 -0
- openstef-4.0.1/docs/source/user_guide/getting_started/installation.rst +397 -0
- openstef-4.0.1/docs/source/user_guide/getting_started/migration.rst +320 -0
- openstef-4.0.1/docs/source/user_guide/guides/deployment.rst +176 -0
- openstef-4.0.1/docs/source/user_guide/guides/forecasting.rst +156 -0
- openstef-4.0.1/docs/source/user_guide/guides/index.rst +76 -0
- openstef-4.0.1/docs/source/user_guide/guides/probabilistic_forecasting.rst +229 -0
- openstef-4.0.1/docs/source/user_guide/guides/reliability_fallback.rst +270 -0
- openstef-4.0.1/docs/source/user_guide/index.rst +51 -0
- openstef-4.0.1/docs/source/user_guide/intro/index.rst +17 -0
- openstef-4.0.1/docs/source/user_guide/intro/methodology_train_predict.rst +29 -0
- openstef-4.0.1/docs/source/user_guide/logging.rst +218 -0
- openstef-4.0.1/docs/source/user_guide/tutorials.rst +14 -0
- openstef-4.0.1/docs/sync_sources.py +65 -0
- openstef-4.0.1/examples/.gitkeep +3 -0
- openstef-4.0.1/examples/README.md +13 -0
- openstef-4.0.1/examples/__init__.py +4 -0
- openstef-4.0.1/examples/benchmarks/README.md +40 -0
- openstef-4.0.1/examples/benchmarks/__init__.py +4 -0
- openstef-4.0.1/examples/benchmarks/custom/README.md +136 -0
- openstef-4.0.1/examples/benchmarks/custom/__init__.py +4 -0
- openstef-4.0.1/examples/benchmarks/custom/compare_benchmark_runs.ipynb +130 -0
- openstef-4.0.1/examples/benchmarks/custom/compare_benchmark_runs.ipynb.license +3 -0
- openstef-4.0.1/examples/benchmarks/custom/compare_benchmark_runs.py +88 -0
- openstef-4.0.1/examples/benchmarks/custom/custom_benchmark.ipynb +307 -0
- openstef-4.0.1/examples/benchmarks/custom/custom_benchmark.ipynb.license +3 -0
- openstef-4.0.1/examples/benchmarks/custom/custom_benchmark.py +246 -0
- openstef-4.0.1/examples/benchmarks/custom/custom_forecaster.ipynb +176 -0
- openstef-4.0.1/examples/benchmarks/custom/custom_forecaster.ipynb.license +3 -0
- openstef-4.0.1/examples/benchmarks/custom/custom_forecaster.py +139 -0
- openstef-4.0.1/examples/benchmarks/custom/evaluate_existing_forecasts.ipynb +241 -0
- openstef-4.0.1/examples/benchmarks/custom/evaluate_existing_forecasts.ipynb.license +3 -0
- openstef-4.0.1/examples/benchmarks/custom/evaluate_existing_forecasts.py +176 -0
- openstef-4.0.1/examples/benchmarks/custom/run_custom_benchmark.ipynb +204 -0
- openstef-4.0.1/examples/benchmarks/custom/run_custom_benchmark.ipynb.license +3 -0
- openstef-4.0.1/examples/benchmarks/custom/run_custom_benchmark.py +138 -0
- openstef-4.0.1/examples/benchmarks/custom/run_liander2024_benchmark.ipynb +216 -0
- openstef-4.0.1/examples/benchmarks/custom/run_liander2024_benchmark.ipynb.license +3 -0
- openstef-4.0.1/examples/benchmarks/custom/run_liander2024_benchmark.py +150 -0
- openstef-4.0.1/examples/benchmarks/liander2024/README.md +26 -0
- openstef-4.0.1/examples/benchmarks/liander2024/__init__.py +4 -0
- openstef-4.0.1/examples/benchmarks/liander2024/compare_benchmark_runs.ipynb +149 -0
- openstef-4.0.1/examples/benchmarks/liander2024/compare_benchmark_runs.ipynb.license +3 -0
- openstef-4.0.1/examples/benchmarks/liander2024/compare_benchmark_runs.py +95 -0
- openstef-4.0.1/examples/benchmarks/liander2024/run_ensemble_benchmark.ipynb +266 -0
- openstef-4.0.1/examples/benchmarks/liander2024/run_ensemble_benchmark.ipynb.license +3 -0
- openstef-4.0.1/examples/benchmarks/liander2024/run_ensemble_benchmark.py +188 -0
- openstef-4.0.1/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.ipynb +240 -0
- openstef-4.0.1/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.ipynb.license +3 -0
- openstef-4.0.1/examples/benchmarks/liander2024/run_xgboost_gblinear_benchmark.py +174 -0
- openstef-4.0.1/examples/pyproject.toml +28 -0
- openstef-4.0.1/examples/tutorials/.gitignore +16 -0
- openstef-4.0.1/examples/tutorials/backtesting_quickstart.ipynb +441 -0
- openstef-4.0.1/examples/tutorials/backtesting_quickstart.py +318 -0
- openstef-4.0.1/examples/tutorials/custom_pipeline.ipynb +498 -0
- openstef-4.0.1/examples/tutorials/custom_pipeline.py +319 -0
- openstef-4.0.1/examples/tutorials/datasets.py +517 -0
- openstef-4.0.1/examples/tutorials/ensemble_forecasting.ipynb +535 -0
- openstef-4.0.1/examples/tutorials/ensemble_forecasting.py +348 -0
- openstef-4.0.1/examples/tutorials/feature_engineering.ipynb +1556 -0
- openstef-4.0.1/examples/tutorials/feature_engineering.py +1074 -0
- openstef-4.0.1/examples/tutorials/forecasting_quickstart.ipynb +358 -0
- openstef-4.0.1/examples/tutorials/forecasting_quickstart.py +227 -0
- openstef-4.0.1/examples/tutorials/hyperparameter_tuning_with_optuna.ipynb +527 -0
- openstef-4.0.1/examples/tutorials/hyperparameter_tuning_with_optuna.py +341 -0
- openstef-4.0.1/examples/tutorials/model_explainability.ipynb +346 -0
- openstef-4.0.1/examples/tutorials/model_explainability.py +202 -0
- openstef-4.0.1/examples/tutorials/quantile_calibration.ipynb +375 -0
- openstef-4.0.1/examples/tutorials/quantile_calibration.py +255 -0
- openstef-4.0.1/packages/openstef-beam/README.md +7 -0
- openstef-4.0.1/packages/openstef-beam/pyproject.toml +57 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/__init__.py +43 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/__init__.py +32 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/analysis_pipeline.py +194 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/models/__init__.py +24 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/models/target_metadata.py +97 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/models/visualization_aggregation.py +61 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/models/visualization_output.py +93 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/plots/__init__.py +27 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/plots/forecast_time_series_plotter.py +683 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/plots/grouped_target_metric_plotter.py +173 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/plots/precision_recall_curve_plotter.py +151 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/plots/quantile_calibration_box_plotter.py +196 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/plots/quantile_probability_plotter.py +153 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/plots/summary_table_plotter.py +80 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/plots/windowed_metric_plotter.py +141 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/__init__.py +33 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/base.py +250 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/grouped_target_metric_visualization.py +351 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/precision_recall_curve_visualization.py +195 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/quantile_calibration_box_visualization.py +240 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/quantile_probability_visualization.py +221 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/summary_table_visualization.py +311 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/timeseries_visualization.py +155 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/windowed_metric_visualization.py +429 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/backtesting/__init__.py +23 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_callback.py +9 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_event.py +57 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_event_generator.py +207 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/__init__.py +25 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/dummy_forecaster.py +73 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/mixins.py +236 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_pipeline.py +301 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/backtesting/restricted_horizon_timeseries.py +72 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/__init__.py +55 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/baselines/__init__.py +17 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/baselines/openstef4.py +243 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/benchmark_comparison_pipeline.py +255 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/benchmark_pipeline.py +420 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/benchmarks/__init__.py +14 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/benchmarks/liander2024.py +239 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/__init__.py +10 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/base.py +230 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/strict_execution_callback.py +39 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/models/__init__.py +9 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/models/benchmark_target.py +116 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/storage/__init__.py +16 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/storage/base.py +254 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/storage/local_storage.py +163 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/storage/s3_storage.py +193 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/benchmarking/target_provider.py +412 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/evaluation/__init__.py +43 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/evaluation/evaluation_pipeline.py +316 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/evaluation/metric_providers.py +753 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/evaluation/models/__init__.py +21 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/evaluation/models/report.py +150 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/evaluation/models/subset.py +100 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/evaluation/models/window.py +132 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/evaluation/window_iterators.py +117 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/metrics/__init__.py +58 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/metrics/metrics_deterministic.py +625 -0
- openstef-4.0.1/packages/openstef-beam/src/openstef_beam/metrics/metrics_probabilistic.py +273 -0
- openstef-4.0.1/packages/openstef-beam/tests/__init__.py +3 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/__init__.py +3 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/plots/test_forecast_time_series_plotter.py +467 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/plots/test_grouped_target_metric_plotter.py +114 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/plots/test_precision_recall_curve_plotter.py +100 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/plots/test_quantile_calibration_box_plotter.py +114 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/plots/test_quantile_probability_plotter.py +124 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/plots/test_summary_table_plotter.py +25 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/plots/test_windowed_metric_plotter.py +91 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/test_analysis_pipeline.py +296 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/visualizations/conftest.py +194 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/visualizations/test_grouped_target_metric_visualization.py +468 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/visualizations/test_precision_recall_curve_visualization.py +217 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/visualizations/test_quantile_calibration_box_visualization.py +282 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/visualizations/test_quantile_probability_visualization.py +241 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/visualizations/test_summary_table_visualization.py +186 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/visualizations/test_timeseries_visualization.py +162 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/analysis/visualizations/test_windowed_metric_visualization.py +496 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/backtesting/test_backtest_event_generator.py +220 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/backtesting/test_backtest_pipeline.py +382 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/backtesting/test_batch_prediction.py +212 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/benchmarking/baselines/__init__.py +3 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/benchmarking/baselines/test_openstef4.py +182 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/benchmarking/storage/test_local_storage.py +300 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/benchmarking/storage/test_s3_storage.py +287 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/benchmarking/test_benchmark_pipeline.py +443 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/benchmarking/test_target_provider.py +158 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/evaluation/__init__.py +3 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/evaluation/models/__init__.py +3 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/evaluation/models/test_window.py +72 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/evaluation/test_evaluation_pipeline.py +153 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/evaluation/test_metric_provider.py +123 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/evaluation/test_window_iterators.py +87 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/metrics/test_metrics_deterministic.py +590 -0
- openstef-4.0.1/packages/openstef-beam/tests/unit/metrics/test_metrics_probabilistic.py +186 -0
- openstef-4.0.1/packages/openstef-beam/tests/utils/mocks.py +109 -0
- openstef-4.0.1/packages/openstef-core/README.md +7 -0
- openstef-4.0.1/packages/openstef-core/pyproject.toml +49 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/__init__.py +4 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/base_model.py +205 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/constants.py +10 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/datasets/__init__.py +37 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/datasets/mixins.py +221 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/datasets/timeseries_dataset.py +521 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/datasets/validated_datasets.py +616 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/datasets/validation.py +150 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/datasets/versioned_timeseries_dataset.py +338 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/exceptions.py +217 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/mixins/__init__.py +24 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/mixins/param_ranges.py +131 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/mixins/predictor.py +307 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/mixins/stateful.py +132 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/mixins/transform.py +184 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/testing.py +306 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/transforms/__init__.py +17 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/transforms/dataset_transforms.py +82 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/types.py +453 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/utils/__init__.py +34 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/utils/datetime.py +109 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/utils/invariants.py +31 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/utils/itertools.py +108 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/utils/multiprocessing.py +77 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/utils/pandas.py +105 -0
- openstef-4.0.1/packages/openstef-core/src/openstef_core/utils/pydantic.py +59 -0
- openstef-4.0.1/packages/openstef-core/tests/__init__.py +3 -0
- openstef-4.0.1/packages/openstef-core/tests/unit/datasets/test_mixins.py +55 -0
- openstef-4.0.1/packages/openstef-core/tests/unit/datasets/test_timeseries_dataset.py +337 -0
- openstef-4.0.1/packages/openstef-core/tests/unit/datasets/test_validation.py +160 -0
- openstef-4.0.1/packages/openstef-core/tests/unit/datasets/test_versioned_timeseries_dataset.py +345 -0
- openstef-4.0.1/packages/openstef-core/tests/unit/datasets/utils.py +28 -0
- openstef-4.0.1/packages/openstef-core/tests/unit/mixins/test_stateful.py +118 -0
- openstef-4.0.1/packages/openstef-core/tests/unit/mixins/test_transform.py +132 -0
- openstef-4.0.1/packages/openstef-core/tests/unit/test_base_model.py +66 -0
- openstef-4.0.1/packages/openstef-core/tests/unit/test_hyperparams_tuning.py +115 -0
- openstef-4.0.1/packages/openstef-core/tests/unit/test_param_ranges.py +112 -0
- openstef-4.0.1/packages/openstef-core/tests/unit/test_types.py +456 -0
- openstef-4.0.1/packages/openstef-core/tests/unit/utils/test_datetime.py +159 -0
- openstef-4.0.1/packages/openstef-core/tests/unit/utils/test_itertools.py +100 -0
- openstef-4.0.1/packages/openstef-core/tests/unit/utils/test_multiprocessing.py +51 -0
- openstef-4.0.1/packages/openstef-core/tests/unit/utils/test_pandas.py +56 -0
- openstef-4.0.1/packages/openstef-meta/pyproject.toml +42 -0
- openstef-4.0.1/packages/openstef-meta/src/openstef_meta/__init__.py +13 -0
- openstef-4.0.1/packages/openstef-meta/src/openstef_meta/models/__init__.py +5 -0
- openstef-4.0.1/packages/openstef-meta/src/openstef_meta/models/ensemble_forecasting_model.py +677 -0
- openstef-4.0.1/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/__init__.py +25 -0
- openstef-4.0.1/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/forecast_combiner.py +129 -0
- openstef-4.0.1/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/learned_weights_combiner.py +397 -0
- openstef-4.0.1/packages/openstef-meta/src/openstef_meta/models/forecast_combiners/stacking_combiner.py +133 -0
- openstef-4.0.1/packages/openstef-meta/src/openstef_meta/presets/__init__.py +12 -0
- openstef-4.0.1/packages/openstef-meta/src/openstef_meta/presets/forecasting_workflow.py +645 -0
- openstef-4.0.1/packages/openstef-meta/src/openstef_meta/utils/__init__.py +9 -0
- openstef-4.0.1/packages/openstef-meta/src/openstef_meta/utils/datasets.py +48 -0
- openstef-4.0.1/packages/openstef-meta/tests/integration/test_ensemble_forecasting_model.py +104 -0
- openstef-4.0.1/packages/openstef-meta/tests/unit/integrations/__init__.py +3 -0
- openstef-4.0.1/packages/openstef-meta/tests/unit/integrations/test_mlflow_storage_callback_ensemble.py +321 -0
- openstef-4.0.1/packages/openstef-meta/tests/unit/models/forecast_combiners/conftest.py +58 -0
- openstef-4.0.1/packages/openstef-meta/tests/unit/models/forecast_combiners/test_learned_weights_combiner.py +168 -0
- openstef-4.0.1/packages/openstef-meta/tests/unit/models/forecast_combiners/test_stacking_combiner.py +100 -0
- openstef-4.0.1/packages/openstef-meta/tests/unit/models/test_ensemble_forecasting_model.py +208 -0
- openstef-4.0.1/packages/openstef-meta/tests/unit/utils/test_datasets.py +79 -0
- openstef-4.0.1/packages/openstef-models/README.md +7 -0
- openstef-4.0.1/packages/openstef-models/pyproject.toml +59 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/__init__.py +13 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/explainability/__init__.py +18 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/explainability/mixins.py +126 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/explainability/plotters/__init__.py +17 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/explainability/plotters/contributions_plotter.py +228 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/explainability/plotters/feature_importance_plotter.py +59 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/integrations/__init__.py +12 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/integrations/joblib/__init__.py +15 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/integrations/joblib/joblib_model_serializer.py +68 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/integrations/mlflow/__init__.py +26 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/integrations/mlflow/mlflow_storage.py +332 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/integrations/mlflow/mlflow_storage_callback.py +383 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/integrations/optuna/__init__.py +23 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/integrations/optuna/tuner.py +354 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/mixins/__init__.py +14 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/mixins/callbacks.py +93 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/mixins/model_serializer.py +72 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/models/__init__.py +18 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/models/component_splitting/__init__.py +17 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/models/component_splitting/component_splitter.py +65 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/models/component_splitting/constant_component_splitter.py +152 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter.py +212 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter_model/linear_component_splitter_model.z.license +3 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/models/component_splitting_model.py +119 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/models/forecasting/__init__.py +9 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/models/forecasting/base_case_forecaster.py +177 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/models/forecasting/constant_quantile_forecaster.py +127 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/models/forecasting/flatliner_forecaster.py +111 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/models/forecasting/forecaster.py +140 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/models/forecasting/gblinear_forecaster.py +335 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/models/forecasting/lgbm_forecaster.py +342 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/models/forecasting/lgbmlinear_forecaster.py +344 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/models/forecasting/median_forecaster.py +320 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/models/forecasting/xgboost_forecaster.py +414 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/models/forecasting_model.py +609 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/presets/__init__.py +19 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/presets/forecasting_workflow.py +590 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/testing.py +98 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/__init__.py +26 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/energy_domain/__init__.py +14 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/energy_domain/wind_power_feature_adder.py +135 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/general/__init__.py +37 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/general/dimensionality_reducer.py +138 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/general/empty_feature_remover.py +120 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/general/flagger.py +97 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/general/imputer.py +278 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/general/nan_dropper.py +89 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/general/outlier_handler.py +178 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/general/sample_weighter.py +309 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/general/scaler.py +122 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/general/selector.py +83 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/general/shifter.py +130 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/postprocessing/__init__.py +16 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/postprocessing/confidence_interval_applicator.py +232 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/postprocessing/isotonic_quantile_calibrator.py +229 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/postprocessing/quantile_sorter.py +78 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/time_domain/__init__.py +29 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/time_domain/cyclic_features_adder.py +171 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/time_domain/datetime_features_adder.py +111 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/time_domain/holiday_features_adder.py +188 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/time_domain/lags_adder.py +388 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/time_domain/rolling_aggregates_adder.py +170 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/time_domain/versioned_lags_adder.py +139 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/validation/__init__.py +16 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/validation/completeness_checker.py +123 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/validation/flatline_checker.py +152 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/validation/input_consistency_checker.py +67 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/weather_domain/__init__.py +20 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/weather_domain/atmosphere_derived_features_adder.py +205 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/weather_domain/daylight_feature_adder.py +74 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/transforms/weather_domain/radiation_derived_features_adder.py +165 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/utils/__init__.py +9 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/utils/data_split.py +346 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/utils/evaluation_functions.py +30 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/utils/feature_selection.py +225 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/utils/loss_functions.py +256 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/utils/multi_quantile_regressor.py +157 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/utils/xgboost.py +45 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/workflows/__init__.py +16 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/workflows/callbacks/__init__.py +13 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/workflows/callbacks/data_save.py +108 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/workflows/callbacks/model_performance_callback.py +92 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/workflows/custom_component_split_workflow.py +154 -0
- openstef-4.0.1/packages/openstef-models/src/openstef_models/workflows/custom_forecasting_workflow.py +206 -0
- openstef-4.0.1/packages/openstef-models/tests/__init__.py +3 -0
- openstef-4.0.1/packages/openstef-models/tests/integration/test_integration.py +17 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/explainability/plotters/test_contributions_plotter.py +219 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/integrations/__init__.py +5 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/integrations/joblib/__init__.py +5 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/integrations/joblib/test_joblib_model_serializer.py +36 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/integrations/mlflow/__init__.py +3 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/integrations/mlflow/test_mlflow_storage.py +192 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/integrations/mlflow/test_mlflow_storage_callback.py +291 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/integrations/optuna/test_tuner.py +304 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/models/component_splitting/__init__.py +3 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/models/component_splitting/test_constant_component_splitter.py +144 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/models/component_splitting/test_linear_component_splitter.py +92 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/models/forecasting/conftest.py +59 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/models/forecasting/test_base_case_forecaster.py +264 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/models/forecasting/test_constant_quantile_forecaster.py +109 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/models/forecasting/test_flatliner_forecaster.py +66 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/models/forecasting/test_gblinear_forecaster.py +159 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/models/forecasting/test_lgbm_forecaster.py +173 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/models/forecasting/test_lgbmlinear_forecaster.py +147 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/models/forecasting/test_median_forecaster.py +460 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/models/forecasting/test_xgboost_forecaster.py +194 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/models/test_forecasting_model.py +301 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/test_example.py +7 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/__init__.py +0 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/energy_domain/__init__.py +0 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/energy_domain/test_wind_power_feature_adder.py +118 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/general/__init__.py +0 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/general/test_dimensionality_reducer.py +115 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/general/test_empty_feature_remover.py +148 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/general/test_flagger.py +61 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/general/test_imputer.py +396 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/general/test_nan_dropper.py +48 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/general/test_outlier_handler.py +234 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/general/test_sample_weighter.py +280 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/general/test_scaler.py +129 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/general/test_selector.py +82 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/general/test_shifter.py +174 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/postprocessing/__init__.py +5 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/postprocessing/test_confidence_interval_applicator.py +203 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/postprocessing/test_isotonic_quantile_calibrator.py +200 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/postprocessing/test_quantile_sorter.py +48 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/time_domain/__init__.py +0 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/time_domain/test_cyclic_features_adder.py +117 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/time_domain/test_datetime_features_adder.py +118 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/time_domain/test_holiday_features_adder.py +190 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/time_domain/test_lags_adder.py +535 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/time_domain/test_rolling_aggregates_adder.py +242 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/time_domain/test_versioned_lags_adder.py +225 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/validation/__init__.py +0 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/validation/test_completeness_checker.py +169 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/validation/test_flatline_checker.py +149 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/validation/test_input_consistency_checker.py +81 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/weather_domain/__init__.py +0 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/weather_domain/test_atmosphere_derived_features_adder.py +113 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/weather_domain/test_daylight_feature_adder.py +102 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/transforms/weather_domain/test_radiation_derived_featuers_adder.py +343 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/utils/__init__.py +3 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/utils/test_data_split.py +162 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/utils/test_feature_selection.py +125 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/utils/test_loss_functions.py +416 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/utils/test_multi_quantile_regressor.py +118 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/workflows/__init__.py +0 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/workflows/callbacks/__init__.py +0 -0
- openstef-4.0.1/packages/openstef-models/tests/unit/workflows/callbacks/test_model_performance_callback.py +83 -0
- openstef-4.0.1/pyproject.toml +441 -0
- openstef-4.0.1/sonar-project.properties +18 -0
- openstef-4.0.1/tools/check_notebook_outputs.py +37 -0
- openstef-4.0.1/tools/reuse-fix.py +390 -0
- openstef-4.0.1/uv.lock +5691 -0
- openstef-4.0.0.dev1/.github/CODE_OF_CONDUCT.md +0 -72
- openstef-4.0.0.dev1/.github/CONTRIBUTING.md +0 -39
- openstef-4.0.0.dev1/.github/ISSUE_TEMPLATE/openstef-4-0-project-story.md +0 -42
- openstef-4.0.0.dev1/.github/pr-labeler.yml +0 -7
- openstef-4.0.0.dev1/.github/workflows/_job_quality_check.yaml +0 -65
- openstef-4.0.0.dev1/.github/workflows/check.yaml +0 -21
- openstef-4.0.0.dev1/.github/workflows/citations.yaml +0 -38
- openstef-4.0.0.dev1/.github/workflows/docs.yaml +0 -80
- openstef-4.0.0.dev1/.github/workflows/pr-labeler.yaml +0 -21
- openstef-4.0.0.dev1/.github/workflows/release-dev.yaml +0 -65
- openstef-4.0.0.dev1/.github/workflows/release-v4.yaml +0 -83
- openstef-4.0.0.dev1/.gitignore +0 -127
- openstef-4.0.0.dev1/CITATION.cff +0 -63
- openstef-4.0.0.dev1/COMMITTERS.md +0 -9
- openstef-4.0.0.dev1/PKG-INFO +0 -178
- openstef-4.0.0.dev1/README.md +0 -145
- openstef-4.0.0.dev1/REUSE.toml +0 -20
- openstef-4.0.0.dev1/THIRD_PARTY_LICENSES.md +0 -1292
- openstef-4.0.0.dev1/docs/.gitkeep +0 -3
- openstef-4.0.0.dev1/docs/pyproject.toml +0 -39
- openstef-4.0.0.dev1/docs/source/_static/css/custom.css +0 -10
- openstef-4.0.0.dev1/docs/source/_static/versions.json.license +0 -3
- openstef-4.0.0.dev1/docs/source/_templates/custom_class.rst +0 -12
- openstef-4.0.0.dev1/docs/source/_templates/custom_function.rst +0 -10
- openstef-4.0.0.dev1/docs/source/_templates/module_overview.rst +0 -54
- openstef-4.0.0.dev1/docs/source/_templates/package_overview.rst +0 -99
- openstef-4.0.0.dev1/docs/source/api/index.rst +0 -89
- openstef-4.0.0.dev1/docs/source/changelog.rst +0 -12
- openstef-4.0.0.dev1/docs/source/conf.py +0 -325
- openstef-4.0.0.dev1/docs/source/contribute/_getting_help.rst +0 -15
- openstef-4.0.0.dev1/docs/source/contribute/code_of_conduct.rst +0 -11
- openstef-4.0.0.dev1/docs/source/contribute/code_style_guide.rst +0 -1171
- openstef-4.0.0.dev1/docs/source/contribute/contributing_guide.rst +0 -276
- openstef-4.0.0.dev1/docs/source/contribute/development_setup.rst +0 -186
- openstef-4.0.0.dev1/docs/source/contribute/development_workflow.rst +0 -333
- openstef-4.0.0.dev1/docs/source/contribute/document.rst +0 -400
- openstef-4.0.0.dev1/docs/source/contribute/index.rst +0 -211
- openstef-4.0.0.dev1/docs/source/examples.rst +0 -12
- openstef-4.0.0.dev1/docs/source/images/methodology_train_predict.pptx.license +0 -3
- openstef-4.0.0.dev1/docs/source/images/methodology_train_predict.svg.license +0 -3
- openstef-4.0.0.dev1/docs/source/images/uncertainty_estimation.svg.license +0 -3
- openstef-4.0.0.dev1/docs/source/index.rst +0 -171
- openstef-4.0.0.dev1/docs/source/logos/favicon.ico.license +0 -3
- openstef-4.0.0.dev1/docs/source/logos/logo_openstef_small.png.license +0 -3
- openstef-4.0.0.dev1/docs/source/logos/openstef-horizontal-color.svg.license +0 -3
- openstef-4.0.0.dev1/docs/source/logos/openstef-horizontal-white.svg.license +0 -3
- openstef-4.0.0.dev1/docs/source/project/citing.rst +0 -40
- openstef-4.0.0.dev1/docs/source/project/committee.rst +0 -29
- openstef-4.0.0.dev1/docs/source/project/index.rst +0 -37
- openstef-4.0.0.dev1/docs/source/project/license.rst +0 -24
- openstef-4.0.0.dev1/docs/source/project/maintainers.rst +0 -27
- openstef-4.0.0.dev1/docs/source/project/support.rst +0 -30
- openstef-4.0.0.dev1/docs/source/user_guide/external_resources.rst +0 -13
- openstef-4.0.0.dev1/docs/source/user_guide/index.rst +0 -20
- openstef-4.0.0.dev1/docs/source/user_guide/installation.rst +0 -399
- openstef-4.0.0.dev1/docs/source/user_guide/intro/index.rst +0 -15
- openstef-4.0.0.dev1/docs/source/user_guide/intro/methodology_train_predict.rst +0 -29
- openstef-4.0.0.dev1/docs/source/user_guide/logging.rst +0 -356
- openstef-4.0.0.dev1/docs/source/user_guide/quick_start.rst +0 -13
- openstef-4.0.0.dev1/docs/source/user_guide/tutorials.rst +0 -12
- openstef-4.0.0.dev1/examples/.gitkeep +0 -3
- openstef-4.0.0.dev1/examples/benchmarks/liander_2024_benchmark_xgboost_gblinear.py +0 -163
- openstef-4.0.0.dev1/examples/benchmarks/liander_2024_compare_results.py +0 -50
- openstef-4.0.0.dev1/examples/examples/.gitignore +0 -5
- openstef-4.0.0.dev1/examples/examples/configuring_model_pipeline_example.py +0 -144
- openstef-4.0.0.dev1/examples/examples/forecasting_preset_example.py +0 -93
- openstef-4.0.0.dev1/packages/openstef-beam/README.md +0 -7
- openstef-4.0.0.dev1/packages/openstef-beam/pyproject.toml +0 -50
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/__init__.py +0 -42
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/__init__.py +0 -31
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/analysis_pipeline.py +0 -187
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/models/__init__.py +0 -24
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/models/target_metadata.py +0 -97
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/models/visualization_aggregation.py +0 -60
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/models/visualization_output.py +0 -93
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/plots/__init__.py +0 -27
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/plots/forecast_time_series_plotter.py +0 -674
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/plots/grouped_target_metric_plotter.py +0 -173
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/plots/precision_recall_curve_plotter.py +0 -149
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/plots/quantile_calibration_box_plotter.py +0 -196
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/plots/quantile_probability_plotter.py +0 -152
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/plots/summary_table_plotter.py +0 -79
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/plots/windowed_metric_plotter.py +0 -140
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/__init__.py +0 -33
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/base.py +0 -250
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/grouped_target_metric_visualization.py +0 -349
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/precision_recall_curve_visualization.py +0 -192
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/quantile_calibration_box_visualization.py +0 -239
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/quantile_probability_visualization.py +0 -220
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/summary_table_visualization.py +0 -309
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/timeseries_visualization.py +0 -150
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/analysis/visualizations/windowed_metric_visualization.py +0 -398
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/__init__.py +0 -22
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_callback.py +0 -9
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_event.py +0 -57
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_event_generator.py +0 -207
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/__init__.py +0 -29
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/dummy_forecaster.py +0 -73
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/mixins.py +0 -232
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_forecaster/openstef4_backtest_forecaster.py +0 -127
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/backtest_pipeline.py +0 -301
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/backtesting/restricted_horizon_timeseries.py +0 -72
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/__init__.py +0 -54
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/benchmark_comparison_pipeline.py +0 -249
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/benchmark_pipeline.py +0 -404
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/benchmarks/__init__.py +0 -14
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/benchmarks/liander2024.py +0 -239
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/__init__.py +0 -10
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/base.py +0 -228
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/callbacks/strict_execution_callback.py +0 -39
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/models/__init__.py +0 -9
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/models/benchmark_target.py +0 -116
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/storage/__init__.py +0 -16
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/storage/base.py +0 -252
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/storage/local_storage.py +0 -162
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/storage/s3_storage.py +0 -193
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/benchmarking/target_provider.py +0 -403
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/evaluation/__init__.py +0 -42
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/evaluation/evaluation_pipeline.py +0 -294
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/evaluation/metric_providers.py +0 -620
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/evaluation/models/__init__.py +0 -21
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/evaluation/models/report.py +0 -150
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/evaluation/models/subset.py +0 -83
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/evaluation/models/window.py +0 -106
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/evaluation/window_iterators.py +0 -95
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/metrics/__init__.py +0 -53
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/metrics/metrics_deterministic.py +0 -535
- openstef-4.0.0.dev1/packages/openstef-beam/src/openstef_beam/metrics/metrics_probabilistic.py +0 -272
- openstef-4.0.0.dev1/packages/openstef-beam/tests/__init__.py +0 -3
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/__init__.py +0 -3
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/plots/test_forecast_time_series_plotter.py +0 -467
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/plots/test_grouped_target_metric_plotter.py +0 -114
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/plots/test_precision_recall_curve_plotter.py +0 -100
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/plots/test_quantile_calibration_box_plotter.py +0 -114
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/plots/test_quantile_probability_plotter.py +0 -124
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/plots/test_summary_table_plotter.py +0 -25
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/plots/test_windowed_metric_plotter.py +0 -91
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/test_analysis_pipeline.py +0 -296
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/visualizations/conftest.py +0 -194
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/visualizations/test_grouped_target_metric_visualization.py +0 -468
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/visualizations/test_precision_recall_curve_visualization.py +0 -217
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/visualizations/test_quantile_calibration_box_visualization.py +0 -282
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/visualizations/test_quantile_probability_visualization.py +0 -241
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/visualizations/test_summary_table_visualization.py +0 -186
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/visualizations/test_timeseries_visualization.py +0 -165
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/analysis/visualizations/test_windowed_metric_visualization.py +0 -493
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/backtesting/test_backtest_event_generator.py +0 -220
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/backtesting/test_backtest_pipeline.py +0 -383
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/backtesting/test_batch_prediction.py +0 -212
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/benchmarking/storage/test_local_storage.py +0 -300
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/benchmarking/storage/test_s3_storage.py +0 -287
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/benchmarking/test_benchmark_pipeline.py +0 -443
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/benchmarking/test_target_provider.py +0 -158
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/evaluation/__init__.py +0 -3
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/evaluation/models/__init__.py +0 -3
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/evaluation/models/test_window.py +0 -72
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/evaluation/test_evaluation_pipeline.py +0 -153
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/evaluation/test_metric_provider.py +0 -123
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/metrics/test_metrics_deterministic.py +0 -548
- openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/metrics/test_metrics_probabilistic.py +0 -186
- openstef-4.0.0.dev1/packages/openstef-beam/tests/utils/mocks.py +0 -109
- openstef-4.0.0.dev1/packages/openstef-core/README.md +0 -7
- openstef-4.0.0.dev1/packages/openstef-core/pyproject.toml +0 -45
- openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/__init__.py +0 -4
- openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/base_model.py +0 -183
- openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/datasets/__init__.py +0 -34
- openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/datasets/mixins.py +0 -218
- openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/datasets/timeseries_dataset.py +0 -466
- openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/datasets/validated_datasets.py +0 -416
- openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/datasets/validation.py +0 -150
- openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/datasets/versioned_timeseries_dataset.py +0 -338
- openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/exceptions.py +0 -199
- openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/mixins/__init__.py +0 -24
- openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/mixins/predictor.py +0 -208
- openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/mixins/stateful.py +0 -132
- openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/mixins/transform.py +0 -184
- openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/testing.py +0 -131
- openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/transforms/__init__.py +0 -17
- openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/transforms/dataset_transforms.py +0 -82
- openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/types.py +0 -302
- openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/utils/__init__.py +0 -34
- openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/utils/datetime.py +0 -109
- openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/utils/invariants.py +0 -31
- openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/utils/itertools.py +0 -108
- openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/utils/multiprocessing.py +0 -77
- openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/utils/pandas.py +0 -70
- openstef-4.0.0.dev1/packages/openstef-core/src/openstef_core/utils/pydantic.py +0 -59
- openstef-4.0.0.dev1/packages/openstef-core/tests/__init__.py +0 -3
- openstef-4.0.0.dev1/packages/openstef-core/tests/unit/datasets/test_mixins.py +0 -55
- openstef-4.0.0.dev1/packages/openstef-core/tests/unit/datasets/test_timeseries_dataset.py +0 -309
- openstef-4.0.0.dev1/packages/openstef-core/tests/unit/datasets/test_validation.py +0 -160
- openstef-4.0.0.dev1/packages/openstef-core/tests/unit/datasets/test_versioned_timeseries_dataset.py +0 -345
- openstef-4.0.0.dev1/packages/openstef-core/tests/unit/datasets/utils.py +0 -28
- openstef-4.0.0.dev1/packages/openstef-core/tests/unit/mixins/test_stateful.py +0 -118
- openstef-4.0.0.dev1/packages/openstef-core/tests/unit/mixins/test_transform.py +0 -132
- openstef-4.0.0.dev1/packages/openstef-core/tests/unit/test_base_model.py +0 -66
- openstef-4.0.0.dev1/packages/openstef-core/tests/unit/test_types.py +0 -82
- openstef-4.0.0.dev1/packages/openstef-core/tests/unit/utils/test_datetime.py +0 -159
- openstef-4.0.0.dev1/packages/openstef-core/tests/unit/utils/test_itertools.py +0 -100
- openstef-4.0.0.dev1/packages/openstef-core/tests/unit/utils/test_multiprocessing.py +0 -51
- openstef-4.0.0.dev1/packages/openstef-models/README.md +0 -7
- openstef-4.0.0.dev1/packages/openstef-models/pyproject.toml +0 -54
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/__init__.py +0 -13
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/explainability/__init__.py +0 -16
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/explainability/mixins.py +0 -58
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/explainability/plotters/__init__.py +0 -15
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/explainability/plotters/feature_importance_plotter.py +0 -59
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/integrations/__init__.py +0 -10
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/integrations/joblib/__init__.py +0 -15
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/integrations/joblib/joblib_model_serializer.py +0 -68
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/integrations/mlflow/__init__.py +0 -21
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/integrations/mlflow/mlflow_storage.py +0 -236
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/integrations/mlflow/mlflow_storage_callback.py +0 -239
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/mixins/__init__.py +0 -14
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/mixins/callbacks.py +0 -93
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/mixins/model_serializer.py +0 -72
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/__init__.py +0 -17
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/component_splitting/__init__.py +0 -17
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/component_splitting/component_splitter.py +0 -64
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/component_splitting/constant_component_splitter.py +0 -152
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter.py +0 -218
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter_model/linear_component_splitter_model.z.license +0 -3
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/component_splitting_model.py +0 -119
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/forecasting/__init__.py +0 -26
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/forecasting/base_case_forecaster.py +0 -199
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/forecasting/constant_median_forecaster.py +0 -143
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/forecasting/flatliner_forecaster.py +0 -104
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/forecasting/forecaster.py +0 -204
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/forecasting/gblinear_forecaster.py +0 -326
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/forecasting/xgboost_forecaster.py +0 -423
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/models/forecasting_model.py +0 -389
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/presets/__init__.py +0 -15
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/presets/forecasting_workflow.py +0 -386
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/__init__.py +0 -26
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/energy_domain/__init__.py +0 -14
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/energy_domain/wind_power_feature_adder.py +0 -135
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/general/__init__.py +0 -29
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/general/clipper.py +0 -121
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/general/dimensionality_reducer.py +0 -137
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/general/empty_feature_remover.py +0 -120
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/general/imputer.py +0 -276
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/general/nan_dropper.py +0 -89
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/general/sample_weighter.py +0 -184
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/general/scaler.py +0 -121
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/postprocessing/__init__.py +0 -15
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/postprocessing/confidence_interval_applicator.py +0 -218
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/postprocessing/quantile_sorter.py +0 -78
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/time_domain/__init__.py +0 -25
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/time_domain/cyclic_features_adder.py +0 -170
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/time_domain/datetime_features_adder.py +0 -110
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/time_domain/holiday_features_adder.py +0 -167
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/time_domain/lags_adder.py +0 -309
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/time_domain/rolling_aggregates_adder.py +0 -126
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/time_domain/versioned_lags_adder.py +0 -137
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/validation/__init__.py +0 -16
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/validation/completeness_checker.py +0 -123
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/validation/flatline_checker.py +0 -149
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/validation/input_consistency_checker.py +0 -67
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/weather_domain/__init__.py +0 -20
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/weather_domain/atmosphere_derived_features_adder.py +0 -205
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/weather_domain/daylight_feature_adder.py +0 -74
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/transforms/weather_domain/radiation_derived_features_adder.py +0 -164
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/utils/__init__.py +0 -9
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/utils/data_split.py +0 -340
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/utils/evaluation_functions.py +0 -30
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/utils/feature_selection.py +0 -100
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/utils/loss_functions.py +0 -254
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/workflows/__init__.py +0 -16
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/workflows/custom_component_split_workflow.py +0 -154
- openstef-4.0.0.dev1/packages/openstef-models/src/openstef_models/workflows/custom_forecasting_workflow.py +0 -196
- openstef-4.0.0.dev1/packages/openstef-models/tests/__init__.py +0 -3
- openstef-4.0.0.dev1/packages/openstef-models/tests/integration/test_integration.py +0 -17
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/integrations/__init__.py +0 -5
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/integrations/joblib/__init__.py +0 -5
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/integrations/joblib/test_joblib_model_serializer.py +0 -36
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/integrations/mlflow/__init__.py +0 -3
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/integrations/mlflow/test_mlflow_storage.py +0 -147
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/integrations/mlflow/test_mlflow_storage_callback.py +0 -257
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/component_splitting/__init__.py +0 -3
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/component_splitting/test_constant_component_splitter.py +0 -144
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/component_splitting/test_linear_component_splitter.py +0 -92
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/forecasting/test_base_case_forecaster.py +0 -272
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/forecasting/test_constant_median_forecaster.py +0 -92
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/forecasting/test_flatliner_forecaster.py +0 -32
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/forecasting/test_gblinear_forecaster.py +0 -134
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/forecasting/test_xgboost_forecaster.py +0 -169
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/test_forecasting_model.py +0 -241
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/test_example.py +0 -7
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/energy_domain/test_wind_power_feature_adder.py +0 -118
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/general/test_clipper.py +0 -116
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/general/test_dimensionality_reducer.py +0 -115
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/general/test_empty_feature_remover.py +0 -148
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/general/test_imputer.py +0 -396
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/general/test_nan_dropper.py +0 -48
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/general/test_sample_weighter.py +0 -97
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/general/test_scaler.py +0 -129
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/postprocessing/__init__.py +0 -5
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/postprocessing/test_confidence_interval_applicator.py +0 -161
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/postprocessing/test_quantile_sorter.py +0 -48
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/time_domain/test_cyclic_features_adder.py +0 -117
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/time_domain/test_datetime_features_adder.py +0 -118
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/time_domain/test_holiday_features_adder.py +0 -155
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/time_domain/test_lags_adder.py +0 -364
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/time_domain/test_rolling_aggregates_adder.py +0 -126
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/time_domain/test_versioned_lags_adder.py +0 -225
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/validation/test_completeness_checker.py +0 -169
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/validation/test_flatline_checker.py +0 -130
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/validation/test_input_consistency_checker.py +0 -81
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/weather_domain/test_atmosphere_derived_features_adder.py +0 -113
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/weather_domain/test_daylight_feature_adder.py +0 -102
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/weather_domain/test_radiation_derived_featuers_adder.py +0 -366
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/utils/__init__.py +0 -3
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/utils/test_data_split.py +0 -162
- openstef-4.0.0.dev1/packages/openstef-models/tests/unit/utils/test_loss_functions.py +0 -353
- openstef-4.0.0.dev1/pyproject.toml +0 -360
- openstef-4.0.0.dev1/tools/reuse-fix.py +0 -390
- openstef-4.0.0.dev1/uv.lock +0 -4450
- {openstef-4.0.0.dev1 → openstef-4.0.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/.python-version +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/LICENSE.md +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/LICENSES/MPL-2.0.txt +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/docs/README.md +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/docs/source/_static/css/.gitkeep +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/docs/source/_static/versions.json +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/docs/source/images/methodology_train_predict.pptx +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/docs/source/images/methodology_train_predict.svg +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/docs/source/images/uncertainty_estimation.svg +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/docs/source/js/.gitkeep +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/docs/source/logos/favicon.ico +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/docs/source/logos/logo_openstef_small.png +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/docs/source/logos/openstef-horizontal-color.svg +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/docs/source/logos/openstef-horizontal-white.svg +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-beam/tests/unit/analysis/__init__.py +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-beam/tests/unit/analysis/plots/__init__.py +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-beam/tests/unit/analysis/visualizations/__init__.py +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-beam/tests/unit/backtesting/__init__.py +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-beam/tests/unit/benchmarking/__init__.py +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-beam/tests/unit/benchmarking/storage/__init__.py +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-beam/tests/unit/metrics/__init__.py +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-beam/tests/utils/__init__.py +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-core/tests/unit/__init__.py +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-core/tests/unit/datasets/__init__.py +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-core/tests/unit/mixins/__init__.py +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-core/tests/unit/transforms/__init__.py +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-core/tests/unit/utils/__init__.py +0 -0
- /openstef-4.0.0.dev1/examples/deployment/.gitkeep → /openstef-4.0.1/packages/openstef-meta/README.md +0 -0
- {openstef-4.0.0.dev1/packages/openstef-models → openstef-4.0.1/packages/openstef-meta}/tests/integration/__init__.py +0 -0
- {openstef-4.0.0.dev1/packages/openstef-models/tests/unit → openstef-4.0.1/packages/openstef-meta/tests/unit/models}/__init__.py +0 -0
- {openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models/forecasting → openstef-4.0.1/packages/openstef-meta/tests/unit/models}/conftest.py +0 -0
- {openstef-4.0.0.dev1/packages/openstef-models/tests/unit/models → openstef-4.0.1/packages/openstef-meta/tests/unit/models/forecast_combiners}/__init__.py +0 -0
- {openstef-4.0.0.dev1/packages/openstef-models → openstef-4.0.1/packages/openstef-meta}/tests/unit/models/forecasting/__init__.py +0 -0
- {openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms → openstef-4.0.1/packages/openstef-meta/tests/unit/utils}/__init__.py +0 -0
- {openstef-4.0.0.dev1 → openstef-4.0.1}/packages/openstef-models/src/openstef_models/models/component_splitting/linear_component_splitter_model/linear_component_splitter_model.z +0 -0
- {openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/energy_domain → openstef-4.0.1/packages/openstef-models/tests/integration}/__init__.py +0 -0
- {openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/general → openstef-4.0.1/packages/openstef-models/tests/unit}/__init__.py +0 -0
- {openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/time_domain → openstef-4.0.1/packages/openstef-models/tests/unit/explainability}/__init__.py +0 -0
- {openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/validation → openstef-4.0.1/packages/openstef-models/tests/unit/explainability/plotters}/__init__.py +0 -0
- {openstef-4.0.0.dev1/packages/openstef-models/tests/unit/transforms/weather_domain → openstef-4.0.1/packages/openstef-models/tests/unit/integrations/optuna}/__init__.py +0 -0
- /openstef-4.0.0.dev1/examples/tutorials/.gitkeep → /openstef-4.0.1/packages/openstef-models/tests/unit/models/__init__.py +0 -0
- /openstef-4.0.0.dev1/packages/openstef-beam/tests/unit/evaluation/test_window_iterators.py → /openstef-4.0.1/packages/openstef-models/tests/unit/models/forecasting/__init__.py +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
|
|
5
|
+
# Require review from maintainers for CI/CD workflow changes
|
|
6
|
+
.github/workflows/ @OpenSTEF/openstef-maintainers
|
|
7
|
+
.github/CODEOWNERS @OpenSTEF/openstef-maintainers
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
SPDX-FileCopyrightText: 2017-2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
|
|
3
|
+
|
|
4
|
+
SPDX-License-Identifier: MPL-2.0
|
|
5
|
+
-->
|
|
6
|
+
|
|
7
|
+
# Code of Conduct
|
|
8
|
+
|
|
9
|
+
## Our Pledge
|
|
10
|
+
|
|
11
|
+
In the interest of fostering an open and welcoming environment, we as
|
|
12
|
+
contributors and maintainers pledge to making participation in our project and
|
|
13
|
+
our community a harassment-free experience for everyone, regardless of age, body
|
|
14
|
+
size, disability, ethnicity, gender identity and expression, level of
|
|
15
|
+
experience, education, socio-economic status, nationality, personal appearance,
|
|
16
|
+
race, religion, or sexual identity and orientation.
|
|
17
|
+
|
|
18
|
+
## Our Standards
|
|
19
|
+
|
|
20
|
+
Examples of behavior that contributes to creating a positive environment
|
|
21
|
+
include:
|
|
22
|
+
|
|
23
|
+
* Using welcoming and inclusive language
|
|
24
|
+
* Being respectful of differing viewpoints and experiences
|
|
25
|
+
* Gracefully accepting constructive criticism
|
|
26
|
+
* Focusing on what is best for the community
|
|
27
|
+
* Showing empathy towards other community members
|
|
28
|
+
|
|
29
|
+
Examples of unacceptable behavior by participants include:
|
|
30
|
+
|
|
31
|
+
* The use of sexualized language or imagery and unwelcome sexual attention or
|
|
32
|
+
advances
|
|
33
|
+
* Trolling, insulting/derogatory comments, and personal or political attacks
|
|
34
|
+
* Public or private harassment
|
|
35
|
+
* Publishing others' private information, such as a physical or electronic
|
|
36
|
+
address, without explicit permission
|
|
37
|
+
* Other conduct which could reasonably be considered inappropriate in a
|
|
38
|
+
professional setting
|
|
39
|
+
|
|
40
|
+
## Our Responsibilities
|
|
41
|
+
|
|
42
|
+
Project maintainers are responsible for clarifying the standards of acceptable
|
|
43
|
+
behavior and are expected to take appropriate and fair corrective action in
|
|
44
|
+
response to any instances of unacceptable behavior.
|
|
45
|
+
|
|
46
|
+
Project maintainers have the right and responsibility to remove, edit, or reject
|
|
47
|
+
comments, commits, code, wiki edits, issues, and other contributions that are
|
|
48
|
+
not aligned to this Code of Conduct, or to ban temporarily or permanently any
|
|
49
|
+
contributor for other behaviors that they deem inappropriate, threatening,
|
|
50
|
+
offensive, or harmful.
|
|
51
|
+
|
|
52
|
+
## Scope
|
|
53
|
+
|
|
54
|
+
This Code of Conduct applies both within project spaces and in public spaces
|
|
55
|
+
when an individual is representing the project or its community. Examples of
|
|
56
|
+
representing a project or community include using an official project e-mail
|
|
57
|
+
address, posting via an official social media account, or acting as an appointed
|
|
58
|
+
representative at an online or offline event. Representation of a project may be
|
|
59
|
+
further defined and clarified by project maintainers.
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
## Conflict Resolution
|
|
63
|
+
|
|
64
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at openstef@lfenergy.org. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
|
|
65
|
+
|
|
66
|
+
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project’s leadership.
|
|
67
|
+
|
|
68
|
+
## Attribution
|
|
69
|
+
|
|
70
|
+
This Code of Conduct is adapted from the Contributor Covenant, version 1.4,
|
|
71
|
+
available at
|
|
72
|
+
https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
SPDX-FileCopyrightText: 2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
|
|
3
|
+
|
|
4
|
+
SPDX-License-Identifier: MPL-2.0
|
|
5
|
+
-->
|
|
6
|
+
|
|
7
|
+
# Contributing to OpenSTEF
|
|
8
|
+
|
|
9
|
+
Thank you for your interest in contributing to OpenSTEF! 🚀
|
|
10
|
+
|
|
11
|
+
## Quick Start
|
|
12
|
+
|
|
13
|
+
1. **Read our contributing guide**: [openstef.github.io/openstef/contribute](https://openstef.github.io/openstef/contribute/index.html)
|
|
14
|
+
2. **Install dependencies**: `uv sync --group dev`
|
|
15
|
+
3. **Make your changes** and ensure all checks pass: `uv run poe all --check`
|
|
16
|
+
4. **Submit a pull request**
|
|
17
|
+
|
|
18
|
+
## Documentation
|
|
19
|
+
|
|
20
|
+
For information about:
|
|
21
|
+
|
|
22
|
+
- 🛠️ **Development setup** - Environment setup with uv and modern Python tools
|
|
23
|
+
- 🔄 **Development workflow** - Branch naming, commit messages, and PR process
|
|
24
|
+
- 📝 **Documentation guidelines** - Writing docs and examples
|
|
25
|
+
- 🧪 **Testing standards** - Writing and running tests
|
|
26
|
+
- 📋 **Style guide** - Code formatting and quality standards
|
|
27
|
+
|
|
28
|
+
**Visit our full contributing guide: [openstef.github.io/openstef/contribute](https://openstef.github.io/openstef/contribute/index.html)**
|
|
29
|
+
|
|
30
|
+
## Getting Help
|
|
31
|
+
|
|
32
|
+
- 💬 **Slack**: [LF Energy workspace](https://slack.lfenergy.org/) (#openstef channel)
|
|
33
|
+
- 🐛 **Issues**: [GitHub Issues](https://github.com/OpenSTEF/openstef/issues)
|
|
34
|
+
- 📧 **Email**: openstef@lfenergy.org
|
|
35
|
+
- 📖 **Support**: [Support page](https://openstef.github.io/openstef/project/support.html)
|
|
36
|
+
|
|
37
|
+
## Good First Issues
|
|
38
|
+
|
|
39
|
+
New contributors should look for [`good first issue`](https://github.com/OpenSTEF/openstef/labels/good%20first%20issue) labels!
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: OpenSTEF 4.0 Project Story
|
|
3
|
+
about: Describe this issue template's purpose here.
|
|
4
|
+
title: "[OpenSTEF 4.0] "
|
|
5
|
+
labels: OpenSTEF 4.0
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
As
|
|
11
|
+
I want to
|
|
12
|
+
So that I
|
|
13
|
+
|
|
14
|
+
🌍 Background
|
|
15
|
+
|
|
16
|
+
> [!IMPORTANT]
|
|
17
|
+
> Changes should be done by forking [OpenSTEF 4.0.0 tracking branch](https://github.com/OpenSTEF/openstef/tree/release/v4.0.0) (`release/v4.0.0`) and then make a PR back onto `release/v4.0.0` branch.
|
|
18
|
+
> Please read the [contributing guide](https://openstef.github.io/openstef/v4/contribute/index.html) before you start.
|
|
19
|
+
|
|
20
|
+
❗Priority (What if we don't do this?/Are there any deadlines? etc.)
|
|
21
|
+
|
|
22
|
+
Definition of Done:
|
|
23
|
+
|
|
24
|
+
✅ Acceptance criteria
|
|
25
|
+
|
|
26
|
+
- [ ]
|
|
27
|
+
|
|
28
|
+
📄 Documentation criteria:
|
|
29
|
+
|
|
30
|
+
Interfaces with other products and services
|
|
31
|
+
|
|
32
|
+
Update relevant confluence pages
|
|
33
|
+
|
|
34
|
+
🧪 Test criteria:
|
|
35
|
+
|
|
36
|
+
Unit tests written and passed
|
|
37
|
+
|
|
38
|
+
⌛ Dependencies:
|
|
39
|
+
|
|
40
|
+
N/A
|
|
41
|
+
|
|
42
|
+
🚀 Releasing:
|
|
43
|
+
|
|
44
|
+
N/A
|
|
45
|
+
|
|
46
|
+
Other information:
|
|
47
|
+
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2026 Contributors to the OpenSTEF project <openstef@lfenergy.org>
|
|
2
|
+
# SPDX-License-Identifier: MPL-2.0
|
|
3
|
+
|
|
4
|
+
# Dependabot configuration for the OpenSTEF uv workspace.
|
|
5
|
+
#
|
|
6
|
+
# - Patch/minor updates are grouped into daily PRs; majors stay individual.
|
|
7
|
+
# - Cooldown delays brand-new releases by a few days as supply-chain protection.
|
|
8
|
+
# - Security advisories are in their own group, exempt from cooldown.
|
|
9
|
+
|
|
10
|
+
version: 2
|
|
11
|
+
|
|
12
|
+
updates:
|
|
13
|
+
- package-ecosystem: uv
|
|
14
|
+
directories:
|
|
15
|
+
- "/"
|
|
16
|
+
- "/docs"
|
|
17
|
+
- "/examples"
|
|
18
|
+
- "/packages/openstef-beam"
|
|
19
|
+
- "/packages/openstef-core"
|
|
20
|
+
- "/packages/openstef-meta"
|
|
21
|
+
- "/packages/openstef-models"
|
|
22
|
+
schedule:
|
|
23
|
+
interval: daily
|
|
24
|
+
time: "06:00"
|
|
25
|
+
timezone: Europe/Amsterdam
|
|
26
|
+
open-pull-requests-limit: 10
|
|
27
|
+
commit-message:
|
|
28
|
+
prefix: "chore(deps)"
|
|
29
|
+
include: scope
|
|
30
|
+
labels:
|
|
31
|
+
- dependencies
|
|
32
|
+
- python:uv
|
|
33
|
+
cooldown:
|
|
34
|
+
default-days: 3
|
|
35
|
+
semver-patch-days: 2
|
|
36
|
+
semver-minor-days: 5
|
|
37
|
+
semver-major-days: 7
|
|
38
|
+
groups:
|
|
39
|
+
python-security:
|
|
40
|
+
applies-to: security-updates
|
|
41
|
+
update-types: [patch, minor]
|
|
42
|
+
python-versions:
|
|
43
|
+
applies-to: version-updates
|
|
44
|
+
update-types: [patch, minor]
|
|
45
|
+
|
|
46
|
+
- package-ecosystem: github-actions
|
|
47
|
+
directory: "/"
|
|
48
|
+
schedule:
|
|
49
|
+
interval: daily
|
|
50
|
+
time: "06:00"
|
|
51
|
+
timezone: Europe/Amsterdam
|
|
52
|
+
open-pull-requests-limit: 5
|
|
53
|
+
commit-message:
|
|
54
|
+
prefix: "chore(ci)"
|
|
55
|
+
include: scope
|
|
56
|
+
labels:
|
|
57
|
+
- dependencies
|
|
58
|
+
- github-actions
|
|
59
|
+
cooldown:
|
|
60
|
+
default-days: 3
|
|
61
|
+
groups:
|
|
62
|
+
actions-all:
|
|
63
|
+
patterns: ["*"]
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2017-2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
# config of action in ./workflows/...
|
|
5
|
+
feature: ['feature*', 'feat*']
|
|
6
|
+
fix: ['fix*','bugfix*','hotfix*', 'bug*']
|
|
7
|
+
chore: ['chore*', 'doc*']
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
|
|
5
|
+
name: Quality Check
|
|
6
|
+
on:
|
|
7
|
+
workflow_call:
|
|
8
|
+
inputs:
|
|
9
|
+
# _SKIP*: sometimes you want to quickly test something, without having the whole suite kicking in.
|
|
10
|
+
# This is a lazy way to switch on and off steps. But never set it to true in main.
|
|
11
|
+
_SKIP_QUALITY:
|
|
12
|
+
type: boolean
|
|
13
|
+
default: false
|
|
14
|
+
description: for debug purposes only - if true skip all quality checks.
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
builder:
|
|
18
|
+
name: Quality Checks
|
|
19
|
+
# Avoid duplicate runs: run on push (same-repo branches) OR on pull_request only if from a fork
|
|
20
|
+
runs-on: ubuntu-latest
|
|
21
|
+
steps:
|
|
22
|
+
- name: Checkout # Must be done before using composite actions
|
|
23
|
+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
24
|
+
with:
|
|
25
|
+
show-progress: false # very verbose for not much
|
|
26
|
+
- name: Install uv
|
|
27
|
+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
|
28
|
+
# uv is needed for qa and deploy, so is kinda always needed. No need to skip it.
|
|
29
|
+
with:
|
|
30
|
+
activate-environment: true
|
|
31
|
+
enable-cache: true
|
|
32
|
+
- name: Install dependencies
|
|
33
|
+
if: ${{ always() }}
|
|
34
|
+
run: uv sync --frozen --no-install-project --all-groups --all-extras --all-packages
|
|
35
|
+
|
|
36
|
+
# Run quality checks
|
|
37
|
+
- name: reuse
|
|
38
|
+
if: ${{ ! inputs._SKIP_QUALITY && always() }}
|
|
39
|
+
run: poe reuse
|
|
40
|
+
- name: licensecheck
|
|
41
|
+
if: ${{ ! inputs._SKIP_QUALITY && always() }}
|
|
42
|
+
run: poe licensecheck --check
|
|
43
|
+
- name: lint
|
|
44
|
+
if: ${{ ! inputs._SKIP_QUALITY && always() }}
|
|
45
|
+
run: poe lint --check
|
|
46
|
+
- name: format
|
|
47
|
+
if: ${{ ! inputs._SKIP_QUALITY && always() }}
|
|
48
|
+
run: poe format --check
|
|
49
|
+
- name: format-pyproject
|
|
50
|
+
if: ${{ ! inputs._SKIP_QUALITY && always() }}
|
|
51
|
+
run: poe format-pyproject --check
|
|
52
|
+
- name: typing
|
|
53
|
+
if: ${{ ! inputs._SKIP_QUALITY && always() }}
|
|
54
|
+
run: poe type
|
|
55
|
+
- name: tests
|
|
56
|
+
if: ${{ ! inputs._SKIP_QUALITY && always() }}
|
|
57
|
+
run: poe tests
|
|
58
|
+
- name: doctests
|
|
59
|
+
if: ${{ ! inputs._SKIP_QUALITY && always() }}
|
|
60
|
+
run: poe doctests
|
|
61
|
+
- name: notebooks-check
|
|
62
|
+
if: ${{ ! inputs._SKIP_QUALITY && always() }}
|
|
63
|
+
run: poe notebooks-check
|
|
64
|
+
|
|
65
|
+
- name: Stop if any quality step failed
|
|
66
|
+
# 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
|
+
if: ${{ failure() }}
|
|
68
|
+
run: exit 1
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
|
|
2
|
+
# SPDX-License-Identifier: MPL-2.0
|
|
3
|
+
|
|
4
|
+
name: Quality Check
|
|
5
|
+
concurrency:
|
|
6
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
7
|
+
cancel-in-progress: true
|
|
8
|
+
|
|
9
|
+
on:
|
|
10
|
+
push:
|
|
11
|
+
branches: ['main']
|
|
12
|
+
pull_request:
|
|
13
|
+
types: [opened, synchronize, reopened, closed]
|
|
14
|
+
|
|
15
|
+
permissions:
|
|
16
|
+
contents: read
|
|
17
|
+
|
|
18
|
+
jobs:
|
|
19
|
+
quality:
|
|
20
|
+
name: Quality Checks
|
|
21
|
+
uses: ./.github/workflows/_job_quality_check.yaml
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2017-2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
|
|
5
|
+
name: Validate citation
|
|
6
|
+
|
|
7
|
+
on:
|
|
8
|
+
# Run pipeline on push event of main branch, or when CITATIONS path has changed
|
|
9
|
+
push:
|
|
10
|
+
branches:
|
|
11
|
+
- main
|
|
12
|
+
paths:
|
|
13
|
+
- CITATION.cff
|
|
14
|
+
- .github/workflows/citations.yml
|
|
15
|
+
pull_request:
|
|
16
|
+
paths:
|
|
17
|
+
- CITATION.cff
|
|
18
|
+
- .github/workflows/citations.yml
|
|
19
|
+
# Run pipeline from another workflow
|
|
20
|
+
workflow_call:
|
|
21
|
+
# Run this workflow manually from the Actions tab
|
|
22
|
+
workflow_dispatch:
|
|
23
|
+
|
|
24
|
+
concurrency:
|
|
25
|
+
group: ${{ github.workflow }}-${{ github.ref }}-citations
|
|
26
|
+
cancel-in-progress: true
|
|
27
|
+
|
|
28
|
+
permissions:
|
|
29
|
+
contents: read
|
|
30
|
+
|
|
31
|
+
jobs:
|
|
32
|
+
validate-citations:
|
|
33
|
+
runs-on: ubuntu-24.04
|
|
34
|
+
steps:
|
|
35
|
+
- name: checkout
|
|
36
|
+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
37
|
+
- name: Install R
|
|
38
|
+
run: |
|
|
39
|
+
sudo apt-get update && sudo apt-get install -y r-base
|
|
40
|
+
- name: Validate CITATION.cff
|
|
41
|
+
uses: dieghernan/cff-validator@54c8e737314b948f25c0e5524a9d8ae3f39b207b # v5.0.1
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
|
|
5
|
+
name: Deploy Documentation
|
|
6
|
+
|
|
7
|
+
on:
|
|
8
|
+
push:
|
|
9
|
+
branches: [ main ]
|
|
10
|
+
workflow_dispatch:
|
|
11
|
+
|
|
12
|
+
permissions:
|
|
13
|
+
contents: write
|
|
14
|
+
pages: write
|
|
15
|
+
id-token: write
|
|
16
|
+
|
|
17
|
+
jobs:
|
|
18
|
+
deploy-docs:
|
|
19
|
+
name: Build and Deploy Documentation
|
|
20
|
+
runs-on: ubuntu-latest
|
|
21
|
+
|
|
22
|
+
steps:
|
|
23
|
+
- name: Checkout main
|
|
24
|
+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
25
|
+
with:
|
|
26
|
+
show-progress: false
|
|
27
|
+
|
|
28
|
+
- name: Install uv
|
|
29
|
+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
|
30
|
+
with:
|
|
31
|
+
activate-environment: true
|
|
32
|
+
enable-cache: true
|
|
33
|
+
|
|
34
|
+
- name: Install dependencies
|
|
35
|
+
run: uv sync --frozen --no-install-project --all-groups --all-extras
|
|
36
|
+
|
|
37
|
+
- name: Build Sphinx documentation
|
|
38
|
+
run: poe docs
|
|
39
|
+
|
|
40
|
+
- name: Checkout gh-pages branch for deployment
|
|
41
|
+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
42
|
+
with:
|
|
43
|
+
ref: gh-pages
|
|
44
|
+
path: gh-pages-repo
|
|
45
|
+
show-progress: false
|
|
46
|
+
|
|
47
|
+
- name: Update documentation
|
|
48
|
+
run: |
|
|
49
|
+
# One-shot: archive the existing v3 site into /v3/ if not already done.
|
|
50
|
+
# Detected by absence of /v3/ and presence of index.html at the root.
|
|
51
|
+
if [ ! -d gh-pages-repo/v3 ] && [ -f gh-pages-repo/index.html ]; then
|
|
52
|
+
echo "Archiving existing v3 documentation to gh-pages-repo/v3/"
|
|
53
|
+
mkdir -p gh-pages-repo/v3
|
|
54
|
+
find gh-pages-repo -maxdepth 1 -mindepth 1 \
|
|
55
|
+
! -name v3 ! -name v4 ! -name .git ! -name .nojekyll \
|
|
56
|
+
-exec mv {} gh-pages-repo/v3/ \;
|
|
57
|
+
fi
|
|
58
|
+
|
|
59
|
+
# Clear root (but preserve /v3/, /v4/, .git, .nojekyll) and deploy.
|
|
60
|
+
find gh-pages-repo -maxdepth 1 -mindepth 1 \
|
|
61
|
+
! -name v3 ! -name v4 ! -name .git ! -name .nojekyll \
|
|
62
|
+
-exec rm -rf {} +
|
|
63
|
+
cp -r docs/build/html/. gh-pages-repo/
|
|
64
|
+
|
|
65
|
+
- name: Configure git, stage, and commit changes
|
|
66
|
+
run: |
|
|
67
|
+
cd gh-pages-repo
|
|
68
|
+
|
|
69
|
+
# Configure git
|
|
70
|
+
git config --local user.email "action@github.com"
|
|
71
|
+
git config --local user.name "GitHub Action"
|
|
72
|
+
|
|
73
|
+
# Stage changes
|
|
74
|
+
git add -A
|
|
75
|
+
|
|
76
|
+
# Check if there are staged changes and commit if so
|
|
77
|
+
if ! git diff --staged --quiet; then
|
|
78
|
+
git commit -m "Deploy documentation from $(echo $GITHUB_SHA | cut -c1-7)"
|
|
79
|
+
echo "✅ Changes committed successfully"
|
|
80
|
+
else
|
|
81
|
+
echo "ℹ️ No changes to commit"
|
|
82
|
+
fi
|
|
83
|
+
|
|
84
|
+
- name: Push changes to gh-pages
|
|
85
|
+
uses: ad-m/github-push-action@881a6320fdb16eb5318c5054f31c218aec2b324c # v1
|
|
86
|
+
with:
|
|
87
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
88
|
+
branch: gh-pages
|
|
89
|
+
directory: gh-pages-repo
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2017-2022 Contributors to the OpenSTEF project <openstef@lfenergy.org>
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
# Automatically label PRs, config in ../pr-labler.yml
|
|
5
|
+
name: PR Labeler
|
|
6
|
+
on:
|
|
7
|
+
pull_request:
|
|
8
|
+
types: [opened]
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
pr-labeler:
|
|
12
|
+
permissions:
|
|
13
|
+
contents: read # To read config file
|
|
14
|
+
pull-requests: write # To add labels
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
steps:
|
|
17
|
+
- uses: TimonVS/pr-labeler-action@f9c084306ce8b3f488a8f3ee1ccedc6da131d1af # v5
|
|
18
|
+
with:
|
|
19
|
+
configuration-path: .github/pr-labeler.yml
|
|
20
|
+
env:
|
|
21
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
|
|
2
|
+
# SPDX-License-Identifier: MPL-2.0
|
|
3
|
+
|
|
4
|
+
name: Dev Release
|
|
5
|
+
concurrency:
|
|
6
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
7
|
+
cancel-in-progress: true
|
|
8
|
+
|
|
9
|
+
on:
|
|
10
|
+
push:
|
|
11
|
+
branches: ['main']
|
|
12
|
+
|
|
13
|
+
permissions:
|
|
14
|
+
contents: read
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
quality:
|
|
18
|
+
name: Quality Checks
|
|
19
|
+
uses: ./.github/workflows/_job_quality_check.yaml
|
|
20
|
+
|
|
21
|
+
deploy-dev:
|
|
22
|
+
name: Release Dev Version
|
|
23
|
+
needs: quality
|
|
24
|
+
runs-on: ubuntu-latest
|
|
25
|
+
if: ${{ needs.quality.result == 'success' }}
|
|
26
|
+
permissions:
|
|
27
|
+
# IMPORTANT: this permission is mandatory for trusted publishing
|
|
28
|
+
id-token: write
|
|
29
|
+
steps:
|
|
30
|
+
- name: Checkout
|
|
31
|
+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
32
|
+
with:
|
|
33
|
+
fetch-depth: 0
|
|
34
|
+
show-progress: false
|
|
35
|
+
- name: Install uv
|
|
36
|
+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
|
37
|
+
with:
|
|
38
|
+
activate-environment: true
|
|
39
|
+
enable-cache: true
|
|
40
|
+
- name: Install build dependencies
|
|
41
|
+
run: uv sync --frozen --no-install-project --all-groups --all-extras
|
|
42
|
+
|
|
43
|
+
# Start of release steps
|
|
44
|
+
- name: Compute ephemeral dev version
|
|
45
|
+
id: ver
|
|
46
|
+
run: |
|
|
47
|
+
set -euo pipefail
|
|
48
|
+
BASE_VERSION="4.0.0"
|
|
49
|
+
TS=$(date -u +%Y%m%d%H%M)
|
|
50
|
+
HASH=$(git rev-parse --short=8 HEAD)
|
|
51
|
+
VERSION="${BASE_VERSION}.dev${TS}+g${HASH}"
|
|
52
|
+
echo "Computed version: $VERSION"
|
|
53
|
+
echo "version=${VERSION}" >> "$GITHUB_OUTPUT"
|
|
54
|
+
- name: Apply version
|
|
55
|
+
run: poe version --version '${{ steps.ver.outputs.version }}'
|
|
56
|
+
- name: Build all packages
|
|
57
|
+
run: poe build
|
|
58
|
+
- name: Publish packages
|
|
59
|
+
if: false # Set to true once mvp is ready.
|
|
60
|
+
env:
|
|
61
|
+
UV_PUBLISH_USERNAME: ${{ secrets.PYPI_USERNAME }}
|
|
62
|
+
UV_PUBLISH_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
|
|
63
|
+
run: uv publish
|
|
64
|
+
- name: Summary
|
|
65
|
+
run: echo "Published version ${{ steps.ver.outputs.version }}"
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
|
|
2
|
+
# SPDX-License-Identifier: MPL-2.0
|
|
3
|
+
|
|
4
|
+
name: Release V4
|
|
5
|
+
concurrency:
|
|
6
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
7
|
+
cancel-in-progress: true
|
|
8
|
+
|
|
9
|
+
on:
|
|
10
|
+
release:
|
|
11
|
+
types: [published]
|
|
12
|
+
workflow_dispatch:
|
|
13
|
+
inputs:
|
|
14
|
+
version:
|
|
15
|
+
description: 'Version tag to release (e.g., v4.1.0 or 4.1.0). Prefixing with v is optional.'
|
|
16
|
+
required: true
|
|
17
|
+
default: ""
|
|
18
|
+
|
|
19
|
+
permissions:
|
|
20
|
+
contents: read
|
|
21
|
+
|
|
22
|
+
jobs:
|
|
23
|
+
quality:
|
|
24
|
+
if: ${{ startsWith(github.ref, 'refs/tags/v4.') || (github.event_name == 'workflow_dispatch' && startsWith(github.event.inputs.version, 'v4')) }}
|
|
25
|
+
name: Quality Checks
|
|
26
|
+
uses: ./.github/workflows/_job_quality_check.yaml
|
|
27
|
+
|
|
28
|
+
release-pypi:
|
|
29
|
+
name: Release PyPI Package
|
|
30
|
+
needs: quality
|
|
31
|
+
runs-on: ubuntu-latest
|
|
32
|
+
environment: release
|
|
33
|
+
if: ${{ (startsWith(github.ref, 'refs/tags/v4.') || (github.event_name == 'workflow_dispatch' && startsWith(github.event.inputs.version, 'v4'))) && needs.quality.result == 'success' }}
|
|
34
|
+
permissions:
|
|
35
|
+
# IMPORTANT: this permission is mandatory for trusted publishing
|
|
36
|
+
id-token: write
|
|
37
|
+
steps:
|
|
38
|
+
- name: Checkout
|
|
39
|
+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
40
|
+
with:
|
|
41
|
+
fetch-depth: 0
|
|
42
|
+
show-progress: false
|
|
43
|
+
- name: Install uv
|
|
44
|
+
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
|
45
|
+
with:
|
|
46
|
+
activate-environment: true
|
|
47
|
+
enable-cache: true
|
|
48
|
+
- name: Install build dependencies
|
|
49
|
+
run: uv sync --frozen --no-install-project --all-groups --all-extras
|
|
50
|
+
|
|
51
|
+
# Start of release steps
|
|
52
|
+
- name: Set version from release
|
|
53
|
+
id: ver
|
|
54
|
+
env:
|
|
55
|
+
RELEASE_TAG: ${{ github.event.release.tag_name }}
|
|
56
|
+
INPUT_VERSION: ${{ github.event.inputs.version }}
|
|
57
|
+
run: |
|
|
58
|
+
# Prefer release payload tag_name, otherwise fallback to the workflow_dispatch input
|
|
59
|
+
if [ -n "$RELEASE_TAG" ]; then
|
|
60
|
+
VERSION="$RELEASE_TAG"
|
|
61
|
+
elif [ -n "$INPUT_VERSION" ]; then
|
|
62
|
+
VERSION="$INPUT_VERSION"
|
|
63
|
+
else
|
|
64
|
+
# As a last-resort fallback, try to get the ref tag from GITHUB_REF
|
|
65
|
+
if [[ "$GITHUB_REF" == refs/tags/* ]]; then
|
|
66
|
+
VERSION="${GITHUB_REF#refs/tags/}"
|
|
67
|
+
else
|
|
68
|
+
echo "No version provided via release or workflow input, aborting"
|
|
69
|
+
exit 1
|
|
70
|
+
fi
|
|
71
|
+
fi
|
|
72
|
+
# Remove leading 'v' if present
|
|
73
|
+
VERSION="${VERSION#v}"
|
|
74
|
+
echo "Release version: $VERSION"
|
|
75
|
+
echo "version=${VERSION}" >> "$GITHUB_OUTPUT"
|
|
76
|
+
- name: Apply version
|
|
77
|
+
run: poe version --version "${{ steps.ver.outputs.version }}"
|
|
78
|
+
- name: Build all packages
|
|
79
|
+
run: poe build
|
|
80
|
+
- name: Publish packages
|
|
81
|
+
run: uv publish --trusted-publishing always
|
|
82
|
+
- name: Summary
|
|
83
|
+
run: echo "Published version ${{ steps.ver.outputs.version }}"
|