-
Notifications
You must be signed in to change notification settings - Fork 6
Description
In DSS C-API v0.12.0, there are two sets of functions Obj_*
and Batch_*
to manipulate DSS properties directly, bypassing the textual parser and string conversion to read/write the properties.
Initially, my plan would be to generate code from the schema like in IObj.py (also WIP) -- for Python I added the "magic numbers" directly to avoid the lookup overhead, Julia could use enums/constants. Most of the code is very simple (mapping class id, property id and property type to the language types). I also plan to publish a C++ version of that in a few days.
Besides some general things like naming conventions (ideally we should try to use a default convention across all projects), does anyone have suggestions before I try this? We can always add an initial implementation and iterate later, as long as things work.
We should add more functions to get/manipulate the power flow state in DSS C-API v0.12.1, effectively moving away from the classic API based on the original COM implementation and the "Active..." concept. And dss-extensions/dss_capi#113 will allow us to return the matrix shapes.
EDIT: Some samples for Python available in test_obj.py and test_batch.py.
In Python, this is currently being developed in AltDSS-Python. See the docs at https://dss-extensions.org/AltDSS-Python/examples/GettingStarted.html
We should start porting it soon to Julia.