Code Monkey home page Code Monkey logo

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

DSS-Extensions's Projects

altdss-go icon altdss-go

Golang (CGo) bindings for AltDSS/DSS C-API. Tries to mimic the organization of the OpenDSS COM classes, within the scope of Go's language features.

altdss-python icon altdss-python

A modernized package that combines the best of OpenDSSDirect.py, DSS-Python, and new features from the (Alt)DSS engine and C-API.

altdss-rust icon altdss-rust

A crate with Rust bindings (based on bindgen) to AltDSS/DSS C-API, the alternative OpenDSS implementation from DSS-Extensions

altdss-schema icon altdss-schema

JSON schema and general AltDSS/OpenDSS schema definitions and related code

dss-python icon dss-python

Native, "direct" Python bindings (interface) and misc tools for a custom implementation of OpenDSS (EPRI Distribution System Simulator). Based on CFFI, DSS C-API, aiming for full COM API-level compatibility on Windows, Linux and MacOS, while providing various extensions.

dss_capi icon dss_capi

A multi-platform, customized C-API library and alternative implementation of OpenDSS (EPRI Distribution System Simulator) aiming for full COM compatibility. Unofficial/unsupported by EPRI, but extensively tested.

dss_matlab icon dss_matlab

MATLAB interface to our alternative implementation of OpenDSS, based on the DSS C-API library aiming for full COM compatibility on Windows, Linux and MacOS.

dss_sharp icon dss_sharp

C#/.NET bindings for DSS C-API, an unofficial implementation of OpenDSS with a custom API in plain C, new features and API extensions.

electricdss-tst icon electricdss-tst

A filtered copy (test and example DSS scripts), with modifications, of the OpenDSS SVN repository (https://svn.code.sf.net/p/electricdss/code/trunk)

klusolve icon klusolve

KLUSolveX: An extended version of KLUSolve for the DSS C-API library

opendssdirect.jl icon opendssdirect.jl

OpenDSSDirect.jl is a cross-platform Julia package implements a "direct" library interface to OpenDSS, currently using the alternative OpenDSS implementation from DSS-Extensions

opendssdirect.py icon opendssdirect.py

OpenDSSDirect.py: a cross-platform Python package that implements a native/direct library interface to the alternative OpenDSS engine from DSS-Extensions.org

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.