Frequenz-sdk

Latest version: v0.25.2

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

Scan your dependencies

Page 1 of 7

1.0.0rc901

Frequenz Python SDK Release Notes

Bug Fixes

- `ConfigManagingActor`: Fixed an issue where the actor was unable to process events after being restarted.


What's Changed
* Clear release notes by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1069
* Create FileWatcher when ConfigManagingActor runs by daniel-zullo-frequenz in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1074


**Full Changelog**: https://github.com/frequenz-floss/frequenz-sdk-python/compare/v1.0.0-rc900...v1.0.0-rc901

1.0.0rc900

Frequenz Python SDK Release Notes

Summary

This release mainly introduces a new feature that allows fallback components to be used in generated formulas, but it also fixes a few bugs and gets rid of `betterproto`/`grpclib` and goes back to Google's implementation.

Upgrading

- The `frequenz-client-microgrid` dependency was bumped to `0.5.0`. This can cause dependency issues if you are using other API clients and the `frequenz-client-base` dependencies don't match.

New Features

- Fallback components are used in generated formulas. If primary components is unavailable, formula will generate metric from fallback components. Fallback formulas are implemented for:
- PVPowerFormula
- ProducerPowerFormula
- BatteryPowerFormula
- ConsumerPowerFormula
- GridPowerFormula

Bug Fixes

- Allow setting `api_power_request_timeout` in `microgrid.initialize()`.

- Fix an issue where in grid meters could be identified as {pv/ev/battery/chp} meters in some component graph configurations.


What's Changed
* Force `grpclib` to be at least 0.4.8rc2 by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1012
* Clear release notes by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1047
* Merge v1.0.0-rc7xx into v1.x.x by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1049
* Allow setting `api_power_request_timeout` in `microgrid.initialize()` by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1050
* Distinguish between grid meters and other meters by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1052
* Fallback components in generated formulas by ela-kotulska-frequenz in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1037
* Bump frequenz-repo-config to 0.10.0 by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1059
* Make dependabot do minor updates for the microgrid client separately by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1060
* Revert "Change receiver limit in mock_resampler" by ela-kotulska-frequenz in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1061
* Bump the `frequenz-client-microgrid` dependency to `0.5.0` by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1057
* Remove the redundant `--platform=${TARGETPLATFORM}` in `Dockerfile` by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1062
* Bump the required group across 1 directory with 14 updates by dependabot in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1064
* Bump the required group with 3 updates by dependabot in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1065
* Unpin mkdocs-autorefs and fix multple URLs for warnings by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1051
* Bump `frequenz-client-microgrid` to 0.5.1 by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1068
* Bump types-setuptools from 71.1.0.20240726 to 74.0.0.20240831 by dependabot in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1066


**Full Changelog**: https://github.com/frequenz-floss/frequenz-sdk-python/compare/v1.0.0-rc800...v1.0.0-rc900

1.0.0rc801

Frequenz Python SDK Release Notes

Bug Fixes

- Bump the `grpclib` dependency to pull a fix for using IPv6 addresses.


What's Changed
* Force `grpclib` to be at least 0.4.8rc2 by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1012
* Merge v1.0.0-rc7xx into v1.0.0-rc8xx by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1048


**Full Changelog**: https://github.com/frequenz-floss/frequenz-sdk-python/compare/v1.0.0-rc800...v1.0.0-rc801

1.0.0rc800

Frequenz Python SDK Release Notes

Summary

This release makes some breaking changes to the SDK's public interface aimed at improving clarity and correctness. It also includes several bug fixes in core components like the resampler, the power distributor, and the moving window.

Upgrading

- The `frequenz.sdk.microgrid.*_pool` methods have been renamed to `new_*_pool`, to make it explicit that they create new instances of the pool classes.
- `battery_pool` -> `new_battery_pool`
- `ev_charger_pool` -> `new_ev_charger_pool`
- `pv_pool` -> `new_pv_pool`

- The following component metric streams have been renamed to clarify that they stream per-phase values:
- `frequenz.sdk.microgrid.`
- `voltage` -> `voltage_per_phase`
- `grid.current` -> `grid.current_per_phase`
- `ev_charger_pool.current` -> `ev_charger_pool.current_per_phase`

- Passing a `request_timeout` in calls to `*_pool.propose_power` is no longer supported. It may be specified at application startup, through the new optional `api_power_request_timeout` parameter in the `microgrid.initialize()` method.

- Power distribution results are no longer available through the `power_status` streams in the `*Pool`s. They can now be accessed as a stream from a separate property `power_distribution_results`, which is available from all the `*Pool`s.

- The `ConfigManagingActor` now uses `collections.abc.Mapping` as the output sender type. This change indicates that the broadcasted configuration is intended to be read-only.

- The `ConfigManagingActor` has moved from `frequenz.sdk.actor` to `frequenz.sdk.config`.

- The following core actors are no longer part of the public API:
- `PowerDistributingActor`
- `ComponentMetricsResamplingActor`
- `DataSourcingActor`

- The following two types which are used for communicating with the data sourcing and resampling actors are also no longer part of the public API:
- `ComponentMetricId`
- `ComponentMetricRequest`

- The `ChannelRegistry` is no longer part of the public API.

- The `Result` types for the power distribution results are now exposed through the `frequenz.sdk.microgrid.battery_pool` module.

New Features

- Classes `Bounds` and `SystemBounds` now implement the `__contains__` method, allowing the use of the `in` operator to check whether a value falls within the bounds or not.

Enhancements

- The resampler now shows an error message where it is easier to identify the component and metric when it can't find relevant data for the current resampling window.

Bug Fixes

- Fixed a typing issue that occurs in some cases when composing formulas with constants.
- Fixed a bug where sending tasks in the data sourcing actor might not have been awaited.
- Updated the logical meter documentation to reflect the latest changes.
- Fixed a bug in the code examples in the getting-started tutorial.
- Fixed a bug in `ConfigManagingActor` that was not properly comparing the event path to the config file path when the config file is a relative path.
- Re-expose `ComponentMetricId` to the docs.
- Fixed typing ambiguities when building composite formulas on streaming data.
- Fixed a bug that was causing the `PowerDistributor` to exit if power requests to PV inverters or EV chargers timeout.
- Fix the handling of canceled tasks in the data sourcing and resampling actor.
- Fix a bug in PV power distribution by excluding inverters that haven't sent any data since startup.
- Prevent stacking of power requests to avoid delays in processing when the power request frequency exceeds the processing time.
- Fixes a bug in the ring buffer in case the updated value is missing and creates a gap in time.


What's Changed
* Clear release notes by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/978
* Update glossary by cwasicki in https://github.com/frequenz-floss/frequenz-sdk-python/pull/952
* Rename `microgrid.*_pool` constructors to `new_*_pool` by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/979
* Fix typing for composing constants with formula builders by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/980
* Filter out irrelevant logs when checking for expected logs by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/983
* Properly keep references and await for concurrent tasks by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/984
* Add contains function to Bounds and SystemBounds by 0o111 in https://github.com/frequenz-floss/frequenz-sdk-python/pull/962
* Cleanup `*Report` classes as simple protocols with only methods by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/981
* Improve naming for per-phase component metric streams by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/987
* Fix battery manager string representation by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/989
* Update logical meter documentation by matthias-wende-frequenz in https://github.com/frequenz-floss/frequenz-sdk-python/pull/986
* Remove dependency to polars by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/991
* Bump brettcannon/check-for-changed-files from 1.2.0 to 1.2.1 by dependabot in https://github.com/frequenz-floss/frequenz-sdk-python/pull/994
* Bump docker/build-push-action from 5 to 6 by dependabot in https://github.com/frequenz-floss/frequenz-sdk-python/pull/993
* Bump the required group with 9 updates by dependabot in https://github.com/frequenz-floss/frequenz-sdk-python/pull/995
* Remove `request_timeout` parameter from `propose_power` methods by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1000
* Remove power distribution results from `Report` objects by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/998
* Remove extra comma from tutorial docs by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1004
* Switch to the `LatestValueCache` from the channels package by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1002
* Fix ConfigManagingActor to handle relative paths by daniel-zullo-frequenz in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1005
* Fix microgrid API URL in example by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1006
* Use a more descriptive channel name for the resampler by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1007
* Update sender type in ConfigManagingActor by daniel-zullo-frequenz in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1010
* Expose `ComponentMetricId` in the public API by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/990
* Fix FormulaEngine typing by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1011
* Use solipsism, time-machine in `*Pool` tests by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1013
* Fix PV power distribution by daniel-zullo-frequenz in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1015
* Bump types-setuptools from 70.1.0.20240627 to 71.1.0.20240726 by dependabot in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1019
* Fixes to the PowerDistributingActor by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1020
* Make actor example loop forever by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1029
* Handle `CancelledError`s properly by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1027
* Fix PV inverters power distribution by daniel-zullo-frequenz in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1028
* Prevent stacking of power requests by daniel-zullo-frequenz in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1023
* Fix gap in ring buffer when updating missing values by cwasicki in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1034
* Fix exit-on-timeout issue in PowerDistributor by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1035
* Fix typo and improve formatting by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1033
* Cleanup the `actor` package by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1031
* Fix grammar in release notes by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1040
* Fix glossary links and restrict `mkdocs-autorefs` updates by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1043
* Merge v1.0.0-rc6xx into v1.x.x by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1042
* Prepare release notes for v1.0.0-rc800 by shsms in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1046


**Full Changelog**: https://github.com/frequenz-floss/frequenz-sdk-python/compare/v1.0.0rc700...v1.0.0-rc800

1.0.0rc701

Frequenz Python SDK Release Notes

Bug Fixes

- Bump the `grpclib` dependency to pull a fix for using IPv6 addresses.


What's Changed
* Force `grpclib` to be at least 0.4.8rc2 by llucax in https://github.com/frequenz-floss/frequenz-sdk-python/pull/1012


**Full Changelog**: https://github.com/frequenz-floss/frequenz-sdk-python/compare/v1.0.0rc700...v1.0.0rc701

1.0.0rc700

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

Page 1 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.