Open Short Term Energy forecasting library
Project description
OpenSTEF
What is OpenSTEF
OpenSTEF (Open Short-Term Energy Forecasting) is an open-source, model-agnostic Python framework for creating short-term forecasts in the energy sector. It provides complete machine learning pipelines for data preprocessing, feature engineering, model training, probabilistic forecasting, and evaluation. Version 4.0.0 introduces a complete architectural refactor with enhanced modularity, full type safety, and modern Python development practices.
For more information, visit the OpenSTEF project page at LF Energy.
Monorepo Overview
OpenSTEF 4.0.0 is organized as a monorepo with specialized packages under the packages/ directory:
| Package | Purpose |
|---|---|
| openstef | Meta-package installing all core components |
| openstef-core | Core utilities, dataset types, shared types and base models |
| openstef-models | ML models, feature engineering, data processing |
| openstef-beam | Backtesting, Evaluation, Analysis, and Metrics |
| openstef-meta | Meta models for OpenSTEF |
How to Install
Requirements: Python ≥3.12, 64-bit OS (Windows, macOS, Linux)
# Minimal-but-runnable convenience layer (core + models with CPU XGBoost)
pip install openstef
# Everything, CPU flavour
pip install "openstef[all]"
# Or install individual packages
pip install openstef-models
pip install openstef-beam
pip install openstef-core
# Optional feature extras (additive)
pip install "openstef-models[lgbm]"
pip install "openstef-models[tuning]"
pip install "openstef-beam[all]"
Compute runtimes (pick one per package). Packages with a heavy runtime ship mutually exclusive CPU and GPU builds as conflicting extras — install one, not both:
# Foundation models (Chronos-2): CPU everywhere, GPU on CUDA Linux/Windows
pip install "openstef-foundation-models[cpu]"
pip install "openstef-foundation-models[gpu]"
# XGBoost models: CPU or GPU
pip install "openstef-models[xgb-cpu]"
pip install "openstef-models[xgb-gpu]"
The openstef meta-package always ships the CPU builds; for GPU, install the
component package directly with its [gpu] extra.
Using uv (recommended for development):
uv add openstef
For the complete installation guide including troubleshooting, see the Installation Documentation.
Examples
Tutorials and usage examples are available in the examples/ folder. See the examples folder's own README.md for an overview of available examples including:
- Forecasting quickstart
- Feature engineering
Additional tutorials are available in the online documentation.
License
Mozilla Public License Version 2.0 - see LICENSE.md for details.
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/ directory.
Contributing
We welcome contributions to OpenSTEF 4.0!
Read our Contributing Guide - documentation for contributors including:
- How to report bugs and suggest features
- Documentation improvements and examples
- Code contributions and development setup
- Sharing datasets and real-world use cases
Quick Development Setup
# Clone and set up for development (one command installs the full CPU dev env)
git clone https://github.com/OpenSTEF/openstef.git
cd openstef
uv sync
# Run tests and quality checks
uv run poe all
GPU dev env (CUDA; Linux/Windows):
uv sync --no-default-groups --group dev-gpu. Do not use--all-groups/--all-extras— the CPU and GPU runtimes conflict.
Code of Conduct: We follow the Contributor Code of Conduct to ensure a welcoming environment for all contributors.
Citations
If you use OpenSTEF in your research or publications, please cite the project. Refer to the CITATION.cff file in this repository for the preferred citation format, or use:
Contributors to the OpenSTEF project. OpenSTEF — Open Short-Term Energy Forecasting. LF Energy, 2017–2025. Available at: https://github.com/OpenSTEF/openstef
Contact
- Slack: LF Energy Slack
- Email: openstef@lfenergy.org
- Community meeting: OpenSTEF four-weekly community meeting
- Issues: GitHub Issue Tracker
- Support Guide: How to get help
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file openstef-4.1.1.dev0.tar.gz.
File metadata
- Download URL: openstef-4.1.1.dev0.tar.gz
- Upload date:
- Size: 3.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55a458b5c54721823766498bcc71282416a2edb0483c0e26ee8c1e33414a2d9e
|
|
| MD5 |
24ad163c0d528f2f8b5f274c1a771308
|
|
| BLAKE2b-256 |
19451de0edbfa6bdb014c0f1845ff386923374e505ed14a17b13fedda8d4f66d
|
Provenance
The following attestation bundles were made for openstef-4.1.1.dev0.tar.gz:
Publisher:
release-v4.yaml on OpenSTEF/openstef
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openstef-4.1.1.dev0.tar.gz -
Subject digest:
55a458b5c54721823766498bcc71282416a2edb0483c0e26ee8c1e33414a2d9e - Sigstore transparency entry: 2009931005
- Sigstore integration time:
-
Permalink:
OpenSTEF/openstef@41b0172fe12d4d9aea97f760a55248ee7cd16c54 -
Branch / Tag:
refs/tags/v4.1.1.dev0 - Owner: https://github.com/OpenSTEF
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-v4.yaml@41b0172fe12d4d9aea97f760a55248ee7cd16c54 -
Trigger Event:
release
-
Statement type:
File details
Details for the file openstef-4.1.1.dev0-py3-none-any.whl.
File metadata
- Download URL: openstef-4.1.1.dev0-py3-none-any.whl
- Upload date:
- Size: 9.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
71a9850227df5e01b4f80b953094411a35e3e078dd92d9b7bc82c6527d12edf9
|
|
| MD5 |
51612aa1c7af8fd85b3107a4fe3e1dfa
|
|
| BLAKE2b-256 |
64095a4c3323a2c684907ff16639a2266586b17b00781c435d5d0f838e003e0b
|
Provenance
The following attestation bundles were made for openstef-4.1.1.dev0-py3-none-any.whl:
Publisher:
release-v4.yaml on OpenSTEF/openstef
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openstef-4.1.1.dev0-py3-none-any.whl -
Subject digest:
71a9850227df5e01b4f80b953094411a35e3e078dd92d9b7bc82c6527d12edf9 - Sigstore transparency entry: 2009930361
- Sigstore integration time:
-
Permalink:
OpenSTEF/openstef@41b0172fe12d4d9aea97f760a55248ee7cd16c54 -
Branch / Tag:
refs/tags/v4.1.1.dev0 - Owner: https://github.com/OpenSTEF
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-v4.yaml@41b0172fe12d4d9aea97f760a55248ee7cd16c54 -
Trigger Event:
release
-
Statement type: