diff --git a/src/frequenz/sdk/microgrid/_data_pipeline.py b/src/frequenz/sdk/microgrid/_data_pipeline.py index fe186ab1b..abf11fc82 100644 --- a/src/frequenz/sdk/microgrid/_data_pipeline.py +++ b/src/frequenz/sdk/microgrid/_data_pipeline.py @@ -88,9 +88,11 @@ def __init__( """ from ..actor import ChannelRegistry - self._resampler_config = resampler_config + self._resampler_config: ResamplerConfig = resampler_config - self._channel_registry = ChannelRegistry(name="Data Pipeline Registry") + self._channel_registry: ChannelRegistry = ChannelRegistry( + name="Data Pipeline Registry" + ) self._data_sourcing_actor: _ActorInfo | None = None self._resampling_actor: _ActorInfo | None = None diff --git a/src/frequenz/sdk/timeseries/_grid_frequency.py b/src/frequenz/sdk/timeseries/_grid_frequency.py index 197e628e1..e0ef451ef 100644 --- a/src/frequenz/sdk/timeseries/_grid_frequency.py +++ b/src/frequenz/sdk/timeseries/_grid_frequency.py @@ -69,10 +69,12 @@ def __init__( ), ) - self._request_sender = data_sourcing_request_sender - self._channel_registry = channel_registry - self._source_component = source - self._component_metric_request = create_request( + self._request_sender: Sender[ + ComponentMetricRequest + ] = data_sourcing_request_sender + self._channel_registry: ChannelRegistry = channel_registry + self._source_component: Component = source + self._component_metric_request: ComponentMetricRequest = create_request( self._source_component.component_id ) diff --git a/src/frequenz/sdk/timeseries/battery_pool/_battery_pool_reference_store.py b/src/frequenz/sdk/timeseries/battery_pool/_battery_pool_reference_store.py index bc965bc72..33ba57ee9 100644 --- a/src/frequenz/sdk/timeseries/battery_pool/_battery_pool_reference_store.py +++ b/src/frequenz/sdk/timeseries/battery_pool/_battery_pool_reference_store.py @@ -74,8 +74,9 @@ def __init__( # pylint: disable=too-many-arguments battery pool. If None or empty, then all batteries from the microgrid will be used. """ + self._batteries: frozenset[int] if batteries_id: - self._batteries: frozenset[int] = frozenset(batteries_id) + self._batteries = frozenset(batteries_id) else: self._batteries = self._get_all_batteries() @@ -87,18 +88,21 @@ def __init__( # pylint: disable=too-many-arguments self._update_battery_status(batteries_status_receiver) ) - self._min_update_interval = min_update_interval + self._min_update_interval: timedelta = min_update_interval - self._power_manager_requests_sender = power_manager_requests_sender - self._power_manager_bounds_subscription_sender = ( - power_manager_bounds_subscription_sender - ) + self._power_manager_requests_sender: Sender[ + _power_managing.Proposal + ] = power_manager_requests_sender + + self._power_manager_bounds_subscription_sender: Sender[ + _power_managing.ReportRequest + ] = power_manager_bounds_subscription_sender self._active_methods: dict[str, MetricAggregator[Any]] = {} self._power_bounds_subs: dict[str, asyncio.Task[None]] = {} self._namespace: str = f"battery-pool-{self._batteries}-{uuid.uuid4()}" self._power_distributing_namespace: str = f"power-distributor-{self._namespace}" - self._channel_registry = channel_registry + self._channel_registry: _channel_registry.ChannelRegistry = channel_registry self._formula_pool: FormulaEnginePool = FormulaEnginePool( self._namespace, self._channel_registry, diff --git a/src/frequenz/sdk/timeseries/ev_charger_pool/_ev_charger_pool.py b/src/frequenz/sdk/timeseries/ev_charger_pool/_ev_charger_pool.py index cef66f26e..192f42bb1 100644 --- a/src/frequenz/sdk/timeseries/ev_charger_pool/_ev_charger_pool.py +++ b/src/frequenz/sdk/timeseries/ev_charger_pool/_ev_charger_pool.py @@ -99,7 +99,7 @@ def __init__( microgrid API, if no new calls to `set_bounds` have been made. """ self._channel_registry: ChannelRegistry = channel_registry - self._repeat_interval = repeat_interval + self._repeat_interval: timedelta = repeat_interval self._resampler_subscription_sender: Sender[ ComponentMetricRequest ] = resampler_subscription_sender diff --git a/src/frequenz/sdk/timeseries/formula_engine/_formula_engine_pool.py b/src/frequenz/sdk/timeseries/formula_engine/_formula_engine_pool.py index 89d9e183b..66fb20281 100644 --- a/src/frequenz/sdk/timeseries/formula_engine/_formula_engine_pool.py +++ b/src/frequenz/sdk/timeseries/formula_engine/_formula_engine_pool.py @@ -44,9 +44,11 @@ def __init__( resampler_subscription_sender: A sender for sending metric requests to the resampling actor. """ - self._namespace = namespace - self._channel_registry = channel_registry - self._resampler_subscription_sender = resampler_subscription_sender + self._namespace: str = namespace + self._channel_registry: ChannelRegistry = channel_registry + self._resampler_subscription_sender: Sender[ + ComponentMetricRequest + ] = resampler_subscription_sender self._string_engines: dict[str, FormulaEngine[Quantity]] = {} self._power_engines: dict[str, FormulaEngine[Power]] = {} self._current_engines: dict[str, FormulaEngine3Phase[Current]] = {} diff --git a/src/frequenz/sdk/timeseries/formula_engine/_formula_generators/_formula_generator.py b/src/frequenz/sdk/timeseries/formula_engine/_formula_generators/_formula_generator.py index 9085edc5d..393aaa710 100644 --- a/src/frequenz/sdk/timeseries/formula_engine/_formula_generators/_formula_generator.py +++ b/src/frequenz/sdk/timeseries/formula_engine/_formula_generators/_formula_generator.py @@ -72,10 +72,12 @@ def __init__( resampling actor. config: configs for the formula generator. """ - self._channel_registry = channel_registry - self._resampler_subscription_sender = resampler_subscription_sender - self._namespace = namespace - self._config = config + self._channel_registry: ChannelRegistry = channel_registry + self._resampler_subscription_sender: Sender[ + ComponentMetricRequest + ] = resampler_subscription_sender + self._namespace: str = namespace + self._config: FormulaGeneratorConfig = config def _get_builder( self, diff --git a/src/frequenz/sdk/timeseries/formula_engine/_resampled_formula_builder.py b/src/frequenz/sdk/timeseries/formula_engine/_resampled_formula_builder.py index f0bb3891d..f1faed018 100644 --- a/src/frequenz/sdk/timeseries/formula_engine/_resampled_formula_builder.py +++ b/src/frequenz/sdk/timeseries/formula_engine/_resampled_formula_builder.py @@ -48,10 +48,12 @@ def __init__( # pylint: disable=too-many-arguments formula is for generating power values, this would be `Power.from_watts`, for example. """ - self._channel_registry = channel_registry - self._resampler_subscription_sender = resampler_subscription_sender - self._namespace = namespace - self._metric_id = metric_id + self._channel_registry: ChannelRegistry = channel_registry + self._resampler_subscription_sender: Sender[ + ComponentMetricRequest + ] = resampler_subscription_sender + self._namespace: str = namespace + self._metric_id: ComponentMetricId = metric_id self._resampler_requests: list[ComponentMetricRequest] = [] super().__init__(formula_name, create_method) # type: ignore[arg-type] diff --git a/src/frequenz/sdk/timeseries/logical_meter/_logical_meter.py b/src/frequenz/sdk/timeseries/logical_meter/_logical_meter.py index b58f35c3b..9705f5850 100644 --- a/src/frequenz/sdk/timeseries/logical_meter/_logical_meter.py +++ b/src/frequenz/sdk/timeseries/logical_meter/_logical_meter.py @@ -85,8 +85,10 @@ def __init__( resampler_subscription_sender: A sender for sending metric requests to the resampling actor. """ - self._channel_registry = channel_registry - self._resampler_subscription_sender = resampler_subscription_sender + self._channel_registry: ChannelRegistry = channel_registry + self._resampler_subscription_sender: Sender[ + ComponentMetricRequest + ] = resampler_subscription_sender # Use a randomly generated uuid to create a unique namespace name for the local # meter to use when communicating with the resampling actor.