Skip to content

Commit 203eba8

Browse files
authored
[RSDK-9631] Add deprecation warnings to DiscoverComponents (#818)
1 parent bf78ecc commit 203eba8

File tree

4 files changed

+11
-25
lines changed

4 files changed

+11
-25
lines changed

src/viam/proto/robot/__init__.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
CancelOperationRequest,
1111
CancelOperationResponse,
1212
ConfigStatus,
13-
DiscoverComponentsRequest,
14-
DiscoverComponentsResponse,
13+
DiscoverComponentsRequest, # deprecated, remove on march 10th
14+
DiscoverComponentsResponse, # deprecated, remove on march 10th
1515
Discovery,
1616
DiscoveryQuery,
1717
FrameSystemConfig,
@@ -73,8 +73,8 @@
7373
"CancelOperationRequest",
7474
"CancelOperationResponse",
7575
"ConfigStatus",
76-
"DiscoverComponentsRequest",
77-
"DiscoverComponentsResponse",
76+
"DiscoverComponentsRequest", # deprecated, remove on march 10th
77+
"DiscoverComponentsResponse", # deprecated, remove on march 10th
7878
"Discovery",
7979
"DiscoveryQuery",
8080
"FrameSystemConfig",

src/viam/robot/client.py

+7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import asyncio
22
import sys
3+
import warnings
34
from dataclasses import dataclass
45
from datetime import datetime
56
from threading import RLock
@@ -732,6 +733,7 @@ async def discover_components(
732733
queries: List[DiscoveryQuery],
733734
) -> List[Discovery]:
734735
"""
736+
Deprecated: v0.38.0, use the Discovery Service APIs instead.
735737
Get a list of discovered potential component configurations, for example listing different supported resolutions. Currently only works for some cameras.
736738
Returns module names for modules.
737739
@@ -759,6 +761,11 @@ async def discover_components(
759761
"""
760762
request = DiscoverComponentsRequest(queries=queries)
761763
response: DiscoverComponentsResponse = await self._client.DiscoverComponents(request)
764+
warnings.warn(
765+
"RobotClient.discover_components is deprecated. It will be removed on March 10 2025. Use the DiscoveryService APIs instead.",
766+
DeprecationWarning, stacklevel=2)
767+
LOGGER.warning(
768+
"RobotClient.discover_components is deprecated. It will be removed on March 10 2025. Use the DiscoveryService APIs instead.")
762769
return list(response.discovery)
763770

764771
############

tests/mocks/robot.py

-5
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
BlockForOperationResponse,
1010
CancelOperationRequest,
1111
CancelOperationResponse,
12-
DiscoverComponentsRequest,
13-
DiscoverComponentsResponse,
1412
FrameSystemConfigRequest,
1513
FrameSystemConfigResponse,
1614
GetCloudMetadataRequest,
@@ -100,9 +98,6 @@ async def FrameSystemConfig(self, stream: Stream[FrameSystemConfigRequest, Frame
10098
async def TransformPose(self, stream: Stream[TransformPoseRequest, TransformPoseResponse]) -> None:
10199
raise MethodNotImplementedError("TransformPose").grpc_error
102100

103-
async def DiscoverComponents(self, stream: Stream[DiscoverComponentsRequest, DiscoverComponentsResponse]) -> None:
104-
raise MethodNotImplementedError("DiscoverComponents").grpc_error
105-
106101
async def StopAll(self, stream: Stream[StopAllRequest, StopAllResponse]) -> None:
107102
raise MethodNotImplementedError("StopAll").grpc_error
108103

tests/test_robot.py

-16
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121
BlockForOperationResponse,
2222
CancelOperationRequest,
2323
CancelOperationResponse,
24-
DiscoverComponentsRequest,
25-
DiscoverComponentsResponse,
2624
Discovery,
2725
DiscoveryQuery,
2826
FrameSystemConfig,
@@ -168,12 +166,6 @@ async def TransformPose(stream: Stream[TransformPoseRequest, TransformPoseRespon
168166
response = TransformPoseResponse(pose=TRANSFORM_RESPONSE)
169167
await stream.send_message(response)
170168

171-
async def DiscoverComponents(stream: Stream[DiscoverComponentsRequest, DiscoverComponentsResponse]) -> None:
172-
request = await stream.recv_message()
173-
assert request is not None
174-
response = DiscoverComponentsResponse(discovery=DISCOVERY_RESPONSE)
175-
await stream.send_message(response)
176-
177169
async def GetOperations(stream: Stream[GetOperationsRequest, GetOperationsResponse]) -> None:
178170
request = await stream.recv_message()
179171
assert request is not None
@@ -205,7 +197,6 @@ async def Shutdown(stream: Stream[ShutdownRequest, ShutdownResponse]) -> None:
205197
service = RobotService(manager)
206198
service.FrameSystemConfig = Config
207199
service.TransformPose = TransformPose
208-
service.DiscoverComponents = DiscoverComponents
209200
service.GetOperations = GetOperations
210201
service.GetCloudMetadata = GetCloudMetadata
211202
service.Shutdown = Shutdown
@@ -374,13 +365,6 @@ async def test_transform_pose(self, service: RobotService):
374365
assert pose == TRANSFORM_RESPONSE
375366
await client.close()
376367

377-
async def test_discover_components(self, service: RobotService):
378-
async with ChannelFor([service]) as channel:
379-
client = await RobotClient.with_channel(channel, RobotClient.Options())
380-
discoveries = await client.discover_components([DISCOVERY_QUERY])
381-
assert discoveries == DISCOVERY_RESPONSE
382-
await client.close()
383-
384368
async def test_get_cloud_metadata(self, service: RobotService):
385369
async with ChannelFor([service]) as channel:
386370
client = await RobotClient.with_channel(channel, RobotClient.Options())

0 commit comments

Comments
 (0)