Skip to content

Commit 1865a4a

Browse files
Update base client version
Signed-off-by: camille-bouvy-frequenz <[email protected]>
1 parent fe34bcc commit 1865a4a

File tree

2 files changed

+27
-6
lines changed

2 files changed

+27
-6
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ dependencies = [
3030
"frequenz-api-common >= 0.6.3, < 0.7.0",
3131
"grpcio >= 1.66.2, < 2",
3232
"frequenz-channels >= 1.0.0, < 2",
33-
"frequenz-client-base >= 0.6.1, < 0.7.0",
33+
"frequenz-client-base >= 0.7.0, < 0.8.0",
3434
"frequenz-client-common >= 0.1.0, < 0.3.0",
3535
"frequenz-api-electricity-trading >= 0.2.4, < 1",
3636
"protobuf >= 5.28.0, < 6",

src/frequenz/client/electricity_trading/_client.py

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,12 @@
1313
# pylint: disable=no-member
1414
from frequenz.api.electricity_trading.v1 import electricity_trading_pb2
1515
from frequenz.api.electricity_trading.v1.electricity_trading_pb2_grpc import (
16+
ElectricityTradingServiceAsyncStub,
1617
ElectricityTradingServiceStub,
1718
)
1819
from frequenz.channels import Receiver
1920
from frequenz.client.base.client import BaseApiClient
21+
from frequenz.client.base.exception import ClientNotConnected
2022
from frequenz.client.base.streaming import GrpcStreamBroadcaster
2123
from frequenz.client.common.pagination import Params
2224
from google.protobuf import field_mask_pb2, struct_pb2
@@ -81,7 +83,7 @@ def validate_decimal_places(value: Decimal, decimal_places: int, name: str) -> N
8183
) from exc
8284

8385

84-
class Client(BaseApiClient[ElectricityTradingServiceStub]):
86+
class Client(BaseApiClient):
8587
"""Electricity trading client."""
8688

8789
_instances: dict[tuple[str, str | None], "Client"] = {}
@@ -123,7 +125,11 @@ def __init__(
123125
if not hasattr(
124126
self, "_initialized"
125127
): # Prevent re-initialization of existing instances
126-
super().__init__(server_url, ElectricityTradingServiceStub, connect=connect)
128+
super().__init__(server_url, connect=connect)
129+
self._stub = cast(
130+
ElectricityTradingServiceAsyncStub,
131+
ElectricityTradingServiceStub(self.channel),
132+
)
127133
self._initialized = True
128134

129135
self._gridpool_orders_streams: dict[
@@ -149,6 +155,21 @@ def __init__(
149155

150156
self._metadata = (("key", auth_key),) if auth_key else ()
151157

158+
@property
159+
def stub(self) -> ElectricityTradingServiceAsyncStub:
160+
"""
161+
Get the gRPC stub for the Electricity Trading service.
162+
163+
Returns:
164+
The gRPC stub.
165+
166+
Raises:
167+
ClientNotConnected: If the client is not connected to the server.
168+
"""
169+
if self._channel is None:
170+
raise ClientNotConnected(server_url=self.server_url, operation="stub")
171+
return self._stub
172+
152173
async def stream_gridpool_orders(
153174
# pylint: disable=too-many-arguments, too-many-positional-arguments
154175
self,
@@ -192,7 +213,7 @@ async def stream_gridpool_orders(
192213
try:
193214
self._gridpool_orders_streams[stream_key] = GrpcStreamBroadcaster(
194215
f"electricity-trading-{stream_key}",
195-
lambda: self.stub.ReceiveGridpoolOrdersStream( # type: ignore
216+
lambda: self.stub.ReceiveGridpoolOrdersStream(
196217
electricity_trading_pb2.ReceiveGridpoolOrdersStreamRequest(
197218
gridpool_id=gridpool_id,
198219
filter=gridpool_order_filter.to_pb(),
@@ -251,7 +272,7 @@ async def stream_gridpool_trades(
251272
try:
252273
self._gridpool_trades_streams[stream_key] = GrpcStreamBroadcaster(
253274
f"electricity-trading-{stream_key}",
254-
lambda: self.stub.ReceiveGridpoolTradesStream( # type: ignore
275+
lambda: self.stub.ReceiveGridpoolTradesStream(
255276
electricity_trading_pb2.ReceiveGridpoolTradesStreamRequest(
256277
gridpool_id=gridpool_id,
257278
filter=gridpool_trade_filter.to_pb(),
@@ -303,7 +324,7 @@ async def stream_public_trades(
303324
self._public_trades_streams[public_trade_filter] = (
304325
GrpcStreamBroadcaster(
305326
f"electricity-trading-{public_trade_filter}",
306-
lambda: self.stub.ReceivePublicTradesStream( # type: ignore
327+
lambda: self.stub.ReceivePublicTradesStream(
307328
electricity_trading_pb2.ReceivePublicTradesStreamRequest(
308329
filter=public_trade_filter.to_pb(),
309330
),

0 commit comments

Comments
 (0)