Frequenz Python SDK Release Notes
Upgrading
- The `frequenz-client-microgrid` dependency was bumped to v0.4.0. If you are using the client directly in your code, you will need to upgrade too.
- Calls to `microgrid.*_pool` methods now always need to specified a priority value, corresponding to the requirements/priority of the actor making the call.
- The `microgrid.*_pool` methods would only accept keyword arguments from now on.
- The `microgrid.initialize()` method now takes a `server_url` instead of a `host` and `port`.
The following format is expected: `grpc://hostname{:port}{?ssl=ssl}`, where the port should be an int between `0` and `65535` (defaulting to `9090`) and `ssl` should be a boolean (defaulting to `false`). For example: `grpc://localhost` or `grpc://localhost:1090?ssl=true`.
The default was also removed, so you always need to specify the server URL.
This applies to the `ConnectionManager` as well, which also now doesn't expose the `host` and `port` attributes, only the `server_url`. If you need to extract the host or port from the `server_url`, you can use the standard Python `urllib.parse.urlparse()` function.
- The `Config` class was removed and the `ConfigManagingActor` now sends a plain dictionary rather than a `Config` object.
New Features
- Calls to `microgrid.*_pool` methods now accept an optional `set_operating_point` parameter, for setting an operating point for the other actors. This would shift the target power by the operating point before actually applying it to the components.
Bug Fixes
- When the PowerDistributor receives a zero power request for PV inverters, it now correctly sets zero power to the inverters, and no longer crashes.
What's Changed
* Clear release notes by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/931
* Always require a priority argument in calls to `microgrid.*_pool` methods by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/944
* Set zero power for PV inverters not neccessary to reach target power by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/946
* Update protobuf requirement from <5,>=4.21.6 to >=4.21.6,<6 by dependabot in https://github.com/frequenz-floss/frequenz-sdk-python/pull/936
* Code quality improvements in the `DataPipeline` and `*Pool` classes by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/948
* Bump types-protobuf from 4.24.0.20240129 to 5.26.0.20240422 by dependabot in https://github.com/frequenz-floss/frequenz-sdk-python/pull/937
* Add support for Python 3.12 by daniel-zullo-frequenz in https://github.com/frequenz-floss/frequenz-sdk-python/pull/947
* Miscelaneous improvements and fixes by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/953
* Bump types-setuptools from 69.5.0.20240423 to 70.0.0.20240524 by dependabot in https://github.com/frequenz-floss/frequenz-sdk-python/pull/959
* Improve code comment in power distribution to PV inverters by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/960
* Support power requests from shifting actors in the PowerManager by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/957
* Upgrade to microgrid client v0.4.0 by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/955
* Bump the required group across 1 directory with 8 updates by dependabot in https://github.com/frequenz-floss/frequenz-sdk-python/pull/964
* Update ConfigManagingActor to send a dictionary by daniel-zullo-frequenz in https://github.com/frequenz-floss/frequenz-sdk-python/pull/969
* Don't sleep on PowerDistributor startup by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/971
* Stop using a deprecated way to replace the event loop in tests by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/976
* Rename parameter `in_shifting_group` → `set_operating_point` by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/970
* Make some minor improvements for LastValueCache by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/974
* Prepare release notes for v1.0.0rc700 by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/977
**Full Changelog**: https://github.com/frequenz-floss/frequenz-sdk-python/compare/v1.0.0-rc601...v1.0.0rc700