Getting started

The feedinlib is designed to calculate feed-in time series of photovoltaic and wind power plants. It is part of the oemof group but works as a standalone application.

The feedinlib is ready to use but it definitely has a lot of space for further development, new and improved models and nice features.


So far the feedinlib provides interfaces to download open_FRED and ERA5 weather data. open_FRED is a local reanalysis weather data set that provides weather data for Germany (and bounding box). ERA5 is a global reanalysis weather data set that provides weather data for the whole world. The weather data can be used to calculate the electrical output of PV and wind power plants. At the moment the feedinlib provides interfaces to the pvlib and the windpowerlib. Furthermore, technical parameters for many PV modules and inverters, as well as wind turbines, are made available and can be easily used for calculations.


If you have a working Python 3 environment, use pip to install the latest feedinlib version:

pip install feedinlib

The feedinlib is designed for Python 3 and tested on Python >= 3.6.

We highly recommend to use virtual environments.

Examples and basic usage

The basic usage of the feedinlib is shown in the Examples section. The examples are provided as jupyter notebooks that you can download here:

  • ERA5 weather data example
  • open_FRED weather data example
  • pvlib model example
  • windpowerlib model example

Furthermore, you have to install the feedinlib with additional packages needed to run the notebooks, e.g. jupyter.

pip install feedinlib[examples]

To launch jupyter notebook type jupyter notebook in the terminal. This will open a browser window. Navigate to the directory containing the notebook(s) to open it. See the jupyter notebook quick start guide for more information on how to run jupyter notebooks.


We are warmly welcoming all who want to contribute to the feedinlib. If you are interested do not hesitate to contact us via github.

As the feedinlib started with contributors from the oemof developer group we use the same developer rules.

How to create a pull request:

  • Fork the feedinlib repository to your own github account.
  • Create a local clone of your fork and install the cloned repository using pip with -e option:
pip install -e /path/to/the/repository
  • Change, add or remove code.
  • Commit your changes.
  • Create a pull request and describe what you will do and why.
  • Wait for approval.

Generally the following steps are required when changing, adding or removing code:

  • Add new tests if you have written new functions/classes.
  • Add/change the documentation (new feature, API changes …).
  • Add a whatsnew entry and your name to Contributors.
  • Check if all tests still work by simply executing pytest in your feedinlib directory:

Citing the feedinlib

We use the zenodo project to get a DOI for each version. Search zenodo for the right citation of your feedinlib version.


MIT License

Copyright (C) 2017 oemof developer group