Skip to content

v0.13.0

Compare
Choose a tag to compare
@geofjamg geofjamg released this 10 Mar 14:52
· 458 commits to main since this release
7a6cbe7

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)