Home

Awesome

<!-- SPDX-FileCopyrightText: 2017-2023 Contributors to the OpenSTEF project <korte.termijn.prognoses@alliander.com> SPDX-License-Identifier: MPL-2.0 -->

OpenSTEF

<!-- Badges -->

Downloads Downloads CII Best Practices

<!-- SonarCloud badges -->

Bugs Code Smells Coverage Duplicated Lines (%) Maintainability Rating Reliability Rating Security Rating Technical Debt Vulnerabilities

OpenSTEF is a Python package designed for generating short-term forecasts in the energy sector. The repository includes all the essential components required for machine learning pipelines that facilitate the forecasting process. To utilize the package, users are required to furnish their own data storage and retrieval interface.

Table of contents

External information sources

Installation

Install the openstef package

pip install openstef

Remark regarding installation within a conda environment on Windows

A version of the pywin32 package will be installed as a secondary dependency along with the installation of the openstef package. Since conda relies on an old version of pywin32, the new installation can break conda's functionality. The following command can solve this issue:

pip install pywin32==300

For more information on this issue see the readme of pywin32 or this Github issue.

Remark regarding installation on Apple Silicon

If you want to install the openstef package on Apple Silicon (Mac with M1-chip or newer), you can encounter issues with the dependencies, such as xgboost. Solution:

  1. Run brew install libomp (if you haven’t installed Homebrew: follow instructions here)
  2. If your interpreter can not find the libomp installation in /usr/local/bin, it is probably in /opt/brew/Cellar. Run:
mkdir -p /usr/local/opt/libomp/
ln -s /opt/brew/Cellar/libomp/{your_version}/lib /usr/local/opt/libomp/lib
  1. Uninstall xgboost with pip (pip uninstall xgboost) and install with conda-forge (conda install -c conda-forge xgboost)
  2. If you encounter similar issues with lightgbm: uninstall lightgbm with pip (pip uninstall lightgbm) and install later version with conda-forge (conda install -c conda-forge 'lightgbm>=4.2.0')

Usage

Example notebooks

To help you get started, a set of fundamental example notebooks has been created. You can access these offline examples here.

Reference Implementation

A complete implementation including databases, user interface, example data, etc. is available at: https://github.com/OpenSTEF/openstef-reference

screenshot Screenshot of the operational dashboard showing the key functionality of OpenSTEF. Dashboard documentation can be found here.

To run a task use:

python -m openstef task <task_name>

Database connector for openstef

This repository provides an interface to OpenSTEF (reference) databases. The repository can be found here.

License

This project is licensed under the Mozilla Public License, version 2.0 - see LICENSE for details.

Licenses third-party libraries

This project includes third-party libraries, which are licensed under their own respective Open-Source licenses. SPDX-License-Identifier headers are used to show which license is applicable. The concerning license files can be found in the LICENSES directory.

Contributing

Please read CODE_OF_CONDUCT.md, CONTRIBUTING.md and PROJECT_GOVERNANCE.md for details on the process for submitting pull requests to us.

Contact

Please read SUPPORT.md for how to connect and get into contact with the OpenSTEF project