Pypowsybl

Latest version: v1.5.1

Safety actively analyzes 638681 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 6

0.18.0

Features

- powsybl components update:
see release notes for the release train [powsybl-dependencies v1.3.0](https://github.com/powsybl/powsybl-dependencies)
- flow decomposition v1.0.0 feature, as defined by ACER methodology (487)
- connection of a line on an existing line through a tee point (455)
- connection of a voltage level into an existing line (455)

Bug fixes
- Fix DynaFlow GraalVM metadata (489)
- Update OpenLoadFlowParameters reflect config files with getters (473)

Documentation

Technical improvements

- Update powsybl-dependencies to v1.3.0
- Use pybind11 v2.10.0
- Use graalvm 22.2.0
- Support MacOS ARM64 (not released to pypi, requires to run the build yourself)


Breaking changes

0.17.0

Features

- Network data:
- dataframes columns now respect the requested attributes order (415)
- voltage levels can now be created without a substation (423)
- "load detail" extension is now available: it allows to differentiate fixed and variable parts of loads (429)
- Columns `p0` and `q0` of batteries dataframe are renamed to `target_p` and `target_q`. https://github.com/powsybl/pypowsybl/labels/breaking%20change
- case date is now explicitly tagged as a UTC date (452)
- new "fictitious" attribute in all network elements dataframes (469)
- expose measurements extension (449)
- expose observability extensions (450)
- Reporter API: allows to get functional logs from loadflow, network load, dump, security analysis and sensitivity analysis (416, 448)
- GLSK file support: you can now read a UCTE GLSK file and create zones for sensitivity analysis based on its content (394)
- Loadflow distributed active power (442)
- Addition of security analysis parameters (454), with support of increased violations parameters and implementation-specific parameters
- Addition of sensitivity analysis parameters (460), with support of implementation-specific parameters
- [DynaFlow](https://dynawo.github.io/about/dynaflow) as a new loadflow provider ! (#475)
Using DynaFlow requires to install it and configure its path in you `config.yml` file

Bug fixes

- Loadflow parameters: provider parameters from configuration are not ignored anymore when defining them partially programmatically (434)
- Loadflow parameters: provider parameters are now correctly taken into account by security analysis and sensitivity analysis (438)
- Network element creation:
- we now provide a useful error message when a dataframe column does not have the expected type (422)
- we now provide a useful error message when a container element does not exist (428)
- "Bus breaker" connection buses were not available for switches (459)

Documentation

- Docstring for merge method

Technical improvements

- Update powsybl-dependencies to v1.2.2
- Separation of development CI and full CI (466)

Breaking changes

- Support for macos 10.15 is dropped, we only support macos 11+ (462)
- Security analysis provider 'OpenSecurityAnalysis' is renamed to 'OpenLoadFlow'
- Sensitivity analysis provider 'OpenSensitivityAnalysis' is renamed to 'OpenLoadFlow'
- Columns `p0` and `q0` of batteries dataframe are renamed to `target_p` and `target_q`.
- `Network.merge` now accepts a sequence of arguments instead of a variable-sized argument:
python
network1.merge(network2, network3)
must be replaced by:
network1.merge([network2, network3])

0.16.0

Features

- Network data:
- Extensions creation, update, and removal (393)
- Fill in "bus breaker bus ID" attributes, even when the network element is not connected (399)
- Min/max Q, and min/max Q at current P for VSC stations and batteries (404, 407)
- Creation of reactive limit curves for VSCs and batteries, and addition of reactive limits kind (408)

- Ability to log `TRACE` level java logs, by setting log level to `1` (390)
- Support for `pathlib.Path` for path arguments (388)


Bug fixes

- In generators dataframe, `min_q_at_p` and `max_q_at_p` returned the reactive limits for "-P" instead of P (383)
- Keyboard interrupt does not cause anymore a core dump when logging java logs (378)
- Factorization failures in open loadflow raised a null pointer exception. They are now correctly translated as "solver failed" status in the loadflow results (409)
- Fix NPE when getting not computed sensitivity results (400)

Documentation

Technical improvements

- Removed the last uses of unittest, in favor of pytest (389)

Breaking changes

0.15.0

Features

- Network data:
- Network extensions data are now available through the `get_extension` method (277)
- Network elements removal (347)
- Possibility to add and remove arbitrary string properties on network elements (371)
- New update_voltage_levels method (349)
- New update_substations method (350)
- New operational limits dataframe (340)
- Creation of operational limits (current, active power, apparent power) (341)
- Creation of reactive limits of generators (379)
- Add nodes and bus breaker view buses in most dataframes, as optional attributes (320)
- Specifying an empty attribute list now returns a dataframe with no columns (365)
- In generators dataframe: new `reactive_limits_kind` attributes, and new optional attributes `min_q_at_p`, `max_q_at_p`, `min_q_at_target_p`, `max_q_at_target_p` (267)
- Ability to get and set regulated terminal for SVCs and VSCs (373)

- Integrate delayed network validation API (345)

- Loadflow
- Possibility to provide parameters specific to the loadflow provider used (377)

- Sensitivity analysis
- Pre-contingency only on post-contingency only factor configuration (244)

- Security analysis
- Add N-1 contingency flow transfer in security analysis (361)

Bug fixes

- Fix exception when getting bus breaker topology, when an element is disconnected (346 )
- Accept upper case TSO as column name for substations creation (360)

Documentation

- Improve docstrings and documentation of network methods, in particular elements creation (353)

Technical improvements

- Migrate to PowSyBl dependencies 1.1.0 (core 4.8.0) (374)
See [powsybl-core](https://github.com/powsybl/powsybl-core/releases/tag/v4.8.0) and [powsybl-open-loadflow](https://github.com/powsybl/powsybl-open-loadflow/releases/tag/v0.20.0) release notes for more information
- Remove enums from `_pypowsybl` module level variables (352)
- Integration with python logging implementation (280)
This removes `set_debug_mode`, see breaking changes section

Breaking changes

- Specifying an empty attribute list now returns a dataframe with no columns (365):
`network.get_***(attributes=[])` is not equivalent anymore to `network.get_***()`

- `pp.set_debug_mode(True)` does not exist anymore and is replaced by the integration to python logging framework.
All pypowsybl logs are written to the logger named `powsybl`. You may configure the log level as for any other logger:
python
logging.basicConfig(level=logging.DEBUG)
logging.getLogger('powsybl').setLevel(logging.DEBUG)

0.14.0

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)

0.13.0

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`:
python
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`:
python
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:
python
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`:
python
network.get_network_area_diagram(voltage_level_ids=['VL1', 'VL2'], depth=2)

Page 4 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.