Releases: powsybl/pypowsybl
v1.14.0
PyPowSyBl v1.14.0 release notes
⭐ New Features
Integrating powsybl-dependencies 2025.3.1 and powsybl-optimizer 0.16.0 (#1134, #1142) (see here the associated release notes)
Adding limit reduction to security analysis (#1123)
Add DC components dataframes (#1120)
Split reduce method in 3 by usage (#1129)
Add dynamic generator properties extensions (#1133)
Dynamic model adders (#1139)
Rework RAO API to be more pythonic (#1126)
🔨 Technical improvements
Change macos runner to macos-15-intel (#1132)
Refactoring to improve linting score (#1143)
🪲 Bug fixes
Convert Dynamic simulation curves dataframe index to Timestamp (#1125)
Fix Grid2op element order issue after cloning (#1128)
Remove not useful loadflow run from tests (#1140)
🚨 Breaking changes
📔 Documentation
Add link to the Powsybl OpenLoadFlow implemenation of the sensitivity analysis (#1137)
Miscellaneous doc fixes (#1130)
Add precision for documentation of 2 windings transformers (#1141)
v1.13.0
PyPowSyBl v1.13.0 release notes
⭐ New Features
Integrate powsybl-dependencies 2025.2.0 (#1107) (see here the associated release notes)
Loadflow parameters json and pickle serialization support (#1065)
Adding static var compensator extension (#1076)
Battery voltage regulation extension support (#1102, #1116)
Add Network.update_from_file() method (#1002)
Allow to update operational limits value (#1035)
Refactor dynamic simulation curve dataframes (#1097)
Handle additional dynamic models (#1077)
adds an SldProfile parameter to the SLD get and write methods (#1029)
Adds a styles property to the SldProfile (#1101)
⚙ Beta Features
Add RAO provider argument (#1086)
[RAO] Split remedial action results in different dataframes (#1081)
Add rao log filter util (#1091)
Use OpenRAO version for monitoring (#1103)
OpenRao : fix search tree parameters and load flow parameters handling (#1063)
Parametrize RAO provider in tests (#1098)
Angle and voltage monitoring tests (#1100)
🔨 Technical improvements
GraalVM JDK 21 (#669)
Change snapshot and release CIs to use java 21 (#1099)
Factorize CI, to only build 1 time by OS the native libraries and reuse them for each python (#1069)
Complete fonctional import of all modules + doc fix (#1070)
Update Slack link with new link (#1064)
Pypowsybl report node resources bundle (#1090)
🪲 Bug fixes
Fix OpenRao test (#1068)
Fix : add the missing dependency to prettytable wrongfully removed (#1072)
Add call_guard to monitoring functions to avoid getting stuck acquiring the gil during the process. (#1074)
Optional dynamic simulation report node fix (#1087)
Fix injectionsAdded parameter not taken into account (#1073)
PSSE import : add missing metadata (#1112)
Optional dynamic simulation arguments (#1089)
adds missing EdgeInfoMetadata in NAD's reflect-config (#1115)
🚨 Breaking changes
Dynamic simulation :
ModelMappingget_supported_models(mapping_type: DynamicMappingType)is replaced withget_supported_models(category_name: str).
Use the new methodget_categories_namesfor the list of available categories.simulation_result.curvesnow return a dataframe withpandas.Timestampindex instead of integer index.
Model :
The dataframe created by the get_operational_limits method has now a multi-index that contains the columns element_id, side, type, acceptable_duration, group_name, instead of only the element_id.
It can break dataframe manipulation because all existing .loc["<element>"] on the dataframe will now return a dataframe with the same lines, but without the element_id column.
📔 Documentation
Complete API reference documentation (#1105)
Show the use of reports when running a loadflow (#1060)
v1.12.0
PyPowSyBl v1.12.0 release notes
⭐ New Features
Upgrade to dependencies 2025.1.0 (#1044)
Complete integration of IIDM v1.14 (#1047)
Update powsybl-optimizer to v0.14.0 (#1057)
Add network modification to split and merge 3-windings transformers (#983)
Add apply_solved_values methods (#1052)
Add a method to check if a file is a loadable network (#986)
Get tap phase shift from transformer dataframes (#985)
Get HVDC line ID attribute from a converter station (#997)
Add convenient columns in transformers dataframe to get RXGB for current tap (#1008)
Add regulated bus ID to generator, VSC and SVC dataframes (#1018)
Add operator strategies and remedial actions from a JSON file (#978)
Export security analysis to JSON file (#987)
Add per-unit for operational limits (#999)
Pass GraalVm options using an env variable (#992)
Asynchronous loadflow run (#1005)
Dynamic simulation parameters (#996)
Create a default NadProfile (#991)
Add injection labels in CustomLabelProvider (#1042)
⚙ Beta Features
Add monitoring and full parameters mapping to Rao api (#961)
Expose rao result as dataframes (#1006)
🔨 Technical improvements
Upgrade maven to 3.9.10 (#1016)
Add python 3.13 support, remove python 3.8 (#902)
Upgrade setuptools to fix security error (#1013)
Bump powsybl-parent to v23 (#1032)
Upgrading mypy and removing implicit Optional (#1040)
Fix dependencies to use numpy>=2 everywhere + fix doc (#1036)
Log Java exceptions as error (#1043)
Upgrade mac runner to macos-15 (#1050)
🪲 Bug fixes
Fix transformer gb_at_current_tap per-uniting (#1010)
Fix 3 windings transformer per-uniting (#1015)
Add missing HVDC AC emulation (#1020)
Fix missing BusbarSection columns (#1026)
Fixing voltage_initializer integration (#1034)
Add PARTIAL_FAILURE to RaoComputationStatus enum (#1041)
Add support of transfo 3 variable auto detection in sensitivity analysis (#995)
Fix provider parameters for short-circuit (#1051)
🚨 Breaking changes
IIDM v1.14
- 'tap' Series in the phase and ratio tap changer dataframes are now only the input of the computation. The output of a loadflow for this property is now obtainable with the 'solved_tap_position' Series.
- Similarly, 'section_count' of shunt_compensators is now only the input, the output being 'solved_section_count'.
- To keep compatibility, it is possible to call the new
apply_solved_tap_and_section_count_valuesmethod after a loadflow to copy the solved values to the input values. - Static var compensators now have a new boolean feature 'regulating' defining whether or not it is regulating voltage. Accordingly, the regulation_mode 'OFF' has been removed.
- 'on_load' Series in the ratio tap changers dataframe has been changed to 'oltc'. It now must be set to True to set 'regulating' to True
- Phase tap changers 'FIXED_TAP' regulation mode has been removed
Dynamic simulation
In Simulation.run, replace start: int and stop: int with parameters: Parameters (or None).
📔 Documentation
Rename config.yaml with config.yml (#1004)
Minor doc fixes (#1000)
Remove list of sensitivty supported factors in pypowsybl an bind to java OLF doc (#1056)
Fixes README and pom.xml (#1048)
v1.11.2
PyPowSyBl v1.11.2 release notes
Vulnerability fixes
Update powsybl-dependencies to v2025.0.2 (#1028) (see the release note for more information)
Fix InMemoryZipFileDataSource.listNames(String regex) (#1022)
v1.11.1
PyPowSyBl v1.11.1 release notes
⭐ New Features
⚙ Beta Features
🔨 Technical improvements
Change ubuntu runner in Snapshot CI (#990)
🪲 Bug fixes
Upgrade to PowSyBl 2025.0.1 (#998)
Fix orderly-set version due to type error (#984)
Fix upload of wheels (force upgrade packaging) (#981)
🚨 Breaking changes
📔 Documentation
v1.11.0
PyPowSyBl v1.11.0 release notes
⭐ New Features
Upgrade to powsybl-dependencies 2025.0.0 (find here the corresponding version of underlying PowSyBl projects and their release notes) (#974)
Expose voltage angles to Grid2op backend (#968)
Add DiscreteMeasurements extension dataframe (#975)
Adding terminals connection action (#953)
Add JSON file content to ContingencyContainer (#959)
Adds a NadProfile param to the get NAD and write NAD methods (#942)
Adds more customization parameters to the NadProfile (#960)
Add voltage_level_details parameter (#963)
Extends NadProfile with style customizations (#976)
⚙ Beta Features
RAO integration : Fail early if crac is not valid (#979)
🔨 Technical improvements
fix Upload wheel step path in snapshot CI (#945)
Snapshot CI build on Ubuntu 20.04 (#947)
Clean import config creation (#965)
Change minimum version of cmake to reflect use of cmake_path (#967)
Switch snapshot ci to new app and rework notification design (#938)
🪲 Bug fixes
Fix network save_to_string() encoding issue (#946)
Fix NPE + clarify error message for wrong extension names (#952)
Topovec is wrong when elements are lost by propagation (#966)
Nullable specific parameters category key (#969)
🚨 Breaking changes
📔 Documentation
Fix Network.create_operational_limits docstring (#956)
Add supported extensions to documentation (#949)
List supported actions in SA documentation (#957)
Add "Build the doc" section in the readme (#941)
Add documentation about RAO beta implementation (#958)
Fix subscripts in per unit documentation (#962)
v1.10.0
PyPowSyBl v1.10.0 release notes
⭐ New Features
Upgrade to powsybl-dependencies 2024.4.1 (find here the corresponding version of underlying PowSyBl projects and their release notes)
Upgrade powsybl-open-rao up to date with powsybl-dependencies (to v6.2.1) #936
Add 3 windings transformers ratio and phase tap changers (#937)
Add a fixed_positions param to get_network_area_diagram (#928)
🔨 Technical improvements
🪲 Bug fixes
Fix sensitivity computation integration #940
🚨 Breaking changes
📔 Documentation
v1.9.0
PyPowSyBl v1.9.0 release notes
⭐ New Features
Upgrade to powsybl-dependencies 2024.4.0 (find here the corresponding version of underlying PowSyBl projects and their release notes) (#925)
Upgrade powsybl-optimizer from v0.7.0 to v0.10.0 #929
Support creation and removal of internal connections (#873)
Add Load Flow specific parameters categories (#877)
Get import supported extensions (#889)
Bus/Breaker view buses: add column with bus ID in bus view (#880)
Adding dangling line's generation part mapping (#821)
Mapping grounds to python (#898)
Capability to mix connection and disconnection in a single update (#896)
Get element type from a node/breaker topo nodes dataframe (#910)
Add attributes to node/breaker graph (#911)
Get network element properties as a dataframe (#909)
Voltage level topology kind update (#883)
Adding condenser status to generators (#930)
Add DanglingLine boundary side boundary_i (#926)
⚙ Beta Features
Open Rao integration (#868)
Grid2op backend integration (#904)
🔨 Technical improvements
Daily snapshot CI (#842)
Snapshot CI : slack notification (#897)
Fix pytest and pylint warnings (#884)
Upgrading linux build containers to manylinux_2_28 (#899)
Replace macos-12 runners with macos-13 (#908)
Update trigger for release ci and add build for darwin arm64. (#905)
Use pybind11 via findPython + update pybind11 (#903)
Create pypowsybl-parent (#931, #932)
🪲 Bug fixes
Fix non-linear shunt compensator section number (#900)
Fix ODRE geo data loader (#915)
Fix sn property in network per unit view (#923)
🚨 Breaking changes
Add dynamic models mapping (#867, #914, #916, see the migration guide for changes to make)
📔 Documentation
Enable download of documentation in pdf format (#913)
Finish cleaning javadoc warnings (#890)
Miscellaneous documentation fixes (#893, #921)
Draft release for providing binaries
vBinariesDeployment vBinariesDeployment
v1.8.1
PyPowSyBl v1.8.1 release notes
⭐ New Features
🔨 Technical improvements
🪲 Bug fixes
Upgrade to powsybl-dependencies 2024.3.1 (find here the corresponding version of underlying PowSyBl projects) #836
Fix optional import of pandapower #879
Fills the metadata attribute, in the get NAD's output #878
Fix bus/breaker topology in case of no connected terminal present #881
🚨 Breaking changes
📔 Documentation
Fix javadoc warnings by using "literal" annotation #885