OpenDSSDirect.py is a cross-platform Python package implements a "direct" library interface to our customized/alternative implementation of OpenDSS using DSS-Python. OpenDSS is an open-source distribution system simulator distributed 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++, C#/.NET, Go, and Rust), please check https://dss-extensions.org/ and our hub repository at dss-extensions/dss-extensions for more documentation, discussions and the FAQ.
An alternative Python package is being developed in AltDSS-Python. It can be used together with OpenDSSDirect.py.
As a reminder, although very compatible, this project is not supported by EPRI.
This package is available for Windows, Mac and Linux, including ARM and x86 variants.
The documentation for this package can be found here.
Recommended: Install Python using Miniconda or Anaconda
Open a command line interface and type the following.
pip install 'OpenDSSDirect.py[extras]'
See the installation instructions for more information.
Updating from pre-v0.9 versions? See the upgrade guide for recommendations.
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.
Thanks to @tshort, Davis, @temcdrm, @GordStephen, @Muxelmann and @PMeira for their contributions, as well as all the users for their valuable feedback.
See also our repositories for DSS-Python for the underlying Python package used in this package, and AltDSS/DSS C-API for the modified and extended OpenDSS codebase used in DSS-Extensions.