OpenDSSDirect.py#

PyPI Supports Linux Supports macOS Supports Microsoft Windows

OpenDSSDirect.py is a cross-platform Python package implements a “direct” library interface to our customized implementation of OpenDSS using DSS-Python. OpenDSS is an open-source electric power distribution system simulator distributed by EPRI.

OpenDSSDirect.py is part of DSS-Extensions, a larger effort to port the original OpenDSS to support more platforms (OSs, processor architectures), programming languages, and extend both the OpenDSS engine and API, represented in the AltDSS engine:

Overview of related projects

As a reminder, although very compatible, this project is not supported by EPRI.

See OpenDSSDirect.jl for a similar package in Julia, and for more context about this project and its components (including alternatives in MATLAB, C++ and C#/.NET), please check https://dss-extensions.org/ and our hub repository at dss-extensions/dss-extensions for more documentation, discussions and the FAQ.

flowchart TD C["AltDSS engine/DSS C-API\n(libdss_capi)"] --> P["DSS-Python: Backend"] P --- DSSPY["<a href='https://dss-extensions.org/DSS-Python/'>DSS-Python\n(dss package)<a/>"] P --- ODDPY["OpenDSSDirect.py\n(opendssdirect package)"] P --- ALTDSSPY["<a href='https://dss-extensions.org/AltDSS-Python/'>AltDSS-Python\n(altdss package)</a>"]

Both OpenDSSDirect.py and DSS-Python expose the classic OpenDSS API (closer to the COM implementation). For an alternative API which exposes all OpenDSS objects, batch operations, and a more intuitive API, check AltDSS-Python. If required, users can mix all three packages in the same project to access some of their unique features.

Troubleshooting#

It is recommended to use conda to install pandas, which is currently a dependency of this package. This package interfaces with OpenDSS using the “direct” library interface, so a good understanding of OpenDSS will help troubleshooting.

If you are having issues using this Python interface, feel free to open an Issue on GitHub here.

For issues specific to DSS-Extensions, users are welcome to post at the Discussions page from DSS-Extensions. For general OpenDSS questions, the official OpenDSS forum is very useful.

The official repository for OpenDSSDirect.py is hosted at dss-extensions/OpenDSSDirect.py

Acknowledgments#

Thanks to @tshort, Davis, @temcdrm, @GordStephen, @Muxelmann and @PMeira for their contributions, as well as all the users for their valuable feedback. Thanks to EPRI for providing OpenDSS to the power systems community.

See also our repositories for DSS-Python for the underlying Python package used in this package, and DSS C-API for the modified and extended OpenDSS codebase used in DSS-Extensions.

Documentation#

The documentation pages are organized as follows.

Indices and tables#