- Fixed in our DSS engine, the LineGeometries API now returns all conductors even if `reduce=yes`.
- The `to_altdss()` function now works again.
An upcoming release is expected for the next week, including bringing back support for the official OpenDSSDirect.DLL on Windows, within its limitations (in terms of API, features and platforms, for the moment).
Recently, we've released the refactored OpenDSSDirect.py, v0.9, that allows multiple OpenDSS engines, Python iteration for classes, safer access (avoids some common issues we observed throughout the years), and more. There is an update/upgrade guide at the documentation site: https://dss-extensions.org/OpenDSSDirect.py/updating_to_0.9.html
❓ What's this?
This package provides a multi-platform, function-style, direct interface to the OpenDSS engine implementation from the DSS-Extensions project.
OpenDSSDirect.py can be installed using pip. For more: http://dss-extensions.org/OpenDSSDirect.py/notebooks/Installation.html
As OpenDSSDirect.py accumulates changes from DSS-Python, DSS C-API and the official OpenDSS, read below for important changes in the ecosystem, starting in v0.9.
ℹ️ Recent news
Besides the codebase update for v0.9, [the documentation and examples have also been updated](https://dss-extensions.org/OpenDSSDirect.py/), and will be better integrated into the new [DSS-Extensions](https://dss-extensions.org/) site soon, which does contain shared documentation, including DSS language/data model reference and [notes about the classic OpenDSS API](https://dss-extensions.org/classic_api.html) (based on the original COM implementation).
Other highlights in v0.9: there are new functions to [save the circuit which customized flags](https://dss-extensions.org/OpenDSSDirect.py/notebooks/Saving.html), and the work-in-progress JSON implementation now allows both saving and loading whole circuits.
❓AltDSS-Python
Like DSS-Python, AltDSS-Python can also be used together with OpenDSSDirect.py. Since multiple DSS engines are supported, there are utility functions to map across the packages. AltDSS-Python, or just AltDSS in this context, uses a whole different paradigm from the older Python packages, moving away from the "Active..." paradigm. The new AltDSS includes integration to all OpenDSS object types (access, creation, manipulation, all directly in Python), exposed as Python objects, and also allows using batches of DSS objects to accelerate some operations that would be otherwise slow in Python, pushing many operations to the engine, ranging from collected results for multiple objects, to efficient use of DSS properties. For example, bulk updating (incrementing/decrementing/multiplying/etc.) an int or float property for thousands of elements doesn't require copying the data and is done directly in the engine, after the input data for the operation is prepared in Python.
Engine updates
As usual, there have been a lot of changes our OpenDSS engine, AltDSS/DSS C-API. See https://github.com/dss-extensions/dss_capi/blob/master/docs/changelog.md#versions-014x for the complete changes since the last announced release here on GitHub. There are a few specific bugfixes, ports from the official OpenDSS, besides the on-going refactoring of the whole codebase.