Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
dss_capi_0.13.2_linux_arm64.tar.gz | 2023-05-25 | 10.4 MB | |
messages.tar.gz | 2023-05-25 | 102.6 kB | |
messages.zip | 2023-05-25 | 99.4 kB | |
dss_capi_0.13.2_darwin_x64.tar.gz | 2023-05-25 | 4.9 MB | |
dss_capi_0.13.2_darwin_arm64.tar.gz | 2023-05-25 | 4.7 MB | |
dss_capi_0.13.2_win_x64.zip | 2023-05-25 | 15.5 MB | |
dss_capi_0.13.2_linux_x64.tar.gz | 2023-05-25 | 15.2 MB | |
dss_capi_0.13.2_win_x86.zip | 2023-05-25 | 14.5 MB | |
dss_capi_0.13.2_linux_x86.tar.gz | 2023-05-25 | 14.6 MB | |
DSS C-API 0.13.2.tar.gz | 2023-05-25 | 2.1 MB | |
DSS C-API 0.13.2.zip | 2023-05-25 | 2.2 MB | |
README.md | 2023-05-25 | 3.4 kB | |
Totals: 12 Items | 84.3 MB | 0 |
DSS C-API is a library that exposes a plain C API for an unofficial/alternative implementation/port of OpenDSS, the Distribution System Simulator from EPRI (the Electric Power Research Institute), aiming for full COM compatibility and beyond. It allows using most of the OpenDSS features on Windows, Linux and macOS with compatible behavior across multiple processor architectures. It is the lower level API used by the other projects in DSS-Extensions: DSS-Python, OpenDSSDirect.py, OpenDSSDirect.jl (Julia language), DSS# (.NET/C# bindings), DSS MATLAB, and the dss.hpp C++ header-only library.
All derived/downstream projects, including the documentation sites and dss.hpp headers, will be updated in the next hours/days to use this new engine.
See the changelog for a complete list of changes since 0.12.1, initially listed below. See also the updated "Known Differences" document, which lists the main differences between the DSS C-API codebase and the main/official OpenDSS.
For a growing general repository about the projects, see https://github.com/dss-extensions/dss-extensions
Besides the changes listed below, the plotting backend in DSS-Python was updated to fix and complement compatibility with the official OpenDSS plots.
Changes since 0.13.1
This is a minor release.
- Integrate some of the code ports from the official OpenDSS. A few changes were left in the
next_svn_merge
branch to be integrated after there is a new OpenDSS release. - Fix and complement some header code and comments.
- Refactor more of the internal code (huge merge still pending).
- Plotting: callback messages now include bus marker information.
- Add more error-checking to avoid accidental crashes in case of unexpected calls by the user code.
Text_CommandBlock
: rewritten, now reuses the internalDoRedirect
function, which allows block comments and also complements the error backtrace, when necessary.Obj_GetClassIdx
: fixed both header and implementation.- Build scripts updated. The version in the header is automatically updated on release.
- JSON exports: new flags implemented, and whole behavior adjusted to better exporting all classes, including some problematic cases See DSS-Extensions — JSON exports for notes and examples.
Full Git Changelog: https://github.com/dss-extensions/dss_capi/compare/0.13.1...0.13.2
Precompiled binaries
Most of the binaries available here are built through GitHub Actions, as are most of the development builds (you need to be logged in to be able to download dev builds). Linux ARM32 binaries will be added manually as time permits (please feel free to create a new issue if we delay it too much).
Users rarely need to build the Pascal binaries themselves, since there aren't many Free Pascal compiler flags that affect them. We do recommend building KLUSolveX optimized for your machines, especially for HPC clusters (since it's built as a shared library, you don't need to worry about Free Pascal).