Skip to content

Commit 8cc765f

Browse files
committed
Move the data sourcing actor to the microgrid module
Signed-off-by: Sahas Subramanian <[email protected]>
1 parent 994f657 commit 8cc765f

24 files changed

+37
-54
lines changed

benchmarks/timeseries/benchmark_datasourcing.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,10 @@
2121

2222
from frequenz.sdk import microgrid
2323
from frequenz.sdk._internal._channels import ChannelRegistry
24-
from frequenz.sdk.actor import ComponentMetricRequest, DataSourcingActor
24+
from frequenz.sdk.microgrid._data_sourcing import (
25+
ComponentMetricRequest,
26+
DataSourcingActor,
27+
)
2528

2629
try:
2730
from tests.timeseries.mock_microgrid import MockMicrogrid

src/frequenz/sdk/actor/__init__.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -599,15 +599,11 @@ async def main() -> None: # (6)!
599599
from ..timeseries._resampling import ResamplerConfig
600600
from ._actor import Actor
601601
from ._background_service import BackgroundService
602-
from ._data_sourcing import ComponentMetricId, ComponentMetricRequest, DataSourcingActor
603602
from ._run_utils import run
604603

605604
__all__ = [
606605
"Actor",
607606
"BackgroundService",
608-
"ComponentMetricId",
609-
"ComponentMetricRequest",
610-
"DataSourcingActor",
611607
"ResamplerConfig",
612608
"run",
613609
]

src/frequenz/sdk/microgrid/_data_pipeline.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,20 @@
2121

2222
from .._internal._channels import ChannelRegistry
2323
from ..actor._actor import Actor
24+
from ..timeseries import ResamplerConfig
2425
from ..timeseries._grid_frequency import GridFrequency
2526
from ..timeseries._voltage_streamer import VoltageStreamer
2627
from ..timeseries.grid import Grid
2728
from ..timeseries.grid import get as get_grid
2829
from ..timeseries.grid import initialize as initialize_grid
30+
from ._data_sourcing import ComponentMetricRequest, DataSourcingActor
2931
from ._power_wrapper import PowerWrapper
3032

3133
# A number of imports had to be done inside functions where they are used, to break
3234
# import cycles.
3335
#
3436
# pylint: disable=import-outside-toplevel
3537
if typing.TYPE_CHECKING:
36-
from ..actor import ComponentMetricRequest, ResamplerConfig
3738
from ..timeseries.battery_pool import BatteryPool
3839
from ..timeseries.battery_pool._battery_pool_reference_store import (
3940
BatteryPoolReferenceStore,
@@ -448,8 +449,6 @@ def _data_sourcing_request_sender(self) -> Sender[ComponentMetricRequest]:
448449
Returns:
449450
A Sender for sending requests to the data sourcing actor.
450451
"""
451-
from ..actor import DataSourcingActor
452-
453452
if self._data_sourcing_actor is None:
454453
channel: Broadcast[ComponentMetricRequest] = Broadcast(
455454
name="Data Pipeline: Data Sourcing Actor Request Channel"
File renamed without changes.

src/frequenz/sdk/actor/_data_sourcing/_component_metric_request.py renamed to src/frequenz/sdk/microgrid/_data_sourcing/_component_metric_request.py

File renamed without changes.

src/frequenz/sdk/actor/_data_sourcing/data_sourcing.py renamed to src/frequenz/sdk/microgrid/_data_sourcing/data_sourcing.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from frequenz.channels import Receiver
77

88
from ..._internal._channels import ChannelRegistry
9-
from .._actor import Actor
9+
from ...actor import Actor
1010
from ._component_metric_request import ComponentMetricRequest
1111
from .microgrid_api_source import MicrogridApiSource
1212

src/frequenz/sdk/actor/_data_sourcing/microgrid_api_source.py renamed to src/frequenz/sdk/microgrid/_data_sourcing/microgrid_api_source.py

File renamed without changes.

src/frequenz/sdk/microgrid/_resampling.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
from .._internal._asyncio import cancel_and_await
1414
from .._internal._channels import ChannelRegistry
1515
from ..actor import Actor
16-
from ..actor._data_sourcing import ComponentMetricRequest
1716
from ..timeseries import Sample
1817
from ..timeseries._quantities import Quantity
1918
from ..timeseries._resampling import Resampler, ResamplerConfig, ResamplingError
19+
from ._data_sourcing import ComponentMetricRequest
2020

2121
_logger = logging.getLogger(__name__)
2222

src/frequenz/sdk/timeseries/_grid_frequency.py

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,16 @@
77

88
import asyncio
99
import logging
10-
from typing import TYPE_CHECKING
1110

1211
from frequenz.channels import Receiver, Sender
1312
from frequenz.client.microgrid import Component, ComponentCategory, ComponentMetricId
1413

1514
from .._internal._channels import ChannelRegistry
1615
from ..microgrid import connection_manager
16+
from ..microgrid._data_sourcing import ComponentMetricRequest
1717
from ..timeseries._base_types import Sample
1818
from ..timeseries._quantities import Frequency, Quantity
1919

20-
if TYPE_CHECKING:
21-
# Imported here to avoid a circular import.
22-
from ..actor import ComponentMetricRequest
23-
2420
_logger = logging.getLogger(__name__)
2521

2622

@@ -33,10 +29,6 @@ def create_request(component_id: int) -> ComponentMetricRequest:
3329
Returns:
3430
A component metric request for grid frequency.
3531
"""
36-
# Imported here to avoid a circular import.
37-
# pylint: disable=import-outside-toplevel
38-
from ..actor import ComponentMetricRequest
39-
4032
return ComponentMetricRequest(
4133
"grid-frequency", component_id, ComponentMetricId.FREQUENCY, None
4234
)

src/frequenz/sdk/timeseries/_voltage_streamer.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,12 @@
1717
from frequenz.client.microgrid import Component, ComponentCategory, ComponentMetricId
1818

1919
from .._internal._channels import ChannelRegistry
20-
from ..microgrid import connection_manager
2120
from ..timeseries._base_types import Sample, Sample3Phase
2221
from ..timeseries._quantities import Quantity, Voltage
2322

2423
if TYPE_CHECKING:
2524
# Imported here to avoid a circular import.
26-
from ..actor import ComponentMetricRequest
25+
from ..microgrid._data_sourcing import ComponentMetricRequest
2726

2827
_logger = logging.getLogger(__name__)
2928

@@ -75,6 +74,10 @@ def __init__(
7574
self._channel_registry = channel_registry
7675
"""The channel registry for the phase-to-neutral voltage streaming."""
7776

77+
from ..microgrid import ( # pylint: disable=import-outside-toplevel
78+
connection_manager,
79+
)
80+
7881
if not source_component:
7982
component_graph = connection_manager.get().component_graph
8083
source_component = component_graph.find_first_descendant_component(
@@ -131,7 +134,7 @@ def new_receiver(self) -> Receiver[Sample3Phase[Voltage]]:
131134
async def _send_request(self) -> None:
132135
"""Send the request to fetch each voltage phase and stream 3-phase voltage."""
133136
# Imported here to avoid a circular import.
134-
from ..actor import ( # pylint: disable=import-outside-toplevel
137+
from ..microgrid._data_sourcing import ( # pylint: disable=import-outside-toplevel
135138
ComponentMetricRequest,
136139
)
137140

0 commit comments

Comments
 (0)