Overview: Open Energy Modelling Framework (oemof)

docs Documentation Status
Travis-CI Build Status AppVeyor Build Status Requirements Status
Coverage Status
PyPI Package latest release PyPI Wheel Supported versions Supported implementations
Commits since latest release

The Open Energy Modelling Framework (oemof) is a Python toolbox for energy system modelling and optimisation.

The oemof project aims to be a loose organisational frame for tools in the wide field of (energy) system modelling. Every project is managed by their own developer team but we share some developer and design rules to make it easier to understand each other’s tools. All project libraries are free software licenced under the MIT license.

All projects are in different stages of implementation, some even may not have a stable release, but all projects are open to be joined by interested people. We do not belong to a specific institution and everybody is free to join the developer teams and will have the same rights. There is no higher decision level.

This repository is also used to organise everything for the oemof community.

  • Webconference dates
  • Real life meetings
  • Website and Mailinglist
  • General communication

You can find recent topics of discussion in the issues.


Projects with stable releases

  • oemof-solph

    A model generator for energy system modelling and optimisation (LP/MILP).

  • oemof-thermal
  • cydets

    Cycle Detection in Time Series (CyDeTS). An algorithm to detect cycles in times series along with their respective depth-of-cycle (DoC) and duration.

  • demandlib

    The demandlib library can be used to create load profiles for elctricity and heat knowing the annual demand. See the documentation of the demandlib for examples and a full description of the library.

  • feedinlib

    The feedinlib library serves as an interface between Open Data weather data and libraries to calculate feedin timeseries for fluctuating renewable energy sources.

  • TESPy

    Thermal Engineering Systems in Python (TESPy). This package provides a powerful simulation toolkit for thermal engineering plants such as power plants, district heating systems or heat pumps.

  • windpowerlib

    The windpowerlib is a library that provides a set of functions and classes to calculate the power output of wind turbines. It was originally part of the feedinlib (windpower and photovoltaic) but was taken out to build up a community concentrating on wind power models.


Projects in an early state

  • DHNx
    District heating system optimisation and simulation models


To install the oemof.solph package (previously just oemof), please use

pip install https://github.com/oemof/oemof-solph/archive/master.zip"


To run the all tests run:


Note, to combine the coverage data from all the tox environments run:

set PYTEST_ADDOPTS=--cov-append
PYTEST_ADDOPTS=--cov-append tox