diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index a3dabed6..5c7f5a3a 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -4,6 +4,10 @@ * `Dispatch.end_time` has been added to the `Dispatch` class, which is the time when the dispatch ended as calculated by the server. `dispatch-cli` will also print this time. +## Upgrading + +* Renamed `Client` class to `DispatchApiClient` for clarity. + ## Bug Fixes * Fix that `dispatch-cli stream` would try to print an event as dispatch, causing an exception. diff --git a/src/frequenz/client/dispatch/__init__.py b/src/frequenz/client/dispatch/__init__.py index d399192f..62fd807e 100644 --- a/src/frequenz/client/dispatch/__init__.py +++ b/src/frequenz/client/dispatch/__init__.py @@ -3,6 +3,6 @@ """Dispatch API client for Python.""" -from ._client import Client +from ._client import DispatchApiClient -__all__ = ["Client"] +__all__ = ["DispatchApiClient"] diff --git a/src/frequenz/client/dispatch/__main__.py b/src/frequenz/client/dispatch/__main__.py index f758f19a..8dc4b488 100644 --- a/src/frequenz/client/dispatch/__main__.py +++ b/src/frequenz/client/dispatch/__main__.py @@ -25,7 +25,7 @@ JsonDictParamType, TargetComponentParamType, ) -from ._client import Client +from ._client import DispatchApiClient from .recurrence import EndCriteria, Frequency, RecurrenceRule, Weekday from .types import Dispatch, DispatchEvent @@ -193,7 +193,7 @@ async def cli(ctx: click.Context, url: str, key: str, raw: bool) -> None: click.echo(f"Using API URL: {url}", err=True) - ctx.obj["client"] = Client( + ctx.obj["client"] = DispatchApiClient( server_url=url, key=key, connect=True, diff --git a/src/frequenz/client/dispatch/_client.py b/src/frequenz/client/dispatch/_client.py index a775e10f..0e70a71d 100644 --- a/src/frequenz/client/dispatch/_client.py +++ b/src/frequenz/client/dispatch/_client.py @@ -52,7 +52,7 @@ DEFAULT_DISPATCH_PORT = 50051 -class Client(BaseApiClient[dispatch_pb2_grpc.MicrogridDispatchServiceStub]): +class DispatchApiClient(BaseApiClient[dispatch_pb2_grpc.MicrogridDispatchServiceStub]): """Dispatch API client.""" def __init__( @@ -125,7 +125,7 @@ async def list( Example usage: ```python - client = Client(key="key", server_url="grpc://fz-0004.frequenz.io") + client = DispatchApiClient(key="key", server_url="grpc://fz-0004.frequenz.io") async for page in client.list(microgrid_id=1): for dispatch in page: print(dispatch) @@ -207,7 +207,7 @@ def stream(self, microgrid_id: int) -> channels.Receiver[DispatchEvent]: Example usage: ``` - client = Client(key="key", server_url="grpc://fz-0004.frequenz.io") + client = DispatchApiClient(key="key", server_url="grpc://fz-0004.frequenz.io") async for message in client.stream(microgrid_id=1): print(message.event, message.dispatch) ``` diff --git a/src/frequenz/client/dispatch/test/client.py b/src/frequenz/client/dispatch/test/client.py index b5148a67..c4cc3241 100644 --- a/src/frequenz/client/dispatch/test/client.py +++ b/src/frequenz/client/dispatch/test/client.py @@ -5,14 +5,14 @@ from typing import Any -from .. import Client +from .. import DispatchApiClient from ..types import Dispatch from ._service import ALL_KEY, NONE_KEY, FakeService __all__ = ["FakeClient", "to_create_params", "ALL_KEY", "NONE_KEY"] -class FakeClient(Client): +class FakeClient(DispatchApiClient): """Fake client for testing. This client uses a fake service to simulate the dispatch api. diff --git a/tests/test_cli.py b/tests/test_cli.py index ee1d6bc7..597afe94 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -44,7 +44,9 @@ def fake_client() -> FakeClient: @pytest.fixture(autouse=True) def mock_client(fake_client: FakeClient) -> Generator[None, None, None]: """Fixture to mock get_client with FakeClient.""" - with patch("frequenz.client.dispatch.__main__.Client", return_value=fake_client): + with patch( + "frequenz.client.dispatch.__main__.DispatchApiClient", return_value=fake_client + ): yield