diff --git a/pyproject.toml b/pyproject.toml index fb8aed5ff..da68df3d1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,7 +30,7 @@ dependencies = [ # changing the version # (plugins.mkdocstrings.handlers.python.import) "frequenz-client-microgrid >= 0.6.0, < 0.7.0", - "frequenz-channels >= 1.4.0, < 2.0.0", + "frequenz-channels >= 1.6.0, < 2.0.0", "frequenz-quantities[marshmallow] >= 1.0.0, < 2.0.0", "networkx >= 2.8, < 4", "numpy >= 1.26.4, < 2", @@ -48,7 +48,7 @@ email = "floss@frequenz.com" dev-flake8 = [ "flake8 == 7.1.1", "flake8-docstrings == 1.7.0", - "flake8-pyproject == 1.2.3", # For reading the flake8 config from pyproject.toml + "flake8-pyproject == 1.2.3", # For reading the flake8 config from pyproject.toml "pydoclint == 0.5.14", "pydocstyle == 6.3.0", ] diff --git a/src/frequenz/sdk/config/_manager.py b/src/frequenz/sdk/config/_manager.py index 7cc05d462..f6ec08467 100644 --- a/src/frequenz/sdk/config/_manager.py +++ b/src/frequenz/sdk/config/_manager.py @@ -227,7 +227,11 @@ def new_receiver( # pylint: disable=too-many-arguments """ _validate_load_kwargs(marshmallow_load_kwargs) - receiver = self.config_channel.new_receiver(name=f"{self}:{key}", limit=1).map( + # We disable warning on overflow, because we are only interested in the latest + # configuration, it is completely fine to drop old configuration updates. + receiver = self.config_channel.new_receiver( + name=f"{self}:{key}", limit=1, warn_on_overflow=False + ).map( lambda config: _load_config_with_logging_and_errors( config, config_class, diff --git a/src/frequenz/sdk/microgrid/_data_pipeline.py b/src/frequenz/sdk/microgrid/_data_pipeline.py index 63b13ce27..051fdde2c 100644 --- a/src/frequenz/sdk/microgrid/_data_pipeline.py +++ b/src/frequenz/sdk/microgrid/_data_pipeline.py @@ -22,7 +22,6 @@ from .._internal._channels import ChannelRegistry from ..actor._actor import Actor from ..timeseries import ResamplerConfig -from ..timeseries._grid_frequency import GridFrequency from ..timeseries._voltage_streamer import VoltageStreamer from ..timeseries.grid import Grid from ..timeseries.grid import get as get_grid @@ -35,6 +34,7 @@ # # pylint: disable=import-outside-toplevel if typing.TYPE_CHECKING: + from ..timeseries._grid_frequency import GridFrequency from ..timeseries.battery_pool import BatteryPool from ..timeseries.battery_pool._battery_pool_reference_store import ( BatteryPoolReferenceStore, @@ -140,6 +140,8 @@ def __init__( def frequency(self) -> GridFrequency: """Return the grid frequency measuring point.""" + from ..timeseries._grid_frequency import GridFrequency + if self._frequency_instance is None: self._frequency_instance = GridFrequency( self._data_sourcing_request_sender(),