**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)
Status
======
.. |nbsp| unicode:: 0xa0
:trim:
|libraries|_ |nbsp| |pyversions|_ |nbsp| |license|_ |nbsp| |downloads|_ |nbsp| |travis|_ |nbsp| |pypi_version|_
.. |libraries| image:: https://img.shields.io/librariesio/release/pypi/PYPOWER
.. _libraries: https://libraries.io/pypi/PYPOWER
.. |pyversions| image:: https://img.shields.io/pypi/pyversions/PYPOWER
.. _pyversions: https://img.shields.io/librariesio/release/pypi/PYPOWER
.. |license| image:: https://img.shields.io/pypi/l/PYPOWER
.. _license: https://github.com/rwl/PYPOWER/blob/master/LICENSE
.. |downloads| image:: https://img.shields.io/pypi/dm/PYPOWER.svg
.. _downloads: https://pypistats.org/packages/pypower
.. |travis| image:: https://img.shields.io/travis/rwl/pypower/master?label=Travis%20CI
.. _travis: https://travis-ci.org/rwl/PYPOWER
.. |pypi_version| image:: https://badge.fury.io/py/PYPOWER.svg
.. _pypi_version: https://badge.fury.io/py/PYPOWER
PYPOWER is no longer actively maintained. However, should improvements
to PYPOWER be required then the `original author <https://github.com/rwl>`_
may be available on contract. Please do not hesitate to get in
`contact <mailto:r.w.lincoln@gmail.com>`_ directly.
Prerequisites
=============
PYPOWER depends upon these prerequisites on the level of the operating system:
* Python_ 2.7 - 3.9
Virtual Environment
===================
PYPOWER is recommended to be installed into a virtual environment::
$ python3.8 -m venv venv # Or any supported Python version
Dependencies
============
PYPOWER depends upon NumPy, SciPy and PyRLU which can be installed as follows::
$ venv/bin/python -m pip install -r requirements.txt
Installation
============
The recommended way of installing PYPOWER is using pip_::
$ venv/bin/python -m pip install PYPOWER
Alternatively, `download <http://pypi.python.org/pypi/PYPOWER#downloads>`_ and
unpack the tarball and install::
$ tar zxf PYPOWER-5.x.y.tar.gz
$ venv/bin/python setup.py install
Testing
=======
PYPOWER can be tested locally using the same tooling as on Travis CI::
$ venv/bin/python -m tox -e py27,py38 # Or any supported Python version
Using PYPOWER
=============
Installing PYPOWER creates ``pf`` and ``opf`` commands. To list the command
options::
$ venv/bin/pf -h
or::
$ venv/bin/opf -h
PYPOWER includes a selection of test cases. For example, to run a power flow
on the IEEE 14 bus test case::
$ venv/bin/pf -c case14
Alternatively, the path to a PYPOWER case data file can be specified::
$ venv/bin/pf /path/to/case14.py
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::
$ venv/bin/opf -c case24_ieee_rts --solvedcase=rtsout.py
For further information please refer to https://rwl.github.io/PYPOWER/ and the
`API documentation`_.
Support
=======
Questions and comments regarding PYPOWER should be directed to the `mailing
list <http://groups.google.com/group/pypower>`_:
pypower@googlegroups.com
License & Copyright
===================
Copyright (c) 1996-2015, Power System Engineering Research Center (PSERC)
Copyright (c) 2010-2021 Richard Lincoln
The code in PYPOWER is distributed under the 3-clause BSD license
below. The PYPOWER case files distributed with PYPOWER are not covered
by the BSD license. In most cases, the data has either been included
with permission or has been converted from data available from a
public source.
While not required by the terms of the license, we do request that
publications derived from the use of MATPOWER explicitly acknowledge
that fact by citing:
R. D. Zimmerman, C. E. Murillo-Sanchez, and R. J. Thomas, "MATPOWER:
Steady-State Operations, Planning and Analysis Tools for Power Systems
Research and Education," Power Systems, IEEE Transactions on, vol. 26,
no. 1, pp. 12–19, Feb. 2011.
Links
=====
* MATPOWER_ from PSERC (Cornell)
* matpower.app_ MATPOWER web application based on GNU Octave in WebAssembly
* Oct2PYPOWER_ Python bridge to MATPOWER using Oct2Py
* pandapower_ from Fraunhofer IWES and University of Kassel
* TESP_ from PNNL
* MatDyn_ by Stijn Cole
* PSAT_ by Federico Milano
* OpenDSS_ from EPRI
* GridLAB-D_ from PNNL
* PyCIM_
.. _Python: http://www.python.org
.. _pip: https://pip.pypa.io
.. _SciPy: http://www.scipy.org
.. _MATPOWER: http://www.pserc.cornell.edu/matpower/
.. _Git: http://git-scm.com/
.. _GitHub: http://github.com/rwl/PYPOWER
.. _`API documentation`: https://rwl.github.io/PYPOWER/api
.. _PyCIM: http://www.pycim.org
.. _MatDyn: http://www.esat.kuleuven.be/electa/teaching/matdyn/
.. _PSAT: http://www.uclm.es/area/gsee/web/Federico/psat.htm
.. _OpenDSS: http://sourceforge.net/projects/electricdss/
.. _GridLAB-D: http://sourceforge.net/projects/gridlab-d/
.. _pandapower: http://www.uni-kassel.de/go/pandapower
.. _TESP: https://tesp.readthedocs.io
.. _Oct2PYPOWER: https://github.com/rwl/oct2pypower
.. _matpower.app: https://matpower.app
Changelog
=========
Version 5.1.5 (2020-10-21)
--------------------------
- [NEW] Added new function: AC continuation power flow
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 t_savecase.py and added t_savecase() to test_pypower.py.
.. _`issue #21`: https://github.com/rwl/PYPOWER/issues/21
.. _`issue #25`: https://github.com/rwl/PYPOWER/issues/25
.. _`pull request #26`: https://github.com/rwl/PYPOWER/pull/26/
Version 5.0.0 (2015-05-29)
--------------------------
- [CHANGE] 3-clause BSD License
Version 4.1.2 (2014-10-27)
--------------------------
- [FIX] Fixed error in runopf() (`issue #11`_).
- [FIX] Fixed runpf.py with ENFORCE_Q_LIMS option (`pull request #13`_).
.. _`issue #11`: https://github.com/rwl/PYPOWER/issues/11
.. _`pull request #13`: https://github.com/rwl/PYPOWER/pull/13/
Version 4.1.1 (2014-09-17)
--------------------------
- [FIX] loadcase.py: 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] printpf.py: changed boolean operators from bitwise to logical to fix
the output options
- [FIX] savecase.py: adding indentation to produce valid Python modules
Version 4.0.0 (2011-07-07)
--------------------------
Initial release, port of MATPOWER version 4.0
Raw data
{
"_id": null,
"home_page": "https://github.com/rwl/PYPOWER",
"name": "PYPOWER",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "Richard Lincoln",
"author_email": "r.w.lincoln@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/ac/a1/7b7a6d9f49b66ee98eb914e1c0532207457e558892cd60a66392d0c563e4/pypower-5.1.17.tar.gz",
"platform": null,
"description": "**PYPOWER** is a power flow and Optimal Power Flow (OPF) solver. It is a port of\nMATPOWER_ to the Python_ programming language. Current\nfeatures include:\n\n* DC and AC (Newton's method & Fast Decoupled) power flow and\n* DC and AC optimal power flow (OPF)\n\nStatus\n======\n\n.. |nbsp| unicode:: 0xa0\n :trim:\n\n|libraries|_ |nbsp| |pyversions|_ |nbsp| |license|_ |nbsp| |downloads|_ |nbsp| |travis|_ |nbsp| |pypi_version|_\n\n.. |libraries| image:: https://img.shields.io/librariesio/release/pypi/PYPOWER\n.. _libraries: https://libraries.io/pypi/PYPOWER\n\n.. |pyversions| image:: https://img.shields.io/pypi/pyversions/PYPOWER\n.. _pyversions: https://img.shields.io/librariesio/release/pypi/PYPOWER\n\n.. |license| image:: https://img.shields.io/pypi/l/PYPOWER\n.. _license: https://github.com/rwl/PYPOWER/blob/master/LICENSE\n\n.. |downloads| image:: https://img.shields.io/pypi/dm/PYPOWER.svg\n.. _downloads: https://pypistats.org/packages/pypower\n\n.. |travis| image:: https://img.shields.io/travis/rwl/pypower/master?label=Travis%20CI\n.. _travis: https://travis-ci.org/rwl/PYPOWER\n\n.. |pypi_version| image:: https://badge.fury.io/py/PYPOWER.svg\n.. _pypi_version: https://badge.fury.io/py/PYPOWER\n\nPYPOWER is no longer actively maintained. However, should improvements\nto PYPOWER be required then the `original author <https://github.com/rwl>`_\nmay be available on contract. Please do not hesitate to get in\n`contact <mailto:r.w.lincoln@gmail.com>`_ directly.\n\nPrerequisites\n=============\n\nPYPOWER depends upon these prerequisites on the level of the operating system:\n\n* Python_ 2.7 - 3.9\n\nVirtual Environment\n===================\n\nPYPOWER is recommended to be installed into a virtual environment::\n\n $ python3.8 -m venv venv # Or any supported Python version\n\nDependencies\n============\n\nPYPOWER depends upon NumPy, SciPy and PyRLU which can be installed as follows::\n\n $ venv/bin/python -m pip install -r requirements.txt\n\nInstallation\n============\n\nThe recommended way of installing PYPOWER is using pip_::\n\n $ venv/bin/python -m pip install PYPOWER\n\nAlternatively, `download <http://pypi.python.org/pypi/PYPOWER#downloads>`_ and\nunpack the tarball and install::\n\n $ tar zxf PYPOWER-5.x.y.tar.gz\n $ venv/bin/python setup.py install\n\nTesting\n=======\n\nPYPOWER can be tested locally using the same tooling as on Travis CI::\n\n $ venv/bin/python -m tox -e py27,py38 # Or any supported Python version\n\nUsing PYPOWER\n=============\n\nInstalling PYPOWER creates ``pf`` and ``opf`` commands. To list the command\noptions::\n\n $ venv/bin/pf -h\n\nor::\n\n $ venv/bin/opf -h\n\nPYPOWER includes a selection of test cases. For example, to run a power flow\non the IEEE 14 bus test case::\n\n $ venv/bin/pf -c case14\n\nAlternatively, the path to a PYPOWER case data file can be specified::\n\n $ venv/bin/pf /path/to/case14.py\n\nThe ``opf`` command has the same calling syntax. For example, to solve an OPF\nfor the IEEE Reliability Test System and write the solved case to file::\n\n $ venv/bin/opf -c case24_ieee_rts --solvedcase=rtsout.py\n\nFor further information please refer to https://rwl.github.io/PYPOWER/ and the\n`API documentation`_.\n\nSupport\n=======\n\nQuestions and comments regarding PYPOWER should be directed to the `mailing\nlist <http://groups.google.com/group/pypower>`_:\n\n pypower@googlegroups.com\n\nLicense & Copyright\n===================\n\nCopyright (c) 1996-2015, Power System Engineering Research Center (PSERC) \nCopyright (c) 2010-2021 Richard Lincoln \n\nThe code in PYPOWER is distributed under the 3-clause BSD license\nbelow. The PYPOWER case files distributed with PYPOWER are not covered\nby the BSD license. In most cases, the data has either been included\nwith permission or has been converted from data available from a\npublic source.\n\nWhile not required by the terms of the license, we do request that\npublications derived from the use of MATPOWER explicitly acknowledge\nthat fact by citing:\n\n R. D. Zimmerman, C. E. Murillo-Sanchez, and R. J. Thomas, \"MATPOWER:\n Steady-State Operations, Planning and Analysis Tools for Power Systems\n Research and Education,\" Power Systems, IEEE Transactions on, vol. 26,\n no. 1, pp. 12\u201319, Feb. 2011.\n\nLinks\n=====\n\n* MATPOWER_ from PSERC (Cornell)\n* matpower.app_ MATPOWER web application based on GNU Octave in WebAssembly\n* Oct2PYPOWER_ Python bridge to MATPOWER using Oct2Py\n* pandapower_ from Fraunhofer IWES and University of Kassel\n* TESP_ from PNNL\n* MatDyn_ by Stijn Cole\n* PSAT_ by Federico Milano\n* OpenDSS_ from EPRI\n* GridLAB-D_ from PNNL\n* PyCIM_\n\n.. _Python: http://www.python.org\n.. _pip: https://pip.pypa.io\n.. _SciPy: http://www.scipy.org\n.. _MATPOWER: http://www.pserc.cornell.edu/matpower/\n.. _Git: http://git-scm.com/\n.. _GitHub: http://github.com/rwl/PYPOWER\n.. _`API documentation`: https://rwl.github.io/PYPOWER/api\n.. _PyCIM: http://www.pycim.org\n.. _MatDyn: http://www.esat.kuleuven.be/electa/teaching/matdyn/\n.. _PSAT: http://www.uclm.es/area/gsee/web/Federico/psat.htm\n.. _OpenDSS: http://sourceforge.net/projects/electricdss/\n.. _GridLAB-D: http://sourceforge.net/projects/gridlab-d/\n.. _pandapower: http://www.uni-kassel.de/go/pandapower\n.. _TESP: https://tesp.readthedocs.io\n.. _Oct2PYPOWER: https://github.com/rwl/oct2pypower\n.. _matpower.app: https://matpower.app\n\n\nChangelog\n=========\n\nVersion 5.1.5 (2020-10-21)\n--------------------------\n\n- [NEW] Added new function: AC continuation power flow\n\nVersion 5.1.2 (2017-06-09)\n--------------------------\n\n- [NEW] Configured continuous integration using Travis.\n\nVersion 5.1.0 (2017-06-09)\n--------------------------\n\n- [NEW] Added Python 3 support.\n\nVersion 5.0.1 (2016-07-04)\n--------------------------\n\n- [FIX] Fixed `issue #21`_ and `issue #25`_ in savecase() (`pull request #26`_).\n- [CHANGE] Based on 'recursion limit' issues affecting savemat() in savecase(), converted non-scalars to arrays.\n- [NEW] Created t_savecase.py and added t_savecase() to test_pypower.py.\n\n.. _`issue #21`: https://github.com/rwl/PYPOWER/issues/21\n.. _`issue #25`: https://github.com/rwl/PYPOWER/issues/25\n.. _`pull request #26`: https://github.com/rwl/PYPOWER/pull/26/\n\nVersion 5.0.0 (2015-05-29)\n--------------------------\n\n- [CHANGE] 3-clause BSD License\n\n\nVersion 4.1.2 (2014-10-27)\n--------------------------\n\n- [FIX] Fixed error in runopf() (`issue #11`_).\n- [FIX] Fixed runpf.py with ENFORCE_Q_LIMS option (`pull request #13`_).\n\n.. _`issue #11`: https://github.com/rwl/PYPOWER/issues/11\n.. _`pull request #13`: https://github.com/rwl/PYPOWER/pull/13/\n\n\nVersion 4.1.1 (2014-09-17)\n--------------------------\n\n- [FIX] loadcase.py: Fixed NumPy 1.9 warning about \"== None\" comparisions.\n\n\nVersion 4.1.0 (2014-05-29)\n--------------------------\n\n- [NEW] Support for Python 3 (3.3 and above).\n- [CHANGE]\u00a0Updated to MATPOWER 4.1.\n- [REMOVED]\u00a0Support for Python 2.5 and below.\n\n\nVersion 4.0.1 (2011-07-14)\n--------------------------\n\n- [CHANGE] printpf.py: changed boolean operators from bitwise to logical to fix\n the output options\n\n- [FIX] savecase.py: adding indentation to produce valid Python modules\n\n\nVersion 4.0.0 (2011-07-07)\n--------------------------\n\nInitial release, port of MATPOWER version 4.0\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "Solves power flow and optimal power flow problems",
"version": "5.1.17",
"project_urls": {
"Homepage": "https://github.com/rwl/PYPOWER"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "925e770850672fcbb97cb79a990f157304ff55836a8aa5a85a7741ec82651ac0",
"md5": "07c390a25e6ffffda09e250525c6c06d",
"sha256": "91f5677a6995898a9e46fd2ce2d4b86254ee864725297630872328967144c834"
},
"downloads": -1,
"filename": "PYPOWER-5.1.17-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "07c390a25e6ffffda09e250525c6c06d",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 347428,
"upload_time": "2024-09-02T19:20:30",
"upload_time_iso_8601": "2024-09-02T19:20:30.621908Z",
"url": "https://files.pythonhosted.org/packages/92/5e/770850672fcbb97cb79a990f157304ff55836a8aa5a85a7741ec82651ac0/PYPOWER-5.1.17-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "aca17b7a6d9f49b66ee98eb914e1c0532207457e558892cd60a66392d0c563e4",
"md5": "30a63d105fed638fc15b4a4b24cbee8a",
"sha256": "bd97c805bcc83a11e57ae012333f7491efef4114397d8aef19f889354edf6fe9"
},
"downloads": -1,
"filename": "pypower-5.1.17.tar.gz",
"has_sig": false,
"md5_digest": "30a63d105fed638fc15b4a4b24cbee8a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 249209,
"upload_time": "2024-09-02T19:20:32",
"upload_time_iso_8601": "2024-09-02T19:20:32.785715Z",
"url": "https://files.pythonhosted.org/packages/ac/a1/7b7a6d9f49b66ee98eb914e1c0532207457e558892cd60a66392d0c563e4/pypower-5.1.17.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-02 19:20:32",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rwl",
"github_project": "PYPOWER",
"travis_ci": true,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "appdirs",
"specs": [
[
"==",
"1.4.4"
]
]
},
{
"name": "distlib",
"specs": [
[
"==",
"0.3.1"
]
]
},
{
"name": "filelock",
"specs": [
[
"==",
"3.0.12"
]
]
},
{
"name": "numpy",
"specs": [
[
"==",
"1.22.0"
]
]
},
{
"name": "packaging",
"specs": [
[
"==",
"20.9"
]
]
},
{
"name": "pip",
"specs": [
[
"==",
"21.1"
]
]
},
{
"name": "pluggy",
"specs": [
[
"==",
"0.13.1"
]
]
},
{
"name": "py",
"specs": [
[
"==",
"1.10.0"
]
]
},
{
"name": "pyparsing",
"specs": [
[
"==",
"2.4.7"
]
]
},
{
"name": "pyrlu",
"specs": [
[
"==",
"0.2.0"
]
]
},
{
"name": "scipy",
"specs": [
[
"==",
"1.6.1"
]
]
},
{
"name": "setuptools",
"specs": [
[
"==",
"65.5.1"
]
]
},
{
"name": "six",
"specs": [
[
"==",
"1.15.0"
]
]
},
{
"name": "toml",
"specs": [
[
"==",
"0.10.2"
]
]
},
{
"name": "tox",
"specs": [
[
"==",
"3.23.0"
]
]
},
{
"name": "virtualenv",
"specs": [
[
"==",
"20.4.3"
]
]
}
],
"tox": true,
"lcname": "pypower"
}