Skip to content

Releases: powsybl/pypowsybl

v0.14.0

23 Mar 12:49
Compare
Choose a tag to compare

PyPowSyBl v0.14.0 release notes

Features

  • DC security analysis (#330)
  • Possibility to define the default implementations for loadflow, security analysis, sensitivity analysis (#330, #337)
  • Update powsybl-open-loadflow to v0.19.0

Bug fixes

  • Loadflow parameters extensions were not correctly loaded from configuration (#339)

v0.13.0

10 Mar 14:52
7a6cbe7
Compare
Choose a tag to compare

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)

v0.12.0

19 Jan 09:27
Compare
Choose a tag to compare

PyPowSyBl v0.12.0 Release Notes

Features

  • Network area diagram (#269)
  • Loadflow validation (#184)
  • Migrate to PowSyBl Core 4.6.0 (#288)
  • Network data:
    • possibility to update tap changer steps and shunt sections (#268)
    • loss factor for VSC converters (#266)
    • access to bus breaker topology graph of voltage levels (#252)

Bug fixes

Documentation

Technical improvements

  • Allow long running functions to be run in parallel threads, by releasing the GIL (#287)

Breaking changes

  • the method get_voltage_level_topology of Network is renamed to get_node_breaker_topology.

v0.11.0

22 Nov 14:04
26a7a33
Compare
Choose a tag to compare

PyPowSyBl v0.11.0 Release Notes

Features

  • Removal of Hades2 support (#246)
  • User friendly methods for simple updates (no need for dataframe) (#251, #256, #264)
  • Migrate to PowSyBl Core 4.5.1 (#273)
  • Add switches names in node breaker topology (#263)

Bug fixes

Documentation

  • Detailed docstrings for network data access (#123)
  • Update user guide and API reference on readthedocs, in particular loadflow, security analysis, sensitivity analysis (#249, #254, #253, #255)
  • Add a single line diagram in getting started section of doc. (#260)
  • Move notebooks to another repository (#265)

Technical improvements

  • Manage multi index dataframes (#234)
  • Prepare pypowsybl jars release (#242)
  • Configurable java source directory for cmake build (#241)
  • Build on MacOS 10.15 (#258)
  • Use array delete where relevant (#257)
  • Update PyBind11 (#262)
  • Migrate to GraalVM 21.3.0 (#261)

v0.10.0

04 Oct 12:06
678dd6a
Compare
Choose a tag to compare

PyPowSyBl v0.10.0 Release Notes

Features

  • Network merging (#214)
  • Network data :
    • Add alpha and rho to ratio tap changers dataframe (#220)
    • Add current limits data frame (#149)
    • Add shunts linear model dataframe (#219)
    • Add name to all identifiables data frames (#236)
  • LoadFlow run_ac and run_dc now return a list (#227)
  • Migrate to PowSyBl 4.4.0 (#229)
  • Get export parameters info (#182)
  • Add XNode sensitivity unit test and documentation (#237)

Bug fixes

  • Fix NPE in substation data frame (#228)
  • Fix doctest to be independent of local config (#232)
  • Fix Hades2 GraalVm metadata (#233)

Documentation

Technical improvements

  • Install PowSyBl math native library (#226)

v0.9.0

20 Aug 15:40
a527b18
Compare
Choose a tag to compare

PyPowSyBl v0.9.0 Release Notes

Features

  • Network variants management (#134)

  • Access to network metadata (ID, name, date, forecast, source format) (#180)

  • Single line diagrams notebook integration (#154)

  • Read/write network from/to a string (#153, #162)

  • Support pickling and deepcopy of networks (#157)

  • Support new types of contingencies: bus bars, generators, SVCs, dangling lines, shunts, 3W transformers (#177 )

  • New data available in dataframes, and new data available for modification:

    • voltage level and component numbers for buses, and ability to modify voltage/angle (#151)
    • ratio and phase tap changers (#126)
    • current value in addition to active and reactive power values
    • update lines (#196)
    • more information in shunts dataframes (#200 and #205)
    • shunt non linear sections dataframes (#206)
    • possibility to connect/disconnect network elements using dataframes (#201)
    • generators reactive limits (#129)
    • node breaker description of the topology of voltage levels (#150)
  • Security analysis:

    • Import LimitType and Side in pypowsybl.security (#133)
    • Results for monitored network elements (#138)
    • Violations available as a pandas dataframe (#145 )

Documentation

Bug fixes

  • Fixed memory leaks when returning strings from java (#181)
  • Fix PSS/E import (HVDC) (#170)

Technical improvements

  • Sonar analysis and test coverage on python code (#155, #158)
  • Data frame mapping refactoring on Java side (#126)
  • Unit tests organization (#159)
  • Java handles destruction is automated, handles are hidden from python normal users (#169)
  • Migrate to GraalVM 21.2.0 (#204)
  • Migrate to PowSyBl 4.3.1 (#202)

v0.8.0

13 Jun 20:46
6b0ad13
Compare
Choose a tag to compare

PyPowSyBl v0.8.0 Release Notes

Solved issues

  • Migrate to PowSyBl Core 4.2.0, SLD 2.2.0 and OLF 0.11.0 (#113)
  • Voltage sensitivity calculation (#81)
  • Zone sensitivity calculation (#112)
  • AC sensitivity calculation (OLF) and Hades2 sensitivity (AC and DC) in addition to OLF (#86)
  • Add more network series (#88, #94, #100, #114, #106, #128)
  • Network update (#50, #91)
  • Breaking change in sensitivity analysis to better model AC and DC calculation (#97, #109)
  • Pythonic imports (#78): all packages (network, loadflow, etc) are automatically imported by just importing pypowsybl.
import pypowsybl as pp

# nothing else needed!
  • Parameters support for network import/export (#83)
  • Add more IEEE test cases (#82)
  • Improve ReadTheDoc documentation (#89, #90):
  • Return numpy arrays from c++ layer when possible (avoids some copies) (#92)
  • Fix PSS/E file loading (#98)
  • Clean exception management (#93, #99)
  • Automate PyPi releases (#115)
  • Add options for extra-jar to be built with native-image (#105)

API changes

  • security-analysis package has been renamed security
  • sensitivity-analysis package has been renamed sensitivity
  • create function from sensitivity-analysis has been replaced by create_dc and create_ac
  • run_ac and run_dc in SensitivityAnalysis class have been replaced by run
  • get_buses(), get_generators() and get_loads() methods have been removed from Network
  • Pandas based network elements getters have been rename from create_<elements>_data_frame() to get_<elements>()
  • Pandas based network elements updaters have been rename from update_<elements>_from_data_frame() to update_<elements>()

v0.7.0

13 Apr 15:27
d8c8b70
Compare
Choose a tag to compare

PyPowSyBl v0.7.0 Release Notes

v0.6.0

08 Apr 19:18
b596366
Compare
Choose a tag to compare

PyPowSyBl v0.6.0 Release Notes

  • Add network reduction (#60)
  • Add Sphinx documentation template (#64)
  • Add tap position to 2 and 3 windings transformer data frame (#66)
  • HVDC line contingency support in DC sensitivity analysis (#67, #69)
  • Improve sensitivity analysis memory consumption (#59)

v0.5.0

14 Mar 21:03
aba5be3
Compare
Choose a tag to compare

GridPy v0.5.0 Release Notes

  • Fix error "basic_string::_M_construct null not valid" when creating a network element data frame (#53)
  • Upgrade OLF to 0.10.0-dev2 (#54):
    • DC sensitivity analysis: fix contingency involving phase tap changer