Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.

Open Energy Modelling Framework (oemof)

Documentation Status

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) - (formerly know as oemof).

  • 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


The oemof package is a meta package an will install all (!) oemof packages. This is usually not what you want to do. Use the list above to install the packages you need.


The meta documentation of oemof is hosted on ReadTheDocs.


To run all tests run:



Open Energy Modelling Framework - Python toolbox for energy system modelling and optimisation







No packages published