Releases: frequenz-floss/frequenz-sdk-python
v0.12.0
Release Notes
Summary
The project has a new home!
https://frequenz-floss.github.io/frequenz-sdk-python/
For now the documentation is pretty scarce but we will be improving it with time.
The most prominent changes in this release is the cleanup of the public API, which is much more concise and clear now and the addition of classes implementing the new data flow design, in particular the DataSourcingActor and the ComponentMetricsResamplingActor.
Upgrading
-
EVChargerData'sactive_power_consumptionhas been renamed toactive_power -
PowerDistributor- type ofRequest'srequest_timeout_sechas been changed frominttofloat -
ComponentCategory.LOADhas been added -
The
frequenz-channelswas upgraded to v0.11.0 which includes a bunch of breaking changes you should be aware of. -
The public API has been cleaned up, several symbols were moved or exposed in a single module, and some symbols were hidden because they are either schedule for deprecation or not yet stabilized.
-
frequenz.sdk.actor: Thedecoratorsub-module was hidden and now the@actordecorator is exposed directly only in the main module. -
frequenz.sdk.configs: was renamed tofrequenz.sdk.config,Configis only exposed in the main module and theConfigManagerwas moved tofrequenz.sdk.actor.ConfigManagingActor. -
The modules
frequenz.sdk.data_handlingandfrequenz.sdk.data_ingestionwere hidden from the public interface and will probably be removed in the future. They are still available asfrequenz.sdk._data_handlingandfrequenz.sdk._data_ingestionfor users still needing them. -
The module
frequenz.sdk.power_distributionwas renamed tofrequenz.sdk.powerand thePowerDistributorwas moved to
frequenz.sdk.actor.power_distributing.PowerDistributingActor(with the utility classesRequestandResult). -
The module
frequenz.sdk.microgridwas simplified.-
All component-related symbols (
.component,.component_data,.component_states) were moved to the sub-module
frequenz.sdk.microgrid.component. -
All API client-related symbols (
.client,.connection,.retry) were moved to the sub-modulefrequenz.sdk.microgrid.client. -
The
ComponentGraphis exposed directly in the main module (and only there). -
The
microgrid_apimodule is now exposed via the main module directly (and thus indirectly renamed tomicrogrid, so instead of usingfrom frequenz.sdk.microgrid import microgrid_api; microgrid_api.initialize()(for example) you should usefrom frequenz.sdk.microgrid import microgridi; microgrid.initialize(). -
The
MicrogridApiclass was renamed toMicrogridto make it clear it is not exclusively about the API. -
The
Microgrid.microgrid_api_clientattribute was renamed toMicrogrid.api_clientto avoid the redundancy.
-
-
New Features
-
MeterDataobjects now expose the ACfrequencymeasured by the meter. -
BatteryDataobjects now expose the temperature of the hottest block in the battery astemperature_max -
A new
frequenz.sdk.actor.DataSourcingActorwas added. -
A new
frequenz.sdk.actor.ComponentMetricsResamplingActorwas added. -
A new
frequenz.sdk.actor.ChannelRegistrywas added. -
A new module
frequenz.sdk.timeserieswas added.
What's Changed
- Clear RELEASE_NOTES.md by @leandro-lucarella-frequenz in #23
- Change the type of Request's request_timeout_sec to float by @jkozlowicz in #13
- Rename active_power_consumption to active_power in context of EVCharger by @jkozlowicz in #17
- Add LOAD component category by @jkozlowicz in #26
- Implement ChannelRegistry by @sahas-subramanian-frequenz in #25
- Change component data wrappers to be data classes by @jkozlowicz in #4
- Remove timeout for receiving from client handle to prevent flakiness by @jkozlowicz in #18
- ChannelRegistry improvements by @shsms in #29
- Fix EVChargerData's from_proto method by @sahas-subramanian-frequenz in #35
- Add new labels to the CI and issue templates by @leandro-lucarella-frequenz in #46
- Add timeout to all gRPC calls and set a default timeout by @jkozlowicz in #50
- Add DataSourcingActor by @shsms in #52
- Update noxfile.py to run darglint in verbose-mode by @sahas-subramanian-frequenz in #51
- Add a resampling actor by @jkozlowicz in #32
- Indent multi-line return value descriptions in docstrings by @shsms in #54
- Clean ups and improvements to the resampler (mostly) by @leandro-lucarella-frequenz in #68
- Generate and publish API docs by @leandro-lucarella-frequenz in #72
- Update the SDK codebase to work with the latest channel version by @shsms in #76
- Expose additional fields from
ComponentDatastreams by @shsms in #75 - Upgrade dependency to frequenz-channels v0.11.0 by @leandro-lucarella-frequenz in #77
- Cleanup public interface by @leandro-lucarella-frequenz in #78
New Contributors
- @jkozlowicz made their first contribution in #13
- @sahas-subramanian-frequenz made their first contribution in #25
- @shsms made their first contribution in #29
Full Changelog: v0.11.0...v0.12.0
v0.11.0
frequenz-sdk Release Notes
Summary
This is the first public open source release based on the internal SDK version v0.10.0. There are no breaking changes in this release, only changes to the project structure, metadata, and automation. Packages are also now uploaded to PyPI as frequenz-sdk, so this project now can be installed normally via pip:
python -m pip install frequenz-sdkThe GitHub issues were also improved, adding templates for reporting issues and requesting features. Users are also pointed to the Discussion forums when trying to open an issue if they have questions instead. Also many labels are assigned automatically on issue and pull request creation.
Upgrading
Even if there are no breaking changes, you might see this error in your local
environment when upgrading:
ERROR: Project file:///home/luca/devel/frequenz-sdk-python has
a 'pyproject.toml' and its build backend is missing the 'build_editable'
hook. Since it does not have a 'setup.py' nor a 'setup.cfg', it cannot be
installed in editable mode. Consider using a build backend that supports PEP
660.
If so, you should probably update the dependencies in you virtual environment
(for example python -m pip install -U -e .)
What's Changed
- Add KeywordLabeler app configuration by @leandro-lucarella-frequenz in #11
- Add GitHub issue templates by @leandro-lucarella-frequenz in #10
- Add CODEOWNERS file by @leandro-lucarella-frequenz in #9
- ci: Add automatic pull request labeler by @leandro-lucarella-frequenz in #12
- Upload Packages to PyPI by @leandro-lucarella-frequenz in #16
New Contributors
- @leandro-lucarella-frequenz made their first contribution in #11
Full Changelog: https://github.com/frequenz-floss/frequenz-sdk-python/commits/v0.11.0
v0.11.0-rc1
frequenz-sdk Release Notes
Summary
This is the first public open source release based on the internal SDK version v0.10.0. There are no breaking changes in this release, only changes to the project structure, metadata, and automation. Packages are also now uploaded to PyPI as frequenz-sdk, so this project now can be installed normally via pip:
python -m pip install frequenz-sdkThe GitHub issues were also improved, adding templates for reporting issues and requesting features. Users are also pointed to the Discussion forums when trying to open an issue if they have questions instead. Also many labels are assigned automatically on issue and pull request creation.
Upgrading
Even if there are no breaking changes, you might see this error in your local
environment when upgrading:
ERROR: Project file:///home/luca/devel/frequenz-sdk-python has
a 'pyproject.toml' and its build backend is missing the 'build_editable'
hook. Since it does not have a 'setup.py' nor a 'setup.cfg', it cannot be
installed in editable mode. Consider using a build backend that supports PEP
660.
If so, you should probably update the dependencies in you virtual environment
(for example python -m pip install -U -e .)
What's Changed
- Add KeywordLabeler app configuration by @leandro-lucarella-frequenz in #11
- Add GitHub issue templates by @leandro-lucarella-frequenz in #10
- Add CODEOWNERS file by @leandro-lucarella-frequenz in #9
- ci: Add automatic pull request labeler by @leandro-lucarella-frequenz in #12
- Upload Packages to PyPI by @leandro-lucarella-frequenz in #16
New Contributors
- @leandro-lucarella-frequenz made their first contribution in #11
Full Changelog: https://github.com/frequenz-floss/frequenz-sdk-python/commits/v0.11.0-rc1