Skip to content

PyPSA Header Logo PyPSA Header Logo

PyPSA: Python for Power System Analysis¶

PyPI version Conda version Python Version from PEP 621 TOML REUSE status License Zenodo Discord

PyPSA stands for Python for Power System Analysis. It is pronounced "pipes-ah" /ˈpaɪpsə/.

PyPSA is an open-source Python framework for optimising and simulating modern power and energy systems that include features such as conventional generators with unit commitment, variable wind and solar generation, hydro-electricity, inter-temporal storage, coupling to other energy sectors, elastic demands, and linearised power flow with loss approximations in DC and AC networks. PyPSA is designed to scale well with large networks and long time series. It is made for researchers, planners and utilities with basic coding aptitude who need a fast, easy-to-use and transparent tool for power and energy system analysis.

Check out the Features for more information on the functionality.

Note

PyPSA has many contributors, with the maintenance led by the Department of Digital Transformation in Energy Systems at the Technical University of Berlin. The project is currently supported by the German Research Foundation (grant number 528775426). Previous versions were developed at the Karlsruhe Institute of Technology funded by the Helmholtz Association, and at FIAS funded by the German Federal Ministry for Education and Research (BMBF).

Sections¶

  • User Guide


    Find a detailed description of the PyPSA design and architecture, how to setup different optimization problems and how to use the utility functions here.

    User Guide

  • Examples


    Many different examples from setting up a basic toy model to sector coupling or security-constrained optimization can be found here.

    Examples

  • API Reference


    The API Reference is generated from the docstrings in the code. It contains a detailed description of all classes and functions, their parameters and how to use them.

    API Reference

  • Contributing


    PyPSA is an open source project and we welcome any contributions to keep the project alive. Find out how to contribute here. You don't need to be a developer to contribute.

    Contributing