PyDSS is a high-level Python package that is a wrapper for OpenDSS (distribution system simulator) and expands on its organizational, analytical, and visualization capabilities.

Learn more and access this tool in the
PyDSS GitHub Repository.

PyDSS simplifies cosimulation framework integration and allows users to develop custom control algorithms and embed them into the simulation environment. PyDSS makes use of to provide a high-level Python interface for OpenDSS. PyDSS also provides extension modules to facilitate Monte Carlo studies in distribution system domain and automated post-processing of results. Flexible architecture makes PyDSS customizable and easily extendible.


  • Allows users to develop custom controls and modules
  • Built-in HELICS interface enables quick cosimulation setup without writing a single line of code
  • Follows a project/scenario structure that allows comparison of results across cases
  • Profile and export managers support multiple interfaces (e.g., CSV, HDF5, Arrow, SQL, and MongoDB)
  • Enables creation of dynamic plots that can be easily extended by users
  • Generates user-defined reports
  • Offers multiple robust user interfaces (e.g., command line, Python, and RESTful API)


Analysis of Degradation in Residential Battery Energy Storage Systems for Rate-Based Use Cases, Applied Energy (2020)

Advanced Inverter Voltage Controls: Simulation and Field Pilot Findings, NREL Technical Report (2018)


Aadil Latif

Senior Engineer