openstef 3.4.56__py3-none-any.whl → 4.0.0a3__py3-none-any.whl
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.0a3.dist-info/METADATA +177 -0
- openstef-4.0.0a3.dist-info/RECORD +4 -0
- {openstef-3.4.56.dist-info → openstef-4.0.0a3.dist-info}/WHEEL +1 -2
- openstef/__init__.py +0 -14
- openstef/__main__.py +0 -3
- openstef/app_settings.py +0 -19
- openstef/data/NL_terrestrial_radiation.csv +0 -25585
- openstef/data/NL_terrestrial_radiation.csv.license +0 -3
- openstef/data/dazls_model_3.4.24/dazls_stored_3.4.24_baseline_model.z +0 -0
- openstef/data/dazls_model_3.4.24/dazls_stored_3.4.24_baseline_model.z.license +0 -3
- openstef/data/dazls_model_3.4.24/dazls_stored_3.4.24_model_card.md +0 -18
- openstef/data/dazls_model_3.4.24/dazls_stored_3.4.24_model_card.md.license +0 -3
- openstef/data/dutch_holidays.csv +0 -1759
- openstef/data/dutch_holidays.csv.license +0 -3
- openstef/data/pv_single_coefs.csv +0 -601
- openstef/data/pv_single_coefs.csv.license +0 -3
- openstef/data_classes/__init__.py +0 -3
- openstef/data_classes/data_prep.py +0 -99
- openstef/data_classes/model_specifications.py +0 -30
- openstef/data_classes/prediction_job.py +0 -135
- openstef/data_classes/split_function.py +0 -97
- openstef/enums.py +0 -140
- openstef/exceptions.py +0 -74
- openstef/feature_engineering/__init__.py +0 -3
- openstef/feature_engineering/apply_features.py +0 -138
- openstef/feature_engineering/bidding_zone_to_country_mapping.py +0 -106
- openstef/feature_engineering/cyclic_features.py +0 -161
- openstef/feature_engineering/data_preparation.py +0 -152
- openstef/feature_engineering/feature_adder.py +0 -206
- openstef/feature_engineering/feature_applicator.py +0 -202
- openstef/feature_engineering/general.py +0 -141
- openstef/feature_engineering/holiday_features.py +0 -231
- openstef/feature_engineering/lag_features.py +0 -165
- openstef/feature_engineering/missing_values_transformer.py +0 -141
- openstef/feature_engineering/rolling_features.py +0 -58
- openstef/feature_engineering/weather_features.py +0 -492
- openstef/metrics/__init__.py +0 -3
- openstef/metrics/figure.py +0 -303
- openstef/metrics/metrics.py +0 -486
- openstef/metrics/reporter.py +0 -222
- openstef/model/__init__.py +0 -3
- openstef/model/basecase.py +0 -82
- openstef/model/confidence_interval_applicator.py +0 -242
- openstef/model/fallback.py +0 -77
- openstef/model/metamodels/__init__.py +0 -3
- openstef/model/metamodels/feature_clipper.py +0 -90
- openstef/model/metamodels/grouped_regressor.py +0 -222
- openstef/model/metamodels/missing_values_handler.py +0 -138
- openstef/model/model_creator.py +0 -214
- openstef/model/objective.py +0 -426
- openstef/model/objective_creator.py +0 -65
- openstef/model/regressors/__init__.py +0 -3
- openstef/model/regressors/arima.py +0 -197
- openstef/model/regressors/custom_regressor.py +0 -64
- openstef/model/regressors/dazls.py +0 -116
- openstef/model/regressors/flatliner.py +0 -95
- openstef/model/regressors/gblinear_quantile.py +0 -334
- openstef/model/regressors/lgbm.py +0 -29
- openstef/model/regressors/linear.py +0 -90
- openstef/model/regressors/linear_quantile.py +0 -305
- openstef/model/regressors/regressor.py +0 -114
- openstef/model/regressors/xgb.py +0 -52
- openstef/model/regressors/xgb_multioutput_quantile.py +0 -261
- openstef/model/regressors/xgb_quantile.py +0 -228
- openstef/model/serializer.py +0 -431
- openstef/model/standard_deviation_generator.py +0 -81
- openstef/model_selection/__init__.py +0 -3
- openstef/model_selection/model_selection.py +0 -311
- openstef/monitoring/__init__.py +0 -3
- openstef/monitoring/performance_meter.py +0 -92
- openstef/monitoring/teams.py +0 -203
- openstef/pipeline/__init__.py +0 -3
- openstef/pipeline/create_basecase_forecast.py +0 -133
- openstef/pipeline/create_component_forecast.py +0 -168
- openstef/pipeline/create_forecast.py +0 -171
- openstef/pipeline/optimize_hyperparameters.py +0 -317
- openstef/pipeline/train_create_forecast_backtest.py +0 -163
- openstef/pipeline/train_model.py +0 -561
- openstef/pipeline/utils.py +0 -52
- openstef/postprocessing/__init__.py +0 -3
- openstef/postprocessing/postprocessing.py +0 -275
- openstef/preprocessing/__init__.py +0 -3
- openstef/preprocessing/preprocessing.py +0 -42
- openstef/settings.py +0 -15
- openstef/tasks/__init__.py +0 -3
- openstef/tasks/calculate_kpi.py +0 -324
- openstef/tasks/create_basecase_forecast.py +0 -118
- openstef/tasks/create_components_forecast.py +0 -162
- openstef/tasks/create_forecast.py +0 -145
- openstef/tasks/create_solar_forecast.py +0 -420
- openstef/tasks/create_wind_forecast.py +0 -80
- openstef/tasks/optimize_hyperparameters.py +0 -135
- openstef/tasks/split_forecast.py +0 -273
- openstef/tasks/train_model.py +0 -224
- openstef/tasks/utils/__init__.py +0 -3
- openstef/tasks/utils/dependencies.py +0 -107
- openstef/tasks/utils/predictionjobloop.py +0 -243
- openstef/tasks/utils/taskcontext.py +0 -160
- openstef/validation/__init__.py +0 -3
- openstef/validation/validation.py +0 -322
- openstef-3.4.56.dist-info/METADATA +0 -154
- openstef-3.4.56.dist-info/RECORD +0 -102
- openstef-3.4.56.dist-info/top_level.txt +0 -1
- /openstef-3.4.56.dist-info/LICENSE → /openstef-4.0.0a3.dist-info/licenses/LICENSE.md +0 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: openstef
|
|
3
|
+
Version: 4.0.0a3
|
|
4
|
+
Summary: Open Short Term Energy forecasting library
|
|
5
|
+
Project-URL: Documentation, https://openstef.github.io/openstef/index.html
|
|
6
|
+
Project-URL: Homepage, https://lfenergy.org/projects/openstef/
|
|
7
|
+
Project-URL: Issues, https://github.com/OpenSTEF/openstef/issues
|
|
8
|
+
Project-URL: Repository, https://github.com/OpenSTEF/openstef
|
|
9
|
+
Author-email: "Alliander N.V" <openstef@lfenergy.org>
|
|
10
|
+
License-Expression: MPL-2.0
|
|
11
|
+
License-File: LICENSE.md
|
|
12
|
+
Keywords: energy,forecasting,machinelearning
|
|
13
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
+
Requires-Python: <4.0,>=3.12
|
|
19
|
+
Requires-Dist: openstef-core==4.0.0a3
|
|
20
|
+
Requires-Dist: openstef-models[xgb-cpu]==4.0.0a3
|
|
21
|
+
Provides-Extra: all
|
|
22
|
+
Requires-Dist: openstef-beam[all]==4.0.0a3; extra == 'all'
|
|
23
|
+
Requires-Dist: openstef-core==4.0.0a3; extra == 'all'
|
|
24
|
+
Requires-Dist: openstef-models[xgb-cpu]==4.0.0a3; extra == 'all'
|
|
25
|
+
Provides-Extra: beam
|
|
26
|
+
Requires-Dist: huggingface-hub>=0.35.3; extra == 'beam'
|
|
27
|
+
Requires-Dist: openstef-beam==4.0.0a3; extra == 'beam'
|
|
28
|
+
Provides-Extra: core
|
|
29
|
+
Requires-Dist: openstef-core==4.0.0a3; extra == 'core'
|
|
30
|
+
Provides-Extra: models
|
|
31
|
+
Requires-Dist: openstef-models[xgb-cpu]==4.0.0a3; extra == 'models'
|
|
32
|
+
Description-Content-Type: text/markdown
|
|
33
|
+
|
|
34
|
+
<!--
|
|
35
|
+
SPDX-FileCopyrightText: 2017-2025 Contributors to the OpenSTEF project <openstef@lfenergy.org>
|
|
36
|
+
|
|
37
|
+
SPDX-License-Identifier: MPL-2.0
|
|
38
|
+
-->
|
|
39
|
+
|
|
40
|
+
# OpenSTEF
|
|
41
|
+
|
|
42
|
+
<!-- Badges -->
|
|
43
|
+
|
|
44
|
+
[](https://pepy.tech/project/openstef)
|
|
45
|
+
[](https://pepy.tech/project/openstef)
|
|
46
|
+
[](https://bestpractices.coreinfrastructure.org/projects/5585)
|
|
47
|
+
|
|
48
|
+
**OpenSTEF** is a modular library for creating short-term forecasts in the energy sector. Version 4.0 introduces a complete architectural refactor with enhanced modularity, type safety, and modern Python development practices.
|
|
49
|
+
|
|
50
|
+
## What's New in 4.0
|
|
51
|
+
|
|
52
|
+
- **Modular Architecture**: Install only the components you need
|
|
53
|
+
- **Modern Tooling**: Built with uv, ruff, pyright, and poe for optimal developer experience
|
|
54
|
+
- **Full Type Safety**: Comprehensive type hints throughout the codebase
|
|
55
|
+
- **Monorepo Structure**: Unified development with specialized packages
|
|
56
|
+
- **Enhanced Workflows**: Streamlined development and contribution processes
|
|
57
|
+
|
|
58
|
+
## Table of Contents
|
|
59
|
+
|
|
60
|
+
- [OpenSTEF](#openstef)
|
|
61
|
+
- [What's New in 4.0](#whats-new-in-40)
|
|
62
|
+
- [Table of Contents](#table-of-contents)
|
|
63
|
+
- [Quick Start](#quick-start)
|
|
64
|
+
- [Package Architecture](#package-architecture)
|
|
65
|
+
- [Installation](#installation)
|
|
66
|
+
- [Requirements](#requirements)
|
|
67
|
+
- [Basic Installation](#basic-installation)
|
|
68
|
+
- [Modern Package Managers](#modern-package-managers)
|
|
69
|
+
- [Documentation](#documentation)
|
|
70
|
+
- [Contributing](#contributing)
|
|
71
|
+
- [Quick Development Setup](#quick-development-setup)
|
|
72
|
+
- [License](#license)
|
|
73
|
+
- [Contact \& Support](#contact--support)
|
|
74
|
+
|
|
75
|
+
## Quick Start
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# Install OpenSTEF
|
|
79
|
+
pip install openstef
|
|
80
|
+
|
|
81
|
+
# Start forecasting
|
|
82
|
+
python -c "import openstef_models; print('OpenSTEF 4.0 ready!')"
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
**[Get started with our Quick Start Guide](https://openstef.github.io/openstef/v4/user_guide/quick_start.html)** - step-by-step tutorial with real examples.
|
|
86
|
+
|
|
87
|
+
## Package Architecture
|
|
88
|
+
|
|
89
|
+
OpenSTEF 4.0 uses a modular design with specialized packages:
|
|
90
|
+
|
|
91
|
+
| Package | Purpose | Install Command |
|
|
92
|
+
|---------|---------|-----------------|
|
|
93
|
+
| **openstef** | Meta-package with core components | `pip install openstef` |
|
|
94
|
+
| **openstef-models** | ML models, feature engineering, data processing | `pip install openstef-models` |
|
|
95
|
+
| **openstef-beam** | Backtesting, Evaluation, Analysis, Metrics | `pip install openstef-beam` |
|
|
96
|
+
| **openstef-core** | Core utilities, dataset types, shared types and base models used by other packages | `pip install openstef-core` |
|
|
97
|
+
| **openstef-compatibility** | OpenSTEF 3.x compatibility layer | Coming soon |
|
|
98
|
+
| **openstef-foundational-models** | Deep learning and foundational models | Coming soon |
|
|
99
|
+
|
|
100
|
+
**[Learn more about the architecture](https://openstef.github.io/openstef/v4/user_guide/installation.html#package-architecture)** in our documentation.
|
|
101
|
+
|
|
102
|
+
## Installation
|
|
103
|
+
|
|
104
|
+
### Requirements
|
|
105
|
+
- **Python 3.12+** (Python 3.13 supported)
|
|
106
|
+
- **64-bit operating system** (Windows, macOS, Linux)
|
|
107
|
+
|
|
108
|
+
### Basic Installation
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
# For most users
|
|
112
|
+
pip install openstef
|
|
113
|
+
|
|
114
|
+
# Core forecasting only
|
|
115
|
+
pip install openstef-models
|
|
116
|
+
|
|
117
|
+
# With all optional tools
|
|
118
|
+
pip install "openstef[all]"
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Modern Package Managers
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
# Using uv (recommended for development)
|
|
125
|
+
uv add openstef
|
|
126
|
+
|
|
127
|
+
# Using conda
|
|
128
|
+
conda install -c conda-forge openstef
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**[Complete Installation Guide](https://openstef.github.io/openstef/v4/user_guide/installation.html)** - detailed instructions including troubleshooting for Apple Silicon, GPU support, and development setup.
|
|
132
|
+
|
|
133
|
+
## Documentation
|
|
134
|
+
|
|
135
|
+
- **[Main Documentation](https://openstef.github.io/openstef/v4/)** - guides and API reference
|
|
136
|
+
- **[Quick Start Guide](https://openstef.github.io/openstef/v4/user_guide/quick_start.html)** - get up and running fast
|
|
137
|
+
- **[Tutorials](https://openstef.github.io/openstef/v4/user_guide/tutorials.html)** - step-by-step examples
|
|
138
|
+
- **[API Reference](https://openstef.github.io/openstef/v4/api/)** - detailed function documentation
|
|
139
|
+
- **[Contributing Guide](https://openstef.github.io/openstef/v4/contribute/)** - how to contribute to OpenSTEF
|
|
140
|
+
|
|
141
|
+
## Contributing
|
|
142
|
+
|
|
143
|
+
We welcome contributions to OpenSTEF 4.0!
|
|
144
|
+
|
|
145
|
+
**[Read our Contributing Guide](https://openstef.github.io/openstef/v4/contribute/)** - documentation for contributors including:
|
|
146
|
+
|
|
147
|
+
- How to report bugs and suggest features
|
|
148
|
+
- Documentation improvements and examples
|
|
149
|
+
- Code contributions and development setup
|
|
150
|
+
- Sharing datasets and real-world use cases
|
|
151
|
+
|
|
152
|
+
### Quick Development Setup
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
# Clone and set up for development
|
|
156
|
+
git clone https://github.com/OpenSTEF/openstef.git
|
|
157
|
+
cd openstef
|
|
158
|
+
uv sync --dev
|
|
159
|
+
|
|
160
|
+
# Run tests and quality checks
|
|
161
|
+
uv run poe all
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
**Code of Conduct**: We follow the [Contributor Code of Conduct](https://openstef.github.io/openstef/v4/contribute/code_of_conduct.html) to ensure a welcoming environment for all contributors.
|
|
165
|
+
|
|
166
|
+
## License
|
|
167
|
+
|
|
168
|
+
**Mozilla Public License Version 2.0** - see [LICENSE.md](LICENSE.md) for details.
|
|
169
|
+
|
|
170
|
+
This project includes third-party libraries licensed under their respective Open-Source licenses. SPDX-License-Identifier headers show applicable licenses. License files are in the [LICENSES/](LICENSES/) directory.
|
|
171
|
+
|
|
172
|
+
## Contact & Support
|
|
173
|
+
|
|
174
|
+
- **[Support Guide](https://openstef.github.io/openstef/v4/project/support.html)** - how to get help
|
|
175
|
+
- **[GitHub Discussions](https://github.com/OpenSTEF/openstef/discussions)** - community Q&A and discussions
|
|
176
|
+
- **[Issue Tracker](https://github.com/OpenSTEF/openstef/issues)** - bug reports and feature requests
|
|
177
|
+
- **[LF Energy OpenSTEF](https://www.lfenergy.org/projects/openstef/)** - project homepage
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
openstef-4.0.0a3.dist-info/METADATA,sha256=vHUIDLHdsNjjsxc8eA4cIL-f5dhLEsPs0gfnkN0AlnM,7112
|
|
2
|
+
openstef-4.0.0a3.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
3
|
+
openstef-4.0.0a3.dist-info/licenses/LICENSE.md,sha256=7Pm2fWFFHHUG5lDHed1vl5CjzxObIXQglnYsEdtjo_k,14907
|
|
4
|
+
openstef-4.0.0a3.dist-info/RECORD,,
|
openstef/__init__.py
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
# SPDX-FileCopyrightText: 2017-2023 Contributors to the OpenSTEF project <korte.termijn.prognoses@alliander.com> # noqa E501>
|
|
2
|
-
#
|
|
3
|
-
# SPDX-License-Identifier: MPL-2.0
|
|
4
|
-
|
|
5
|
-
from importlib.metadata import PackageNotFoundError, version
|
|
6
|
-
from pathlib import Path
|
|
7
|
-
|
|
8
|
-
PROJECT_ROOT = Path(__file__).parent.parent.absolute()
|
|
9
|
-
|
|
10
|
-
try:
|
|
11
|
-
__version__ = version("openstef")
|
|
12
|
-
except PackageNotFoundError:
|
|
13
|
-
# package is not installed
|
|
14
|
-
pass
|
openstef/__main__.py
DELETED
openstef/app_settings.py
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# SPDX-FileCopyrightText: 2017-2023 Contributors to the OpenSTEF project <korte.termijn.prognoses@alliander.com> # noqa E501>
|
|
2
|
-
#
|
|
3
|
-
# SPDX-License-Identifier: MPL-2.0
|
|
4
|
-
|
|
5
|
-
from pydantic import Field
|
|
6
|
-
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class AppSettings(BaseSettings):
|
|
10
|
-
"""Global app settings."""
|
|
11
|
-
|
|
12
|
-
model_config = SettingsConfigDict(
|
|
13
|
-
env_prefix="openstef_", env_file=".env", extra="ignore"
|
|
14
|
-
)
|
|
15
|
-
|
|
16
|
-
post_teams_messages: bool = True
|
|
17
|
-
|
|
18
|
-
# Logging settings.
|
|
19
|
-
log_level: str = Field("INFO", description="Log level used for logging statements.")
|