Skip to content

Commit ac37fc0

Browse files
authored
Automated Protos Update (#917)
1 parent 8003350 commit ac37fc0

File tree

6 files changed

+39
-24
lines changed

6 files changed

+39
-24
lines changed

src/viam/app/app_client.py

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -52,24 +52,26 @@
5252
GetFragmentHistoryResponse,
5353
GetFragmentRequest,
5454
GetFragmentResponse,
55-
GetLocationRequest,
56-
GetLocationResponse,
5755
GetLocationMetadataRequest,
5856
GetLocationMetadataResponse,
57+
GetLocationRequest,
58+
GetLocationResponse,
5959
GetModuleRequest,
6060
GetModuleResponse,
61+
GetOrganizationMetadataRequest,
62+
GetOrganizationMetadataResponse,
6163
GetOrganizationNamespaceAvailabilityRequest,
6264
GetOrganizationNamespaceAvailabilityResponse,
6365
GetOrganizationRequest,
6466
GetOrganizationResponse,
65-
GetOrganizationMetadataRequest,
66-
GetOrganizationMetadataResponse,
6767
GetOrganizationsWithAccessToLocationRequest,
6868
GetOrganizationsWithAccessToLocationResponse,
6969
GetRegistryItemRequest,
7070
GetRegistryItemResponse,
7171
GetRobotAPIKeysRequest,
7272
GetRobotAPIKeysResponse,
73+
GetRobotMetadataRequest,
74+
GetRobotMetadataResponse,
7375
GetRobotPartHistoryRequest,
7476
GetRobotPartHistoryResponse,
7577
GetRobotPartLogsRequest,
@@ -82,8 +84,6 @@
8284
GetRobotPartsResponse,
8385
GetRobotRequest,
8486
GetRobotResponse,
85-
GetRobotMetadataRequest,
86-
GetRobotMetadataResponse,
8787
GetRoverRentalRobotsRequest,
8888
GetRoverRentalRobotsResponse,
8989
GetUserIDByEmailRequest,
@@ -1451,8 +1451,9 @@ async def get_robot_part_history(self, robot_part_id: str) -> List[RobotPartHist
14511451
response: GetRobotPartHistoryResponse = await self._app_client.GetRobotPartHistory(request, metadata=self._metadata)
14521452
return [RobotPartHistoryEntry.from_proto(part_history) for part_history in response.history]
14531453

1454-
async def update_robot_part(self, robot_part_id: str, name: str, robot_config: Optional[Mapping[str, Any]] = None,
1455-
last_known_update: Optional[datetime] = None) -> RobotPart:
1454+
async def update_robot_part(
1455+
self, robot_part_id: str, name: str, robot_config: Optional[Mapping[str, Any]] = None, last_known_update: Optional[datetime] = None
1456+
) -> RobotPart:
14561457
"""Change the name and assign an optional new configuration to a machine part.
14571458
14581459
::
@@ -1477,8 +1478,12 @@ async def update_robot_part(self, robot_part_id: str, name: str, robot_config: O
14771478
14781479
For more information, see `Fleet Management API <https://docs.viam.com/dev/reference/apis/fleet/#updaterobotpart>`_.
14791480
"""
1480-
request = UpdateRobotPartRequest(id=robot_part_id, name=name, robot_config=dict_to_struct(robot_config) if robot_config else None,
1481-
last_known_update=datetime_to_timestamp(last_known_update))
1481+
request = UpdateRobotPartRequest(
1482+
id=robot_part_id,
1483+
name=name,
1484+
robot_config=dict_to_struct(robot_config) if robot_config else None,
1485+
last_known_update=datetime_to_timestamp(last_known_update),
1486+
)
14821487
response: UpdateRobotPartResponse = await self._app_client.UpdateRobotPart(request, metadata=self._metadata)
14831488
return RobotPart.from_proto(robot_part=response.part)
14841489

src/viam/gen/module/v1/module_pb2.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
_sym_db = _symbol_database.Default()
99
from ...app.v1 import robot_pb2 as app_dot_v1_dot_robot__pb2
1010
from ...robot.v1 import robot_pb2 as robot_dot_v1_dot_robot__pb2
11-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16module/v1/module.proto\x12\x0eviam.module.v1\x1a\x12app/v1/robot.proto\x1a\x14robot/v1/robot.proto"n\n\x12AddResourceRequest\x124\n\x06config\x18\x01 \x01(\x0b2\x1c.viam.app.v1.ComponentConfigR\x06config\x12"\n\x0cdependencies\x18\x02 \x03(\tR\x0cdependencies"\x15\n\x13AddResourceResponse"v\n\x1aReconfigureResourceRequest\x124\n\x06config\x18\x01 \x01(\x0b2\x1c.viam.app.v1.ComponentConfigR\x06config\x12"\n\x0cdependencies\x18\x02 \x03(\tR\x0cdependencies"\x1d\n\x1bReconfigureResourceResponse"+\n\x15RemoveResourceRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x18\n\x16RemoveResourceResponse"h\n\x11HandlerDefinition\x12;\n\x07subtype\x18\x01 \x01(\x0b2!.viam.robot.v1.ResourceRPCSubtypeR\x07subtype\x12\x16\n\x06models\x18\x02 \x03(\tR\x06models"K\n\nHandlerMap\x12=\n\x08handlers\x18\x01 \x03(\x0b2!.viam.module.v1.HandlerDefinitionR\x08handlers"X\n\x0cReadyRequest\x12%\n\x0eparent_address\x18\x01 \x01(\tR\rparentAddress\x12!\n\x0cwebrtc_offer\x18\x02 \x01(\tR\x0bwebrtcOffer"\x86\x01\n\rReadyResponse\x12\x14\n\x05ready\x18\x01 \x01(\x08R\x05ready\x12:\n\nhandlermap\x18\x02 \x01(\x0b2\x1a.viam.module.v1.HandlerMapR\nhandlermap\x12#\n\rwebrtc_answer\x18\x03 \x01(\tR\x0cwebrtcAnswer"M\n\x15ValidateConfigRequest\x124\n\x06config\x18\x01 \x01(\x0b2\x1c.viam.app.v1.ComponentConfigR\x06config"<\n\x16ValidateConfigResponse\x12"\n\x0cdependencies\x18\x01 \x03(\tR\x0cdependencies2\xdf\x03\n\rModuleService\x12V\n\x0bAddResource\x12".viam.module.v1.AddResourceRequest\x1a#.viam.module.v1.AddResourceResponse\x12n\n\x13ReconfigureResource\x12*.viam.module.v1.ReconfigureResourceRequest\x1a+.viam.module.v1.ReconfigureResourceResponse\x12_\n\x0eRemoveResource\x12%.viam.module.v1.RemoveResourceRequest\x1a&.viam.module.v1.RemoveResourceResponse\x12D\n\x05Ready\x12\x1c.viam.module.v1.ReadyRequest\x1a\x1d.viam.module.v1.ReadyResponse\x12_\n\x0eValidateConfig\x12%.viam.module.v1.ValidateConfigRequest\x1a&.viam.module.v1.ValidateConfigResponseB\x1bZ\x19go.viam.com/api/module/v1b\x06proto3')
11+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16module/v1/module.proto\x12\x0eviam.module.v1\x1a\x12app/v1/robot.proto\x1a\x14robot/v1/robot.proto"n\n\x12AddResourceRequest\x124\n\x06config\x18\x01 \x01(\x0b2\x1c.viam.app.v1.ComponentConfigR\x06config\x12"\n\x0cdependencies\x18\x02 \x03(\tR\x0cdependencies"\x15\n\x13AddResourceResponse"v\n\x1aReconfigureResourceRequest\x124\n\x06config\x18\x01 \x01(\x0b2\x1c.viam.app.v1.ComponentConfigR\x06config\x12"\n\x0cdependencies\x18\x02 \x03(\tR\x0cdependencies"\x1d\n\x1bReconfigureResourceResponse"+\n\x15RemoveResourceRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x18\n\x16RemoveResourceResponse"h\n\x11HandlerDefinition\x12;\n\x07subtype\x18\x01 \x01(\x0b2!.viam.robot.v1.ResourceRPCSubtypeR\x07subtype\x12\x16\n\x06models\x18\x02 \x03(\tR\x06models"K\n\nHandlerMap\x12=\n\x08handlers\x18\x01 \x03(\x0b2!.viam.module.v1.HandlerDefinitionR\x08handlers"X\n\x0cReadyRequest\x12%\n\x0eparent_address\x18\x01 \x01(\tR\rparentAddress\x12!\n\x0cwebrtc_offer\x18\x02 \x01(\tR\x0bwebrtcOffer"\x86\x01\n\rReadyResponse\x12\x14\n\x05ready\x18\x01 \x01(\x08R\x05ready\x12:\n\nhandlermap\x18\x02 \x01(\x0b2\x1a.viam.module.v1.HandlerMapR\nhandlermap\x12#\n\rwebrtc_answer\x18\x03 \x01(\tR\x0cwebrtcAnswer"M\n\x15ValidateConfigRequest\x124\n\x06config\x18\x01 \x01(\x0b2\x1c.viam.app.v1.ComponentConfigR\x06config"q\n\x16ValidateConfigResponse\x12"\n\x0cdependencies\x18\x01 \x03(\tR\x0cdependencies\x123\n\x15optional_dependencies\x18\x02 \x03(\tR\x14optionalDependencies2\xdf\x03\n\rModuleService\x12V\n\x0bAddResource\x12".viam.module.v1.AddResourceRequest\x1a#.viam.module.v1.AddResourceResponse\x12n\n\x13ReconfigureResource\x12*.viam.module.v1.ReconfigureResourceRequest\x1a+.viam.module.v1.ReconfigureResourceResponse\x12_\n\x0eRemoveResource\x12%.viam.module.v1.RemoveResourceRequest\x1a&.viam.module.v1.RemoveResourceResponse\x12D\n\x05Ready\x12\x1c.viam.module.v1.ReadyRequest\x1a\x1d.viam.module.v1.ReadyResponse\x12_\n\x0eValidateConfig\x12%.viam.module.v1.ValidateConfigRequest\x1a&.viam.module.v1.ValidateConfigResponseB\x1bZ\x19go.viam.com/api/module/v1b\x06proto3')
1212
_globals = globals()
1313
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
1414
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'module.v1.module_pb2', _globals)
@@ -38,6 +38,6 @@
3838
_globals['_VALIDATECONFIGREQUEST']._serialized_start = 851
3939
_globals['_VALIDATECONFIGREQUEST']._serialized_end = 928
4040
_globals['_VALIDATECONFIGRESPONSE']._serialized_start = 930
41-
_globals['_VALIDATECONFIGRESPONSE']._serialized_end = 990
42-
_globals['_MODULESERVICE']._serialized_start = 993
43-
_globals['_MODULESERVICE']._serialized_end = 1472
41+
_globals['_VALIDATECONFIGRESPONSE']._serialized_end = 1043
42+
_globals['_MODULESERVICE']._serialized_start = 1046
43+
_globals['_MODULESERVICE']._serialized_end = 1525

src/viam/gen/module/v1/module_pb2.pyi

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,14 +198,19 @@ global___ValidateConfigRequest = ValidateConfigRequest
198198
class ValidateConfigResponse(google.protobuf.message.Message):
199199
DESCRIPTOR: google.protobuf.descriptor.Descriptor
200200
DEPENDENCIES_FIELD_NUMBER: builtins.int
201+
OPTIONAL_DEPENDENCIES_FIELD_NUMBER: builtins.int
201202

202203
@property
203204
def dependencies(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
204205
...
205206

206-
def __init__(self, *, dependencies: collections.abc.Iterable[builtins.str] | None=...) -> None:
207+
@property
208+
def optional_dependencies(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
209+
...
210+
211+
def __init__(self, *, dependencies: collections.abc.Iterable[builtins.str] | None=..., optional_dependencies: collections.abc.Iterable[builtins.str] | None=...) -> None:
207212
...
208213

209-
def ClearField(self, field_name: typing.Literal['dependencies', b'dependencies']) -> None:
214+
def ClearField(self, field_name: typing.Literal['dependencies', b'dependencies', 'optional_dependencies', b'optional_dependencies']) -> None:
210215
...
211216
global___ValidateConfigResponse = ValidateConfigResponse

src/viam/version_metadata.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
__version__ = "0.45.2"
22

3-
API_VERSION = "v0.1.433"
3+
API_VERSION = "v0.1.434"
44
SDK_VERSION = __version__

tests/mocks/services.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,12 @@
6969
GetLocationResponse,
7070
GetModuleRequest,
7171
GetModuleResponse,
72+
GetOrganizationMetadataRequest,
73+
GetOrganizationMetadataResponse,
7274
GetOrganizationNamespaceAvailabilityRequest,
7375
GetOrganizationNamespaceAvailabilityResponse,
7476
GetOrganizationRequest,
7577
GetOrganizationResponse,
76-
GetOrganizationMetadataRequest,
77-
GetOrganizationMetadataResponse,
7878
GetOrganizationsWithAccessToLocationRequest,
7979
GetOrganizationsWithAccessToLocationResponse,
8080
GetRegistryItemRequest,
@@ -1726,9 +1726,13 @@ async def GetRegistryItem(self, stream: Stream[GetRegistryItemRequest, GetRegist
17261726
async def GetOrganizationMetadata(self, stream: Stream[GetOrganizationMetadataRequest, GetOrganizationMetadataResponse]) -> None:
17271727
request = await stream.recv_message()
17281728
assert request is not None
1729-
await stream.send_message(GetOrganizationMetadataResponse(data=self.organization_metadata.get(request.organization_id, dict_to_struct({}))))
1729+
await stream.send_message(
1730+
GetOrganizationMetadataResponse(data=self.organization_metadata.get(request.organization_id, dict_to_struct({})))
1731+
)
17301732

1731-
async def UpdateOrganizationMetadata(self, stream: Stream[UpdateOrganizationMetadataRequest, UpdateOrganizationMetadataResponse]) -> None:
1733+
async def UpdateOrganizationMetadata(
1734+
self, stream: Stream[UpdateOrganizationMetadataRequest, UpdateOrganizationMetadataResponse]
1735+
) -> None:
17321736
request = await stream.recv_message()
17331737
assert request is not None
17341738
self.organization_metadata[request.organization_id] = request.data
@@ -1767,6 +1771,7 @@ async def UpdateRobotPartMetadata(self, stream: Stream[UpdateRobotPartMetadataRe
17671771
self.robot_part_metadata[request.id] = request.data
17681772
await stream.send_message(UpdateRobotPartMetadataResponse())
17691773

1774+
17701775
class MockGenericService(GenericService):
17711776
timeout: Optional[float] = None
17721777

tests/test_app_client.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -478,8 +478,9 @@ async def test_update_robot_part(self, service: MockApp):
478478
async with ChannelFor([service]) as channel:
479479
last_known_update = datetime.now()
480480
client = AppClient(channel, METADATA, ID)
481-
updated_robot_part = await client.update_robot_part(robot_part_id=ID, name=NAME, robot_config=ROBOT_CONFIG,
482-
last_known_update=last_known_update)
481+
updated_robot_part = await client.update_robot_part(
482+
robot_part_id=ID, name=NAME, robot_config=ROBOT_CONFIG, last_known_update=last_known_update
483+
)
483484
assert service.robot_part_id == ID
484485
assert service.name == NAME
485486
assert struct_to_dict(service.robot_config) == ROBOT_CONFIG
@@ -803,7 +804,6 @@ async def test_get_and_update_location_metadata(self, service: MockApp):
803804
user_defined_metadata = await client.get_location_metadata(ID)
804805
assert len(user_defined_metadata) == 0
805806

806-
807807
await client.update_location_metadata(ID, USER_DEFINED_METADATA)
808808
user_defined_metadata = await client.get_location_metadata(ID)
809809
assert user_defined_metadata == USER_DEFINED_METADATA

0 commit comments

Comments
 (0)