PyPSA: Python for Power System Analysis

PyPI version Conda version Build status on Linux Documentation Status Chat on Gitter

PyPSA stands for “Python for Power System Analysis”. It is pronounced “pipes-ah”.

PyPSA is a free software toolbox for simulating and optimising modern power systems that include features such as conventional generators with unit commitment, variable wind and solar generation, storage units, coupling to other energy sectors, and mixed alternating and direct current networks. PyPSA is designed to scale well with large networks and long time series.

This project is maintained by the Energy System Modelling group at the Institute for Automation and Applied Informatics at the Karlsruhe Institute of Technology. The group is funded by the Helmholtz Association until 2024. Previous versions were developed by the Renewable Energy Group at FIAS to carry out simulations for the CoNDyNet project, financed by the German Federal Ministry for Education and Research (BMBF) as part of the Stromnetze Research Initiative.


Getting Started

User Guide

Help & References

Target user group

PyPSA is intended for researchers, planners and utilities who need a fast, easy-to-use and transparent tool for power system analysis. PyPSA is free software and can be arbitrarily extended.

Mailing list

PyPSA has a Google Group forum / mailing list.

Anyone can join and anyone can read the posts; only members of the group can post to the list.

The intention is to have a place where announcements of new releases can be made and questions can be asked.

To discuss issues and suggest/contribute features for future development we prefer ticketing through the PyPSA Github Issues page.

Citing PyPSA

If you use PyPSA for your research, we would appreciate it if you would cite the following paper:

Please use the following BibTeX:

   author = {T. Brown and J. H\"orsch and D. Schlachtberger},
   title = {{PyPSA: Python for Power System Analysis}},
   journal = {Journal of Open Research Software},
   volume = {6},
   issue = {1},
   number = {4},
   year = {2018},
   eprint = {1707.09913},
   url = {},
   doi = {10.5334/jors.188}

If you want to cite a specific PyPSA version, each release of PyPSA is stored on Zenodo with a release-specific DOI. This can be found linked from the overall PyPSA Zenodo DOI:


PyPSA is released under the GPLv3.