PyPowSyBl v0.13.0 Release Notes
Features
- Support for PowerFactory file import (#329)
- Network area diagrams can now be created around a list of voltage levels, instead of just 1 (#327)
breaking change: the argument is in consequence renamed from voltage_level_id
to voltage_level_ids
:
network.get_network_area_diagram(voltage_level_ids=['VL1', 'VL2'], depth=2)
- A per-unit view of the network is now available:
pypowsybl.perunit.per_unit_view(network)
(#193)
- Network data
- The location regulated by the voltage control of generators is now available as
regulated_element_id
attribute (#218)
For now, it is only supported in node breaker voltage levels.
- Network elements creation (#259, #319)
- Dataframes elements selection (#283, #311, #312)
breaking change: in order to get columns corresponding to properties in IIDM, you now need to use the argument all_atributes=True
:
network.get_generators() # Only gets default columns, which does not include IIDM properties
network.get_generators(all_attributes=True) # Get all possible columns
- Missing lcc dataframe update (#321)
- breaking change: for better consistency between dataframes, all attributes ending with
..._setpoint
have been renamed to target_...
. For example voltage_setpoint
becomes target_v
(#282)
- Update powsybl components (#326):
- powsybl-core 4.7.0
- powsybl-sld 2.8.0
- powsybl-nad 0.3.0
- powsybl-open-loadflow 0.18.0
Bug fixes
- Security analysis is now correctly run on the current working variant of the network (#314)
- Fix sensitivity replay mode (#315)
Documentation
- Fix documentation (#310, #309, #313)
- Add network area diagram to reference doc (#324)
Technical improvements
- Python 3.10 build (#275)
- Move native libs to pypowsyb package, remove source distribution (#291)
- pypowsybl now provides python stubs for native module _pypowsybl, to allow static type checking (#306)
- Shared libraries are not installed anymore in python root package, but in
pypowsybl
package (#290)
- CI: using pytest to execute unit tests (#295)
- CI: enforcing type annotations with mypy (#307)
- Fix SLD unit test with Java 17 (#322)
- ARM64 build support (#323)
- Fix GraalVM reflection config (#316)
- Linting (#308)
- Fix code coverage generation for sonar (#294, #297)
- Use official GraalVM GitHub action (#292)
Breaking changes
- By default, not all columns of network dataframes are now returned by getters:
in particular, IIDM properties are now considered "non default columns", and you need to either ask for all attributes
or for the specific attributes you need:
network.get_generators() # Only gets default columns, which does not include IIDM properties
network.get_generators(all_attributes=True) # Get all possible columns
network.get_generators(attributes=['target_p', 'my_property']) # Get only target_p and my_property columns
- for better consistency between dataframes, all dataframe columns ending with
..._setpoint
have been renamed to target_...
. For example voltage_setpoint
becomes target_v
.
- Network area diagrams can now be created around a list of voltage levels, instead of just 1,
the argument is in consequence renamed from voltage_level_id
to voltage_level_ids
:
network.get_network_area_diagram(voltage_level_ids=['VL1', 'VL2'], depth=2)