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)