skip to navigation
skip to content


Solves power flow and optimal power flow problems

Development Status

PYPOWER is no longer actively maintained. However, should improvements to PYPOWER be required then the original author may be available on contract. Please do not hesitate to get in contact directly.


PYPOWER is a power flow and Optimal Power Flow (OPF) solver. It is a port of MATPOWER to the Python programming language. Current features include:

  • DC and AC (Newton’s method & Fast Decoupled) power flow and
  • DC and AC optimal power flow (OPF)


PYPOWER depends upon:

It can be installed using pip:

$ pip install PYPOWER

Alternatively, download and unpack the tarball and install:

$ tar zxf PYPOWER-4.x.y.tar.gz
$ python install


Installing PYPOWER creates pf and opf commands. To list the command options:

$ pf -h

PYPOWER includes a selection of test cases. For example, to run a power flow on the IEEE 14 bus test case:

$ pf -c case14

Alternatively, the path to a PYPOWER case data file can be specified:

$ pf /path/to/

The opf command has the same calling syntax. For example, to solve an OPF for the IEEE Reliability Test System and write the solved case to file:

$ opf -c case24_ieee_rts

For further information please refer to and the API documentation.


Questions and comments regarding PYPOWER should be directed to the mailing list:


Version 5.1.2 (2017-06-09)

  • [NEW] Configured continuous integration using Travis.

Version 5.1.0 (2017-06-09)

  • [NEW] Added Python 3 support.

Version 5.0.1 (2016-07-04)

  • [FIX] Fixed issue #21 and issue #25 in savecase() (pull request #26).
  • [CHANGE] Based on ‘recursion limit’ issues affecting savemat() in savecase(), converted non-scalars to arrays.
  • [NEW] Created and added t_savecase() to

Version 5.0.0 (2015-05-29)

  • [CHANGE] 3-clause BSD License

Version 4.1.2 (2014-10-27)

Version 4.1.1 (2014-09-17)

  • [FIX] Fixed NumPy 1.9 warning about “== None” comparisions.

Version 4.1.0 (2014-05-29)

  • [NEW] Support for Python 3 (3.3 and above).
  • [CHANGE] Updated to MATPOWER 4.1.
  • [REMOVED] Support for Python 2.5 and below.

Version 4.0.1 (2011-07-14)

  • [CHANGE] changed boolean operators from bitwise to logical to fix the output options
  • [FIX] adding indentation to produce valid Python modules

Version 4.0.0 (2011-07-07)

Initial release, port of MATPOWER version 4.0

File Type Py Version Uploaded on Size
PYPOWER-5.1.3.tar.gz (md5) Source 2017-09-27 262KB