Skip to main content

Open Short Term Energy forecasting library

Project description

OpenSTEF Logo

OpenSTEF

Downloads Downloads CII Best Practices License: MPL-2.0 Python 3.12+ GitHub Release

Quality Gate Status Coverage Maintainability Rating Reliability Rating Security Rating Vulnerabilities

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

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

openstef-4.1.1.dev0.tar.gz (3.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openstef-4.1.1.dev0-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

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

Hashes for openstef-4.1.1.dev0.tar.gz
Algorithm Hash digest
SHA256 55a458b5c54721823766498bcc71282416a2edb0483c0e26ee8c1e33414a2d9e
MD5 24ad163c0d528f2f8b5f274c1a771308
BLAKE2b-256 19451de0edbfa6bdb014c0f1845ff386923374e505ed14a17b13fedda8d4f66d

See more details on using hashes here.

Provenance

The following attestation bundles were made for openstef-4.1.1.dev0.tar.gz:

Publisher: release-v4.yaml on OpenSTEF/openstef

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for openstef-4.1.1.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 71a9850227df5e01b4f80b953094411a35e3e078dd92d9b7bc82c6527d12edf9
MD5 51612aa1c7af8fd85b3107a4fe3e1dfa
BLAKE2b-256 64095a4c3323a2c684907ff16639a2266586b17b00781c435d5d0f838e003e0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for openstef-4.1.1.dev0-py3-none-any.whl:

Publisher: release-v4.yaml on OpenSTEF/openstef

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page