Skip to content

dss-extensions/dss-extensions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DSS-Extensions: hub repository

This repository will be slowly populated. Check back regularly or use the "Watch" feature on GitHub to keep up-to-date.

This GitHub repository will be used to concentrate documentation, discussions, benchmark results, and i18n/locale files around all projects hosted in the DSS-Extensions organization. As a reminder, the projects hosted here are not supported by EPRI.

DSS-Extensions were originally meant to expose the official OpenDSS engine to multiple languages and platforms with minimal changes. Since 2019, that goal has been reached and the target moved to modernize the our base library (DSS C-API) and add useful extensions and modifications to the DSS engine.

Projects currently hosted on this organization use several languages (Pascal, C, C++, Python, Julia, C#, MATLAB) and there have been requests and comments from users interested language bindings for other languages like Java, Go, and Rust. To avoid upsetting one of the language bindings when updating the base library, sometimes we cannot change certain aspects of the current implementation. This is the place to raise concerns and suggestions about such topics.

Several pre-2022 issues from the other projects were transferred to the issue tracker here. Even though the wording on those may suggest the original project/language, they present challenges or tasks shared across all projects.

Although we have the Discussions feature is enabled, there is no intention in fragmenting the OpenDSS community. We recommend checking and considering posting to the official OpenDSS forum if it's a general OpenDSS question or issue (if possible, test with the official OpenDSS GUI or using the official COM version), but otherwise feel free to post here.

API Documentation

Currently we have:

  • DSS C-API Pascal docs: Documentation generated from the Pascal source code using PasDoc. This could be useful for someone studying the OpenDSS internals, especially of our implementation. The class diagram is especially useful.
  • DSS C-API headers and dss.hpp: Documentation generated from the C headers and the new (WIP but quite extensive) C++ header library, including the classic API and the newest API extensions.
  • DSS-Python reference: Minor notes, several examples and API docs; besides the classic API, this includes initial docs of the new Obj API, plotting API, multiple DSS instances, and a bit more.
  • DSS Sharp reference: General API docs generated by the Sandcastle Help File Builder.
  • OpenDSSDirect.jl: Important notes and API docs.
  • OpenDSSDirect.py: Minor notes, some examples and API docs; needs some updates.

For DSS_MATLAB, MATLAB itself can generate the docs using the help function.

Since some of our packages are intended to be drop-in replacements for the official COM implementation, a lot of the official documents, help files and examples can be used with little to no modifications. Even for the packages without the same layout as the COM object, the same concepts still apply, with some slight changes.

Conversely, a lot of our documentation can be used with the official OpenDSS implementation (just ignore anything marked "API Extension"), after all we track and port almost all changes in the upstream version here.

FAQ

See the FAQ on https://dss-extensions.org/faq.html