viam-sdk 0.53.0__py3-none-linux_armv7l.whl → 0.54.1b0__py3-none-linux_armv7l.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of viam-sdk might be problematic. Click here for more details.

viam/app/data_client.py CHANGED
@@ -309,6 +309,9 @@ class DataClient:
309
309
  data_end_time: datetime
310
310
  """The end time of the data that was processed in the run."""
311
311
 
312
+ error_message: str
313
+ """The error message of the data pipeline run. Only set if the run failed."""
314
+
312
315
  @classmethod
313
316
  def from_proto(cls, data_pipeline_run: ProtoDataPipelineRun) -> Self:
314
317
  return cls(
@@ -318,6 +321,7 @@ class DataClient:
318
321
  end_time=data_pipeline_run.end_time.ToDatetime(),
319
322
  data_start_time=data_pipeline_run.data_start_time.ToDatetime(),
320
323
  data_end_time=data_pipeline_run.data_end_time.ToDatetime(),
324
+ error_message=data_pipeline_run.error_message,
321
325
  )
322
326
 
323
327
  @dataclass
@@ -63,7 +63,14 @@ class Camera(ComponentBase):
63
63
  ...
64
64
 
65
65
  @abc.abstractmethod
66
- async def get_images(self, *, timeout: Optional[float] = None, **kwargs) -> Tuple[List[NamedImage], ResponseMetadata]:
66
+ async def get_images(
67
+ self,
68
+ *,
69
+ filter_source_names: Optional[List[str]] = None,
70
+ extra: Optional[Dict[str, Any]] = None,
71
+ timeout: Optional[float] = None,
72
+ **kwargs,
73
+ ) -> Tuple[List[NamedImage], ResponseMetadata]:
67
74
  """Get simultaneous images from different imagers, along with associated metadata.
68
75
  This should not be used for getting a time series of images from the same imager.
69
76
 
@@ -41,20 +41,26 @@ class CameraClient(Camera, ReconfigurableResourceRPCClientBase):
41
41
  md = kwargs.get("metadata", self.Metadata()).proto
42
42
  request = GetImageRequest(name=self.name, mime_type=mime_type, extra=dict_to_struct(extra))
43
43
  response: GetImageResponse = await self.client.GetImage(request, timeout=timeout, metadata=md)
44
- return ViamImage(response.image, CameraMimeType.from_string(response.mime_type))
44
+ return ViamImage(response.image, response.mime_type)
45
45
 
46
46
  async def get_images(
47
47
  self,
48
48
  *,
49
+ filter_source_names: Optional[List[str]] = None,
50
+ extra: Optional[Dict[str, Any]] = None,
49
51
  timeout: Optional[float] = None,
50
52
  **kwargs,
51
53
  ) -> Tuple[List[NamedImage], ResponseMetadata]:
52
54
  md = kwargs.get("metadata", self.Metadata()).proto
53
- request = GetImagesRequest(name=self.name)
55
+ request = GetImagesRequest(name=self.name, extra=dict_to_struct(extra), filter_source_names=filter_source_names)
54
56
  response: GetImagesResponse = await self.client.GetImages(request, timeout=timeout, metadata=md)
55
57
  imgs = []
56
58
  for img_data in response.images:
57
- mime_type = CameraMimeType.from_proto(img_data.format)
59
+ if img_data.mime_type:
60
+ mime_type = img_data.mime_type
61
+ else:
62
+ # TODO(RSDK-11728): remove this once we deleted the format field
63
+ mime_type = str(CameraMimeType.from_proto(img_data.format))
58
64
  img = NamedImage(img_data.source_name, img_data.image, mime_type)
59
65
  imgs.append(img)
60
66
  resp_metadata: ResponseMetadata = response.response_metadata
@@ -3,9 +3,11 @@
3
3
  from google.api.httpbody_pb2 import HttpBody # type: ignore
4
4
  from grpclib.server import Stream
5
5
 
6
+ from viam.media.video import CameraMimeType
6
7
  from viam.proto.common import DoCommandRequest, DoCommandResponse, GetGeometriesRequest, GetGeometriesResponse
7
8
  from viam.proto.component.camera import (
8
9
  CameraServiceBase,
10
+ Format,
9
11
  GetImageRequest,
10
12
  GetImageResponse,
11
13
  GetImagesRequest,
@@ -48,12 +50,23 @@ class CameraRPCService(CameraServiceBase, ResourceRPCServiceBase[Camera]):
48
50
  camera = self.get_resource(name)
49
51
 
50
52
  timeout = stream.deadline.time_remaining() if stream.deadline else None
51
- images, metadata = await camera.get_images(timeout=timeout, metadata=stream.metadata)
53
+ images, metadata = await camera.get_images(
54
+ timeout=timeout,
55
+ metadata=stream.metadata,
56
+ extra=struct_to_dict(request.extra),
57
+ filter_source_names=list(request.filter_source_names),
58
+ )
52
59
  img_bytes_lst = []
53
60
  for img in images:
54
- fmt = img.mime_type.to_proto()
61
+ try:
62
+ mime_type = CameraMimeType.from_string(img.mime_type) # this can ValueError if the mime_type is not a CameraMimeType
63
+ fmt = mime_type.to_proto()
64
+ except ValueError:
65
+ # TODO(RSDK-11728): remove this once we deleted the format field
66
+ fmt = Format.FORMAT_UNSPECIFIED
67
+
55
68
  img_bytes = img.data
56
- img_bytes_lst.append(Image(source_name=name, format=fmt, image=img_bytes))
69
+ img_bytes_lst.append(Image(source_name=name, mime_type=img.mime_type, format=fmt, image=img_bytes))
57
70
  response = GetImagesResponse(images=img_bytes_lst, response_metadata=metadata)
58
71
  await stream.send_message(response)
59
72
 
@@ -274,7 +274,7 @@ class Motor(ComponentBase):
274
274
 
275
275
  Returns:
276
276
  Tuple[bool, float]: A tuple containing two values; the first [0] value indicates whether the motor is currently powered, and
277
- the second [1] value indicates the current power percentage of the motor.
277
+ the second [1] value indicates the current power percentage of the motor.
278
278
 
279
279
  For more information, see `Motor component <https://docs.viam.com/dev/reference/apis/components/motor/#ispowered>`_.
280
280
  """
@@ -97,7 +97,7 @@ class PowerSensor(ComponentBase):
97
97
 
98
98
  Returns:
99
99
  Mapping[str, Any]: The readings for the PowerSensor. Can be of any type. Includes voltage in volts (float), current in
100
- amperes (float), is_ac (bool), and power in watts (float).
100
+ amperes (float), is_ac (bool), and power in watts (float).
101
101
 
102
102
  For more information, see `Power Sensor component <https://docs.viam.com/dev/reference/apis/components/power-sensor/#getreadings>`_.
103
103
  """
@@ -9,7 +9,7 @@ _sym_db = _symbol_database.Default()
9
9
  from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2
10
10
  from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
11
11
  from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
12
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16app/data/v1/data.proto\x12\x10viam.app.data.v1\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xa1\x01\n\x0bDataRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x12\x14\n\x05limit\x18\x02 \x01(\x04R\x05limit\x12\x12\n\x04last\x18\x03 \x01(\tR\x04last\x126\n\nsort_order\x18\x04 \x01(\x0e2\x17.viam.app.data.v1.OrderR\tsortOrder"\xaa\x04\n\x06Filter\x12%\n\x0ecomponent_name\x18\x01 \x01(\tR\rcomponentName\x12%\n\x0ecomponent_type\x18\x02 \x01(\tR\rcomponentType\x12\x16\n\x06method\x18\x04 \x01(\tR\x06method\x12\x1d\n\nrobot_name\x18\x06 \x01(\tR\trobotName\x12\x19\n\x08robot_id\x18\x07 \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\x08 \x01(\tR\x08partName\x12\x17\n\x07part_id\x18\t \x01(\tR\x06partId\x12!\n\x0clocation_ids\x18\n \x03(\tR\x0blocationIds\x12)\n\x10organization_ids\x18\x0b \x03(\tR\x0forganizationIds\x12\x1b\n\tmime_type\x18\x0c \x03(\tR\x08mimeType\x12=\n\x08interval\x18\r \x01(\x0b2!.viam.app.data.v1.CaptureIntervalR\x08interval\x12=\n\x0btags_filter\x18\x0e \x01(\x0b2\x1c.viam.app.data.v1.TagsFilterR\ntagsFilter\x12\x1f\n\x0bbbox_labels\x18\x0f \x03(\tR\nbboxLabels\x12\x1d\n\ndataset_id\x18\x10 \x01(\tR\tdatasetIdJ\x04\x08\x03\x10\x04J\x04\x08\x05\x10\x06R\x0fcomponent_modelR\x04tags"V\n\nTagsFilter\x124\n\x04type\x18\x01 \x01(\x0e2 .viam.app.data.v1.TagsFilterTypeR\x04type\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags"\xc3\x04\n\x0fCaptureMetadata\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x12\x1d\n\nrobot_name\x18\x03 \x01(\tR\trobotName\x12\x19\n\x08robot_id\x18\x04 \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\x05 \x01(\tR\x08partName\x12\x17\n\x07part_id\x18\x06 \x01(\tR\x06partId\x12%\n\x0ecomponent_type\x18\x07 \x01(\tR\rcomponentType\x12%\n\x0ecomponent_name\x18\t \x01(\tR\rcomponentName\x12\x1f\n\x0bmethod_name\x18\n \x01(\tR\nmethodName\x12d\n\x11method_parameters\x18\x0b \x03(\x0b27.viam.app.data.v1.CaptureMetadata.MethodParametersEntryR\x10methodParameters\x12\x12\n\x04tags\x18\x0c \x03(\tR\x04tags\x12\x1b\n\tmime_type\x18\r \x01(\tR\x08mimeType\x1aY\n\x15MethodParametersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12*\n\x05value\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyR\x05value:\x028\x01J\x04\x08\x08\x10\tR\x0fcomponent_model"q\n\x0fCaptureInterval\x120\n\x05start\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\x05start\x12,\n\x03end\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x03end"\xb5\x01\n\x1aTabularDataByFilterRequest\x12@\n\x0cdata_request\x18\x01 \x01(\x0b2\x1d.viam.app.data.v1.DataRequestR\x0bdataRequest\x12\x1d\n\ncount_only\x18\x02 \x01(\x08R\tcountOnly\x122\n\x15include_internal_data\x18\x03 \x01(\x08R\x13includeInternalData:\x02\x18\x01"\xe7\x01\n\x1bTabularDataByFilterResponse\x12=\n\x08metadata\x18\x01 \x03(\x0b2!.viam.app.data.v1.CaptureMetadataR\x08metadata\x121\n\x04data\x18\x02 \x03(\x0b2\x1d.viam.app.data.v1.TabularDataR\x04data\x12\x14\n\x05count\x18\x03 \x01(\x04R\x05count\x12\x12\n\x04last\x18\x04 \x01(\tR\x04last\x12(\n\x10total_size_bytes\x18\x05 \x01(\x04R\x0etotalSizeBytes:\x02\x18\x01"\xe9\x01\n\x0bTabularData\x12+\n\x04data\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x04data\x12%\n\x0emetadata_index\x18\x02 \x01(\rR\rmetadataIndex\x12A\n\x0etime_requested\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\rtimeRequested\x12?\n\rtime_received\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0ctimeReceived:\x02\x18\x01"_\n\x17TabularDataBySQLRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1b\n\tsql_query\x18\x02 \x01(\tR\x08sqlQuery"A\n\x18TabularDataBySQLResponse\x12\x19\n\x08raw_data\x18\x02 \x03(\x0cR\x07rawDataJ\x04\x08\x01\x10\x02R\x04data"\x86\x01\n\x11TabularDataSource\x12;\n\x04type\x18\x01 \x01(\x0e2\'.viam.app.data.v1.TabularDataSourceTypeR\x04type\x12$\n\x0bpipeline_id\x18\x02 \x01(\tH\x00R\npipelineId\x88\x01\x01B\x0e\n\x0c_pipeline_id"\xa7\x02\n\x17TabularDataByMQLRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1d\n\nmql_binary\x18\x03 \x03(\x0cR\tmqlBinary\x12+\n\x0fuse_recent_data\x18\x04 \x01(\x08H\x00R\ruseRecentData\x88\x01\x01\x12I\n\x0bdata_source\x18\x06 \x01(\x0b2#.viam.app.data.v1.TabularDataSourceH\x01R\ndataSource\x88\x01\x01B\x12\n\x10_use_recent_dataB\x0e\n\x0c_data_sourceJ\x04\x08\x02\x10\x03J\x04\x08\x05\x10\x06R\tmql_queryR\x11use_data_pipeline"A\n\x18TabularDataByMQLResponse\x12\x19\n\x08raw_data\x18\x02 \x03(\x0cR\x07rawDataJ\x04\x08\x01\x10\x02R\x04data"\xd0\x02\n\x18ExportTabularDataRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId\x12#\n\rresource_name\x18\x02 \x01(\tR\x0cresourceName\x12)\n\x10resource_subtype\x18\x03 \x01(\tR\x0fresourceSubtype\x12\x1f\n\x0bmethod_name\x18\x04 \x01(\tR\nmethodName\x12=\n\x08interval\x18\x05 \x01(\x0b2!.viam.app.data.v1.CaptureIntervalR\x08interval\x12Q\n\x15additional_parameters\x18\x06 \x01(\x0b2\x17.google.protobuf.StructH\x00R\x14additionalParameters\x88\x01\x01B\x18\n\x16_additional_parameters"\x94\x04\n\x19ExportTabularDataResponse\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId\x12#\n\rresource_name\x18\x02 \x01(\tR\x0cresourceName\x12)\n\x10resource_subtype\x18\x03 \x01(\tR\x0fresourceSubtype\x12\x1f\n\x0bmethod_name\x18\x04 \x01(\tR\nmethodName\x12?\n\rtime_captured\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0ctimeCaptured\x12\'\n\x0forganization_id\x18\x06 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x07 \x01(\tR\nlocationId\x12\x1d\n\nrobot_name\x18\x08 \x01(\tR\trobotName\x12\x19\n\x08robot_id\x18\t \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\n \x01(\tR\x08partName\x12D\n\x11method_parameters\x18\x0b \x01(\x0b2\x17.google.protobuf.StructR\x10methodParameters\x12\x12\n\x04tags\x18\x0c \x03(\tR\x04tags\x121\n\x07payload\x18\r \x01(\x0b2\x17.google.protobuf.StructR\x07payload"\x94\x02\n\x1bGetLatestTabularDataRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId\x12#\n\rresource_name\x18\x02 \x01(\tR\x0cresourceName\x12\x1f\n\x0bmethod_name\x18\x03 \x01(\tR\nmethodName\x12)\n\x10resource_subtype\x18\x04 \x01(\tR\x0fresourceSubtype\x12Q\n\x15additional_parameters\x18\x05 \x01(\x0b2\x17.google.protobuf.StructH\x00R\x14additionalParameters\x88\x01\x01B\x18\n\x16_additional_parameters"\xcf\x01\n\x1cGetLatestTabularDataResponse\x12?\n\rtime_captured\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0ctimeCaptured\x12;\n\x0btime_synced\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\ntimeSynced\x121\n\x07payload\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\x07payload"b\n\nBinaryData\x12\x16\n\x06binary\x18\x01 \x01(\x0cR\x06binary\x12<\n\x08metadata\x18\x02 \x01(\x0b2 .viam.app.data.v1.BinaryMetadataR\x08metadata"\xd7\x01\n\x19BinaryDataByFilterRequest\x12@\n\x0cdata_request\x18\x01 \x01(\x0b2\x1d.viam.app.data.v1.DataRequestR\x0bdataRequest\x12%\n\x0einclude_binary\x18\x02 \x01(\x08R\rincludeBinary\x12\x1d\n\ncount_only\x18\x03 \x01(\x08R\tcountOnly\x122\n\x15include_internal_data\x18\x04 \x01(\x08R\x13includeInternalData"\xa2\x01\n\x1aBinaryDataByFilterResponse\x120\n\x04data\x18\x01 \x03(\x0b2\x1c.viam.app.data.v1.BinaryDataR\x04data\x12\x14\n\x05count\x18\x02 \x01(\x04R\x05count\x12\x12\n\x04last\x18\x03 \x01(\tR\x04last\x12(\n\x10total_size_bytes\x18\x04 \x01(\x04R\x0etotalSizeBytes"q\n\x08BinaryID\x12\x17\n\x07file_id\x18\x01 \x01(\tR\x06fileId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x03 \x01(\tR\nlocationId:\x02\x18\x01"\xb6\x01\n\x16BinaryDataByIDsRequest\x12%\n\x0einclude_binary\x18\x02 \x01(\x08R\rincludeBinary\x12=\n\nbinary_ids\x18\x03 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDB\x02\x18\x01R\tbinaryIds\x12&\n\x0fbinary_data_ids\x18\x04 \x03(\tR\rbinaryDataIdsJ\x04\x08\x01\x10\x02R\x08file_ids"a\n\x17BinaryDataByIDsResponse\x120\n\x04data\x18\x01 \x03(\x0b2\x1c.viam.app.data.v1.BinaryDataR\x04data\x12\x14\n\x05count\x18\x02 \x01(\x04R\x05count"\x8f\x02\n\x0bBoundingBox\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n\x05label\x18\x02 \x01(\tR\x05label\x12(\n\x10x_min_normalized\x18\x03 \x01(\x01R\x0exMinNormalized\x12(\n\x10y_min_normalized\x18\x04 \x01(\x01R\x0eyMinNormalized\x12(\n\x10x_max_normalized\x18\x05 \x01(\x01R\x0exMaxNormalized\x12(\n\x10y_max_normalized\x18\x06 \x01(\x01R\x0eyMaxNormalized\x12#\n\nconfidence\x18\x07 \x01(\x01H\x00R\nconfidence\x88\x01\x01B\r\n\x0b_confidence"j\n\x0eClassification\x12\x0e\n\x02id\x18\x03 \x01(\tR\x02id\x12\x14\n\x05label\x18\x01 \x01(\tR\x05label\x12#\n\nconfidence\x18\x02 \x01(\x01H\x00R\nconfidence\x88\x01\x01B\r\n\x0b_confidence"\x90\x01\n\x0bAnnotations\x125\n\x06bboxes\x18\x01 \x03(\x0b2\x1d.viam.app.data.v1.BoundingBoxR\x06bboxes\x12J\n\x0fclassifications\x18\x02 \x03(\x0b2 .viam.app.data.v1.ClassificationR\x0fclassifications"\xc8\x03\n\x0eBinaryMetadata\x12\x12\n\x02id\x18\x01 \x01(\tB\x02\x18\x01R\x02id\x12L\n\x10capture_metadata\x18\x02 \x01(\x0b2!.viam.app.data.v1.CaptureMetadataR\x0fcaptureMetadata\x12A\n\x0etime_requested\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\rtimeRequested\x12?\n\rtime_received\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0ctimeReceived\x12\x1b\n\tfile_name\x18\x05 \x01(\tR\x08fileName\x12\x19\n\x08file_ext\x18\x06 \x01(\tR\x07fileExt\x12\x10\n\x03uri\x18\x07 \x01(\tR\x03uri\x12?\n\x0bannotations\x18\x08 \x01(\x0b2\x1d.viam.app.data.v1.AnnotationsR\x0bannotations\x12\x1f\n\x0bdataset_ids\x18\t \x03(\tR\ndatasetIds\x12$\n\x0ebinary_data_id\x18\n \x01(\tR\x0cbinaryDataId"x\n\x18DeleteTabularDataRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x123\n\x16delete_older_than_days\x18\x02 \x01(\rR\x13deleteOlderThanDays"@\n\x19DeleteTabularDataResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCount"\x87\x01\n\x1fDeleteBinaryDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x122\n\x15include_internal_data\x18\x02 \x01(\x08R\x13includeInternalData"U\n DeleteBinaryDataByFilterResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCountJ\x04\x08\x02\x10\x03R\x06result"\x95\x01\n\x1cDeleteBinaryDataByIDsRequest\x12=\n\nbinary_ids\x18\x02 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDB\x02\x18\x01R\tbinaryIds\x12&\n\x0fbinary_data_ids\x18\x03 \x03(\tR\rbinaryDataIdsJ\x04\x08\x01\x10\x02R\x08file_ids"R\n\x1dDeleteBinaryDataByIDsResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCountJ\x04\x08\x02\x10\x03R\x06result"\xac\x01\n\x1fAddTagsToBinaryDataByIDsRequest\x12=\n\nbinary_ids\x18\x03 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDB\x02\x18\x01R\tbinaryIds\x12&\n\x0fbinary_data_ids\x18\x04 \x03(\tR\rbinaryDataIds\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tagsJ\x04\x08\x01\x10\x02R\x08file_ids""\n AddTagsToBinaryDataByIDsResponse"j\n"AddTagsToBinaryDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags"%\n#AddTagsToBinaryDataByFilterResponse"\xb1\x01\n$RemoveTagsFromBinaryDataByIDsRequest\x12=\n\nbinary_ids\x18\x03 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDB\x02\x18\x01R\tbinaryIds\x12&\n\x0fbinary_data_ids\x18\x04 \x03(\tR\rbinaryDataIds\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tagsJ\x04\x08\x01\x10\x02R\x08file_ids"L\n%RemoveTagsFromBinaryDataByIDsResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCount"o\n\'RemoveTagsFromBinaryDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags"O\n(RemoveTagsFromBinaryDataByFilterResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCount"G\n\x13TagsByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter"*\n\x14TagsByFilterResponse\x12\x12\n\x04tags\x18\x01 \x03(\tR\x04tags"\xd2\x02\n AddBoundingBoxToImageByIDRequest\x12;\n\tbinary_id\x18\x07 \x01(\x0b2\x1a.viam.app.data.v1.BinaryIDB\x02\x18\x01R\x08binaryId\x12$\n\x0ebinary_data_id\x18\x08 \x01(\tR\x0cbinaryDataId\x12\x14\n\x05label\x18\x02 \x01(\tR\x05label\x12(\n\x10x_min_normalized\x18\x03 \x01(\x01R\x0exMinNormalized\x12(\n\x10y_min_normalized\x18\x04 \x01(\x01R\x0eyMinNormalized\x12(\n\x10x_max_normalized\x18\x05 \x01(\x01R\x0exMaxNormalized\x12(\n\x10y_max_normalized\x18\x06 \x01(\x01R\x0eyMaxNormalizedJ\x04\x08\x01\x10\x02R\x07file_id"<\n!AddBoundingBoxToImageByIDResponse\x12\x17\n\x07bbox_id\x18\x01 \x01(\tR\x06bboxId"\xb2\x01\n%RemoveBoundingBoxFromImageByIDRequest\x12;\n\tbinary_id\x18\x03 \x01(\x0b2\x1a.viam.app.data.v1.BinaryIDB\x02\x18\x01R\x08binaryId\x12$\n\x0ebinary_data_id\x18\x04 \x01(\tR\x0cbinaryDataId\x12\x17\n\x07bbox_id\x18\x02 \x01(\tR\x06bboxIdJ\x04\x08\x01\x10\x02R\x07file_id"(\n&RemoveBoundingBoxFromImageByIDResponse"\xcb\x03\n\x18UpdateBoundingBoxRequest\x12;\n\tbinary_id\x18\x01 \x01(\x0b2\x1a.viam.app.data.v1.BinaryIDB\x02\x18\x01R\x08binaryId\x12$\n\x0ebinary_data_id\x18\x08 \x01(\tR\x0cbinaryDataId\x12\x17\n\x07bbox_id\x18\x02 \x01(\tR\x06bboxId\x12\x19\n\x05label\x18\x03 \x01(\tH\x00R\x05label\x88\x01\x01\x12-\n\x10x_min_normalized\x18\x04 \x01(\x01H\x01R\x0exMinNormalized\x88\x01\x01\x12-\n\x10y_min_normalized\x18\x05 \x01(\x01H\x02R\x0eyMinNormalized\x88\x01\x01\x12-\n\x10x_max_normalized\x18\x06 \x01(\x01H\x03R\x0exMaxNormalized\x88\x01\x01\x12-\n\x10y_max_normalized\x18\x07 \x01(\x01H\x04R\x0eyMaxNormalized\x88\x01\x01B\x08\n\x06_labelB\x13\n\x11_x_min_normalizedB\x13\n\x11_y_min_normalizedB\x13\n\x11_x_max_normalizedB\x13\n\x11_y_max_normalized"\x1b\n\x19UpdateBoundingBoxResponse"T\n BoundingBoxLabelsByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter";\n!BoundingBoxLabelsByFilterResponse\x12\x16\n\x06labels\x18\x01 \x03(\tR\x06labels"c\n\x1cConfigureDatabaseUserRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1a\n\x08password\x18\x02 \x01(\tR\x08password"\x1f\n\x1dConfigureDatabaseUserResponse"G\n\x1cGetDatabaseConnectionRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"\x88\x01\n\x1dGetDatabaseConnectionResponse\x12\x1a\n\x08hostname\x18\x01 \x01(\tR\x08hostname\x12\x1f\n\x0bmongodb_uri\x18\x02 \x01(\tR\nmongodbUri\x12*\n\x11has_database_user\x18\x03 \x01(\x08R\x0fhasDatabaseUser"\xaa\x01\n"AddBinaryDataToDatasetByIDsRequest\x12=\n\nbinary_ids\x18\x01 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDB\x02\x18\x01R\tbinaryIds\x12&\n\x0fbinary_data_ids\x18\x03 \x03(\tR\rbinaryDataIds\x12\x1d\n\ndataset_id\x18\x02 \x01(\tR\tdatasetId"%\n#AddBinaryDataToDatasetByIDsResponse"\xaf\x01\n\'RemoveBinaryDataFromDatasetByIDsRequest\x12=\n\nbinary_ids\x18\x01 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDB\x02\x18\x01R\tbinaryIds\x12&\n\x0fbinary_data_ids\x18\x03 \x03(\tR\rbinaryDataIds\x12\x1d\n\ndataset_id\x18\x02 \x01(\tR\tdatasetId"*\n(RemoveBinaryDataFromDatasetByIDsResponse*I\n\x05Order\x12\x15\n\x11ORDER_UNSPECIFIED\x10\x00\x12\x14\n\x10ORDER_DESCENDING\x10\x01\x12\x13\n\x0fORDER_ASCENDING\x10\x02*\x90\x01\n\x0eTagsFilterType\x12 \n\x1cTAGS_FILTER_TYPE_UNSPECIFIED\x10\x00\x12 \n\x1cTAGS_FILTER_TYPE_MATCH_BY_OR\x10\x01\x12\x1b\n\x17TAGS_FILTER_TYPE_TAGGED\x10\x02\x12\x1d\n\x19TAGS_FILTER_TYPE_UNTAGGED\x10\x03*\xbe\x01\n\x15TabularDataSourceType\x12(\n$TABULAR_DATA_SOURCE_TYPE_UNSPECIFIED\x10\x00\x12%\n!TABULAR_DATA_SOURCE_TYPE_STANDARD\x10\x01\x12(\n$TABULAR_DATA_SOURCE_TYPE_HOT_STORAGE\x10\x02\x12*\n&TABULAR_DATA_SOURCE_TYPE_PIPELINE_SINK\x10\x032\xd6\x16\n\x0bDataService\x12w\n\x13TabularDataByFilter\x12,.viam.app.data.v1.TabularDataByFilterRequest\x1a-.viam.app.data.v1.TabularDataByFilterResponse"\x03\x88\x02\x01\x12i\n\x10TabularDataBySQL\x12).viam.app.data.v1.TabularDataBySQLRequest\x1a*.viam.app.data.v1.TabularDataBySQLResponse\x12i\n\x10TabularDataByMQL\x12).viam.app.data.v1.TabularDataByMQLRequest\x1a*.viam.app.data.v1.TabularDataByMQLResponse\x12n\n\x11ExportTabularData\x12*.viam.app.data.v1.ExportTabularDataRequest\x1a+.viam.app.data.v1.ExportTabularDataResponse0\x01\x12u\n\x14GetLatestTabularData\x12-.viam.app.data.v1.GetLatestTabularDataRequest\x1a..viam.app.data.v1.GetLatestTabularDataResponse\x12o\n\x12BinaryDataByFilter\x12+.viam.app.data.v1.BinaryDataByFilterRequest\x1a,.viam.app.data.v1.BinaryDataByFilterResponse\x12f\n\x0fBinaryDataByIDs\x12(.viam.app.data.v1.BinaryDataByIDsRequest\x1a).viam.app.data.v1.BinaryDataByIDsResponse\x12l\n\x11DeleteTabularData\x12*.viam.app.data.v1.DeleteTabularDataRequest\x1a+.viam.app.data.v1.DeleteTabularDataResponse\x12\x81\x01\n\x18DeleteBinaryDataByFilter\x121.viam.app.data.v1.DeleteBinaryDataByFilterRequest\x1a2.viam.app.data.v1.DeleteBinaryDataByFilterResponse\x12x\n\x15DeleteBinaryDataByIDs\x12..viam.app.data.v1.DeleteBinaryDataByIDsRequest\x1a/.viam.app.data.v1.DeleteBinaryDataByIDsResponse\x12\x81\x01\n\x18AddTagsToBinaryDataByIDs\x121.viam.app.data.v1.AddTagsToBinaryDataByIDsRequest\x1a2.viam.app.data.v1.AddTagsToBinaryDataByIDsResponse\x12\x8a\x01\n\x1bAddTagsToBinaryDataByFilter\x124.viam.app.data.v1.AddTagsToBinaryDataByFilterRequest\x1a5.viam.app.data.v1.AddTagsToBinaryDataByFilterResponse\x12\x90\x01\n\x1dRemoveTagsFromBinaryDataByIDs\x126.viam.app.data.v1.RemoveTagsFromBinaryDataByIDsRequest\x1a7.viam.app.data.v1.RemoveTagsFromBinaryDataByIDsResponse\x12\x99\x01\n RemoveTagsFromBinaryDataByFilter\x129.viam.app.data.v1.RemoveTagsFromBinaryDataByFilterRequest\x1a:.viam.app.data.v1.RemoveTagsFromBinaryDataByFilterResponse\x12]\n\x0cTagsByFilter\x12%.viam.app.data.v1.TagsByFilterRequest\x1a&.viam.app.data.v1.TagsByFilterResponse\x12\x84\x01\n\x19AddBoundingBoxToImageByID\x122.viam.app.data.v1.AddBoundingBoxToImageByIDRequest\x1a3.viam.app.data.v1.AddBoundingBoxToImageByIDResponse\x12\x93\x01\n\x1eRemoveBoundingBoxFromImageByID\x127.viam.app.data.v1.RemoveBoundingBoxFromImageByIDRequest\x1a8.viam.app.data.v1.RemoveBoundingBoxFromImageByIDResponse\x12\x84\x01\n\x19BoundingBoxLabelsByFilter\x122.viam.app.data.v1.BoundingBoxLabelsByFilterRequest\x1a3.viam.app.data.v1.BoundingBoxLabelsByFilterResponse\x12l\n\x11UpdateBoundingBox\x12*.viam.app.data.v1.UpdateBoundingBoxRequest\x1a+.viam.app.data.v1.UpdateBoundingBoxResponse\x12x\n\x15GetDatabaseConnection\x12..viam.app.data.v1.GetDatabaseConnectionRequest\x1a/.viam.app.data.v1.GetDatabaseConnectionResponse\x12x\n\x15ConfigureDatabaseUser\x12..viam.app.data.v1.ConfigureDatabaseUserRequest\x1a/.viam.app.data.v1.ConfigureDatabaseUserResponse\x12\x8a\x01\n\x1bAddBinaryDataToDatasetByIDs\x124.viam.app.data.v1.AddBinaryDataToDatasetByIDsRequest\x1a5.viam.app.data.v1.AddBinaryDataToDatasetByIDsResponse\x12\x99\x01\n RemoveBinaryDataFromDatasetByIDs\x129.viam.app.data.v1.RemoveBinaryDataFromDatasetByIDsRequest\x1a:.viam.app.data.v1.RemoveBinaryDataFromDatasetByIDsResponseB\x1dZ\x1bgo.viam.com/api/app/data/v1b\x06proto3')
12
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16app/data/v1/data.proto\x12\x10viam.app.data.v1\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xa1\x01\n\x0bDataRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x12\x14\n\x05limit\x18\x02 \x01(\x04R\x05limit\x12\x12\n\x04last\x18\x03 \x01(\tR\x04last\x126\n\nsort_order\x18\x04 \x01(\x0e2\x17.viam.app.data.v1.OrderR\tsortOrder"\xaa\x04\n\x06Filter\x12%\n\x0ecomponent_name\x18\x01 \x01(\tR\rcomponentName\x12%\n\x0ecomponent_type\x18\x02 \x01(\tR\rcomponentType\x12\x16\n\x06method\x18\x04 \x01(\tR\x06method\x12\x1d\n\nrobot_name\x18\x06 \x01(\tR\trobotName\x12\x19\n\x08robot_id\x18\x07 \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\x08 \x01(\tR\x08partName\x12\x17\n\x07part_id\x18\t \x01(\tR\x06partId\x12!\n\x0clocation_ids\x18\n \x03(\tR\x0blocationIds\x12)\n\x10organization_ids\x18\x0b \x03(\tR\x0forganizationIds\x12\x1b\n\tmime_type\x18\x0c \x03(\tR\x08mimeType\x12=\n\x08interval\x18\r \x01(\x0b2!.viam.app.data.v1.CaptureIntervalR\x08interval\x12=\n\x0btags_filter\x18\x0e \x01(\x0b2\x1c.viam.app.data.v1.TagsFilterR\ntagsFilter\x12\x1f\n\x0bbbox_labels\x18\x0f \x03(\tR\nbboxLabels\x12\x1d\n\ndataset_id\x18\x10 \x01(\tR\tdatasetIdJ\x04\x08\x03\x10\x04J\x04\x08\x05\x10\x06R\x0fcomponent_modelR\x04tags"V\n\nTagsFilter\x124\n\x04type\x18\x01 \x01(\x0e2 .viam.app.data.v1.TagsFilterTypeR\x04type\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags"\xc3\x04\n\x0fCaptureMetadata\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x12\x1d\n\nrobot_name\x18\x03 \x01(\tR\trobotName\x12\x19\n\x08robot_id\x18\x04 \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\x05 \x01(\tR\x08partName\x12\x17\n\x07part_id\x18\x06 \x01(\tR\x06partId\x12%\n\x0ecomponent_type\x18\x07 \x01(\tR\rcomponentType\x12%\n\x0ecomponent_name\x18\t \x01(\tR\rcomponentName\x12\x1f\n\x0bmethod_name\x18\n \x01(\tR\nmethodName\x12d\n\x11method_parameters\x18\x0b \x03(\x0b27.viam.app.data.v1.CaptureMetadata.MethodParametersEntryR\x10methodParameters\x12\x12\n\x04tags\x18\x0c \x03(\tR\x04tags\x12\x1b\n\tmime_type\x18\r \x01(\tR\x08mimeType\x1aY\n\x15MethodParametersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12*\n\x05value\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyR\x05value:\x028\x01J\x04\x08\x08\x10\tR\x0fcomponent_model"q\n\x0fCaptureInterval\x120\n\x05start\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\x05start\x12,\n\x03end\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x03end"\xb5\x01\n\x1aTabularDataByFilterRequest\x12@\n\x0cdata_request\x18\x01 \x01(\x0b2\x1d.viam.app.data.v1.DataRequestR\x0bdataRequest\x12\x1d\n\ncount_only\x18\x02 \x01(\x08R\tcountOnly\x122\n\x15include_internal_data\x18\x03 \x01(\x08R\x13includeInternalData:\x02\x18\x01"\xe7\x01\n\x1bTabularDataByFilterResponse\x12=\n\x08metadata\x18\x01 \x03(\x0b2!.viam.app.data.v1.CaptureMetadataR\x08metadata\x121\n\x04data\x18\x02 \x03(\x0b2\x1d.viam.app.data.v1.TabularDataR\x04data\x12\x14\n\x05count\x18\x03 \x01(\x04R\x05count\x12\x12\n\x04last\x18\x04 \x01(\tR\x04last\x12(\n\x10total_size_bytes\x18\x05 \x01(\x04R\x0etotalSizeBytes:\x02\x18\x01"\xe9\x01\n\x0bTabularData\x12+\n\x04data\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x04data\x12%\n\x0emetadata_index\x18\x02 \x01(\rR\rmetadataIndex\x12A\n\x0etime_requested\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\rtimeRequested\x12?\n\rtime_received\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0ctimeReceived:\x02\x18\x01"_\n\x17TabularDataBySQLRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1b\n\tsql_query\x18\x02 \x01(\tR\x08sqlQuery"A\n\x18TabularDataBySQLResponse\x12\x19\n\x08raw_data\x18\x02 \x03(\x0cR\x07rawDataJ\x04\x08\x01\x10\x02R\x04data"\x86\x01\n\x11TabularDataSource\x12;\n\x04type\x18\x01 \x01(\x0e2\'.viam.app.data.v1.TabularDataSourceTypeR\x04type\x12$\n\x0bpipeline_id\x18\x02 \x01(\tH\x00R\npipelineId\x88\x01\x01B\x0e\n\x0c_pipeline_id"\xa7\x02\n\x17TabularDataByMQLRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1d\n\nmql_binary\x18\x03 \x03(\x0cR\tmqlBinary\x12+\n\x0fuse_recent_data\x18\x04 \x01(\x08H\x00R\ruseRecentData\x88\x01\x01\x12I\n\x0bdata_source\x18\x06 \x01(\x0b2#.viam.app.data.v1.TabularDataSourceH\x01R\ndataSource\x88\x01\x01B\x12\n\x10_use_recent_dataB\x0e\n\x0c_data_sourceJ\x04\x08\x02\x10\x03J\x04\x08\x05\x10\x06R\tmql_queryR\x11use_data_pipeline"A\n\x18TabularDataByMQLResponse\x12\x19\n\x08raw_data\x18\x02 \x03(\x0cR\x07rawDataJ\x04\x08\x01\x10\x02R\x04data"\xd0\x02\n\x18ExportTabularDataRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId\x12#\n\rresource_name\x18\x02 \x01(\tR\x0cresourceName\x12)\n\x10resource_subtype\x18\x03 \x01(\tR\x0fresourceSubtype\x12\x1f\n\x0bmethod_name\x18\x04 \x01(\tR\nmethodName\x12=\n\x08interval\x18\x05 \x01(\x0b2!.viam.app.data.v1.CaptureIntervalR\x08interval\x12Q\n\x15additional_parameters\x18\x06 \x01(\x0b2\x17.google.protobuf.StructH\x00R\x14additionalParameters\x88\x01\x01B\x18\n\x16_additional_parameters"\x94\x04\n\x19ExportTabularDataResponse\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId\x12#\n\rresource_name\x18\x02 \x01(\tR\x0cresourceName\x12)\n\x10resource_subtype\x18\x03 \x01(\tR\x0fresourceSubtype\x12\x1f\n\x0bmethod_name\x18\x04 \x01(\tR\nmethodName\x12?\n\rtime_captured\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0ctimeCaptured\x12\'\n\x0forganization_id\x18\x06 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x07 \x01(\tR\nlocationId\x12\x1d\n\nrobot_name\x18\x08 \x01(\tR\trobotName\x12\x19\n\x08robot_id\x18\t \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\n \x01(\tR\x08partName\x12D\n\x11method_parameters\x18\x0b \x01(\x0b2\x17.google.protobuf.StructR\x10methodParameters\x12\x12\n\x04tags\x18\x0c \x03(\tR\x04tags\x121\n\x07payload\x18\r \x01(\x0b2\x17.google.protobuf.StructR\x07payload"\x94\x02\n\x1bGetLatestTabularDataRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId\x12#\n\rresource_name\x18\x02 \x01(\tR\x0cresourceName\x12\x1f\n\x0bmethod_name\x18\x03 \x01(\tR\nmethodName\x12)\n\x10resource_subtype\x18\x04 \x01(\tR\x0fresourceSubtype\x12Q\n\x15additional_parameters\x18\x05 \x01(\x0b2\x17.google.protobuf.StructH\x00R\x14additionalParameters\x88\x01\x01B\x18\n\x16_additional_parameters"\xcf\x01\n\x1cGetLatestTabularDataResponse\x12?\n\rtime_captured\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0ctimeCaptured\x12;\n\x0btime_synced\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\ntimeSynced\x121\n\x07payload\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\x07payload"b\n\nBinaryData\x12\x16\n\x06binary\x18\x01 \x01(\x0cR\x06binary\x12<\n\x08metadata\x18\x02 \x01(\x0b2 .viam.app.data.v1.BinaryMetadataR\x08metadata"\xd7\x01\n\x19BinaryDataByFilterRequest\x12@\n\x0cdata_request\x18\x01 \x01(\x0b2\x1d.viam.app.data.v1.DataRequestR\x0bdataRequest\x12%\n\x0einclude_binary\x18\x02 \x01(\x08R\rincludeBinary\x12\x1d\n\ncount_only\x18\x03 \x01(\x08R\tcountOnly\x122\n\x15include_internal_data\x18\x04 \x01(\x08R\x13includeInternalData"\xa2\x01\n\x1aBinaryDataByFilterResponse\x120\n\x04data\x18\x01 \x03(\x0b2\x1c.viam.app.data.v1.BinaryDataR\x04data\x12\x14\n\x05count\x18\x02 \x01(\x04R\x05count\x12\x12\n\x04last\x18\x03 \x01(\tR\x04last\x12(\n\x10total_size_bytes\x18\x04 \x01(\x04R\x0etotalSizeBytes"q\n\x08BinaryID\x12\x17\n\x07file_id\x18\x01 \x01(\tR\x06fileId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x03 \x01(\tR\nlocationId:\x02\x18\x01"\xb6\x01\n\x16BinaryDataByIDsRequest\x12%\n\x0einclude_binary\x18\x02 \x01(\x08R\rincludeBinary\x12=\n\nbinary_ids\x18\x03 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDB\x02\x18\x01R\tbinaryIds\x12&\n\x0fbinary_data_ids\x18\x04 \x03(\tR\rbinaryDataIdsJ\x04\x08\x01\x10\x02R\x08file_ids"a\n\x17BinaryDataByIDsResponse\x120\n\x04data\x18\x01 \x03(\x0b2\x1c.viam.app.data.v1.BinaryDataR\x04data\x12\x14\n\x05count\x18\x02 \x01(\x04R\x05count"\x8f\x02\n\x0bBoundingBox\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n\x05label\x18\x02 \x01(\tR\x05label\x12(\n\x10x_min_normalized\x18\x03 \x01(\x01R\x0exMinNormalized\x12(\n\x10y_min_normalized\x18\x04 \x01(\x01R\x0eyMinNormalized\x12(\n\x10x_max_normalized\x18\x05 \x01(\x01R\x0exMaxNormalized\x12(\n\x10y_max_normalized\x18\x06 \x01(\x01R\x0eyMaxNormalized\x12#\n\nconfidence\x18\x07 \x01(\x01H\x00R\nconfidence\x88\x01\x01B\r\n\x0b_confidence"j\n\x0eClassification\x12\x0e\n\x02id\x18\x03 \x01(\tR\x02id\x12\x14\n\x05label\x18\x01 \x01(\tR\x05label\x12#\n\nconfidence\x18\x02 \x01(\x01H\x00R\nconfidence\x88\x01\x01B\r\n\x0b_confidence"\x90\x01\n\x0bAnnotations\x125\n\x06bboxes\x18\x01 \x03(\x0b2\x1d.viam.app.data.v1.BoundingBoxR\x06bboxes\x12J\n\x0fclassifications\x18\x02 \x03(\x0b2 .viam.app.data.v1.ClassificationR\x0fclassifications"\xc8\x03\n\x0eBinaryMetadata\x12\x12\n\x02id\x18\x01 \x01(\tB\x02\x18\x01R\x02id\x12L\n\x10capture_metadata\x18\x02 \x01(\x0b2!.viam.app.data.v1.CaptureMetadataR\x0fcaptureMetadata\x12A\n\x0etime_requested\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\rtimeRequested\x12?\n\rtime_received\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0ctimeReceived\x12\x1b\n\tfile_name\x18\x05 \x01(\tR\x08fileName\x12\x19\n\x08file_ext\x18\x06 \x01(\tR\x07fileExt\x12\x10\n\x03uri\x18\x07 \x01(\tR\x03uri\x12?\n\x0bannotations\x18\x08 \x01(\x0b2\x1d.viam.app.data.v1.AnnotationsR\x0bannotations\x12\x1f\n\x0bdataset_ids\x18\t \x03(\tR\ndatasetIds\x12$\n\x0ebinary_data_id\x18\n \x01(\tR\x0cbinaryDataId"x\n\x18DeleteTabularDataRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x123\n\x16delete_older_than_days\x18\x02 \x01(\rR\x13deleteOlderThanDays"@\n\x19DeleteTabularDataResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCount"\x87\x01\n\x1fDeleteBinaryDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x122\n\x15include_internal_data\x18\x02 \x01(\x08R\x13includeInternalData"U\n DeleteBinaryDataByFilterResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCountJ\x04\x08\x02\x10\x03R\x06result"\x95\x01\n\x1cDeleteBinaryDataByIDsRequest\x12=\n\nbinary_ids\x18\x02 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDB\x02\x18\x01R\tbinaryIds\x12&\n\x0fbinary_data_ids\x18\x03 \x03(\tR\rbinaryDataIdsJ\x04\x08\x01\x10\x02R\x08file_ids"R\n\x1dDeleteBinaryDataByIDsResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCountJ\x04\x08\x02\x10\x03R\x06result"\xac\x01\n\x1fAddTagsToBinaryDataByIDsRequest\x12=\n\nbinary_ids\x18\x03 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDB\x02\x18\x01R\tbinaryIds\x12&\n\x0fbinary_data_ids\x18\x04 \x03(\tR\rbinaryDataIds\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tagsJ\x04\x08\x01\x10\x02R\x08file_ids""\n AddTagsToBinaryDataByIDsResponse"n\n"AddTagsToBinaryDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags:\x02\x18\x01")\n#AddTagsToBinaryDataByFilterResponse:\x02\x18\x01"\xb1\x01\n$RemoveTagsFromBinaryDataByIDsRequest\x12=\n\nbinary_ids\x18\x03 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDB\x02\x18\x01R\tbinaryIds\x12&\n\x0fbinary_data_ids\x18\x04 \x03(\tR\rbinaryDataIds\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tagsJ\x04\x08\x01\x10\x02R\x08file_ids"L\n%RemoveTagsFromBinaryDataByIDsResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCount"s\n\'RemoveTagsFromBinaryDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags:\x02\x18\x01"S\n(RemoveTagsFromBinaryDataByFilterResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCount:\x02\x18\x01"K\n\x13TagsByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter:\x02\x18\x01".\n\x14TagsByFilterResponse\x12\x12\n\x04tags\x18\x01 \x03(\tR\x04tags:\x02\x18\x01"\xd2\x02\n AddBoundingBoxToImageByIDRequest\x12;\n\tbinary_id\x18\x07 \x01(\x0b2\x1a.viam.app.data.v1.BinaryIDB\x02\x18\x01R\x08binaryId\x12$\n\x0ebinary_data_id\x18\x08 \x01(\tR\x0cbinaryDataId\x12\x14\n\x05label\x18\x02 \x01(\tR\x05label\x12(\n\x10x_min_normalized\x18\x03 \x01(\x01R\x0exMinNormalized\x12(\n\x10y_min_normalized\x18\x04 \x01(\x01R\x0eyMinNormalized\x12(\n\x10x_max_normalized\x18\x05 \x01(\x01R\x0exMaxNormalized\x12(\n\x10y_max_normalized\x18\x06 \x01(\x01R\x0eyMaxNormalizedJ\x04\x08\x01\x10\x02R\x07file_id"<\n!AddBoundingBoxToImageByIDResponse\x12\x17\n\x07bbox_id\x18\x01 \x01(\tR\x06bboxId"\xb2\x01\n%RemoveBoundingBoxFromImageByIDRequest\x12;\n\tbinary_id\x18\x03 \x01(\x0b2\x1a.viam.app.data.v1.BinaryIDB\x02\x18\x01R\x08binaryId\x12$\n\x0ebinary_data_id\x18\x04 \x01(\tR\x0cbinaryDataId\x12\x17\n\x07bbox_id\x18\x02 \x01(\tR\x06bboxIdJ\x04\x08\x01\x10\x02R\x07file_id"(\n&RemoveBoundingBoxFromImageByIDResponse"\xcb\x03\n\x18UpdateBoundingBoxRequest\x12;\n\tbinary_id\x18\x01 \x01(\x0b2\x1a.viam.app.data.v1.BinaryIDB\x02\x18\x01R\x08binaryId\x12$\n\x0ebinary_data_id\x18\x08 \x01(\tR\x0cbinaryDataId\x12\x17\n\x07bbox_id\x18\x02 \x01(\tR\x06bboxId\x12\x19\n\x05label\x18\x03 \x01(\tH\x00R\x05label\x88\x01\x01\x12-\n\x10x_min_normalized\x18\x04 \x01(\x01H\x01R\x0exMinNormalized\x88\x01\x01\x12-\n\x10y_min_normalized\x18\x05 \x01(\x01H\x02R\x0eyMinNormalized\x88\x01\x01\x12-\n\x10x_max_normalized\x18\x06 \x01(\x01H\x03R\x0exMaxNormalized\x88\x01\x01\x12-\n\x10y_max_normalized\x18\x07 \x01(\x01H\x04R\x0eyMaxNormalized\x88\x01\x01B\x08\n\x06_labelB\x13\n\x11_x_min_normalizedB\x13\n\x11_y_min_normalizedB\x13\n\x11_x_max_normalizedB\x13\n\x11_y_max_normalized"\x1b\n\x19UpdateBoundingBoxResponse"X\n BoundingBoxLabelsByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter:\x02\x18\x01"?\n!BoundingBoxLabelsByFilterResponse\x12\x16\n\x06labels\x18\x01 \x03(\tR\x06labels:\x02\x18\x01"c\n\x1cConfigureDatabaseUserRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1a\n\x08password\x18\x02 \x01(\tR\x08password"\x1f\n\x1dConfigureDatabaseUserResponse"G\n\x1cGetDatabaseConnectionRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"\x88\x01\n\x1dGetDatabaseConnectionResponse\x12\x1a\n\x08hostname\x18\x01 \x01(\tR\x08hostname\x12\x1f\n\x0bmongodb_uri\x18\x02 \x01(\tR\nmongodbUri\x12*\n\x11has_database_user\x18\x03 \x01(\x08R\x0fhasDatabaseUser"\xaa\x01\n"AddBinaryDataToDatasetByIDsRequest\x12=\n\nbinary_ids\x18\x01 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDB\x02\x18\x01R\tbinaryIds\x12&\n\x0fbinary_data_ids\x18\x03 \x03(\tR\rbinaryDataIds\x12\x1d\n\ndataset_id\x18\x02 \x01(\tR\tdatasetId"%\n#AddBinaryDataToDatasetByIDsResponse"\xaf\x01\n\'RemoveBinaryDataFromDatasetByIDsRequest\x12=\n\nbinary_ids\x18\x01 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDB\x02\x18\x01R\tbinaryIds\x12&\n\x0fbinary_data_ids\x18\x03 \x03(\tR\rbinaryDataIds\x12\x1d\n\ndataset_id\x18\x02 \x01(\tR\tdatasetId"*\n(RemoveBinaryDataFromDatasetByIDsResponse*I\n\x05Order\x12\x15\n\x11ORDER_UNSPECIFIED\x10\x00\x12\x14\n\x10ORDER_DESCENDING\x10\x01\x12\x13\n\x0fORDER_ASCENDING\x10\x02*\x90\x01\n\x0eTagsFilterType\x12 \n\x1cTAGS_FILTER_TYPE_UNSPECIFIED\x10\x00\x12 \n\x1cTAGS_FILTER_TYPE_MATCH_BY_OR\x10\x01\x12\x1b\n\x17TAGS_FILTER_TYPE_TAGGED\x10\x02\x12\x1d\n\x19TAGS_FILTER_TYPE_UNTAGGED\x10\x03*\xbe\x01\n\x15TabularDataSourceType\x12(\n$TABULAR_DATA_SOURCE_TYPE_UNSPECIFIED\x10\x00\x12%\n!TABULAR_DATA_SOURCE_TYPE_STANDARD\x10\x01\x12(\n$TABULAR_DATA_SOURCE_TYPE_HOT_STORAGE\x10\x02\x12*\n&TABULAR_DATA_SOURCE_TYPE_PIPELINE_SINK\x10\x032\xea\x16\n\x0bDataService\x12w\n\x13TabularDataByFilter\x12,.viam.app.data.v1.TabularDataByFilterRequest\x1a-.viam.app.data.v1.TabularDataByFilterResponse"\x03\x88\x02\x01\x12i\n\x10TabularDataBySQL\x12).viam.app.data.v1.TabularDataBySQLRequest\x1a*.viam.app.data.v1.TabularDataBySQLResponse\x12i\n\x10TabularDataByMQL\x12).viam.app.data.v1.TabularDataByMQLRequest\x1a*.viam.app.data.v1.TabularDataByMQLResponse\x12n\n\x11ExportTabularData\x12*.viam.app.data.v1.ExportTabularDataRequest\x1a+.viam.app.data.v1.ExportTabularDataResponse0\x01\x12u\n\x14GetLatestTabularData\x12-.viam.app.data.v1.GetLatestTabularDataRequest\x1a..viam.app.data.v1.GetLatestTabularDataResponse\x12o\n\x12BinaryDataByFilter\x12+.viam.app.data.v1.BinaryDataByFilterRequest\x1a,.viam.app.data.v1.BinaryDataByFilterResponse\x12f\n\x0fBinaryDataByIDs\x12(.viam.app.data.v1.BinaryDataByIDsRequest\x1a).viam.app.data.v1.BinaryDataByIDsResponse\x12l\n\x11DeleteTabularData\x12*.viam.app.data.v1.DeleteTabularDataRequest\x1a+.viam.app.data.v1.DeleteTabularDataResponse\x12\x81\x01\n\x18DeleteBinaryDataByFilter\x121.viam.app.data.v1.DeleteBinaryDataByFilterRequest\x1a2.viam.app.data.v1.DeleteBinaryDataByFilterResponse\x12x\n\x15DeleteBinaryDataByIDs\x12..viam.app.data.v1.DeleteBinaryDataByIDsRequest\x1a/.viam.app.data.v1.DeleteBinaryDataByIDsResponse\x12\x81\x01\n\x18AddTagsToBinaryDataByIDs\x121.viam.app.data.v1.AddTagsToBinaryDataByIDsRequest\x1a2.viam.app.data.v1.AddTagsToBinaryDataByIDsResponse\x12\x8f\x01\n\x1bAddTagsToBinaryDataByFilter\x124.viam.app.data.v1.AddTagsToBinaryDataByFilterRequest\x1a5.viam.app.data.v1.AddTagsToBinaryDataByFilterResponse"\x03\x88\x02\x01\x12\x90\x01\n\x1dRemoveTagsFromBinaryDataByIDs\x126.viam.app.data.v1.RemoveTagsFromBinaryDataByIDsRequest\x1a7.viam.app.data.v1.RemoveTagsFromBinaryDataByIDsResponse\x12\x9e\x01\n RemoveTagsFromBinaryDataByFilter\x129.viam.app.data.v1.RemoveTagsFromBinaryDataByFilterRequest\x1a:.viam.app.data.v1.RemoveTagsFromBinaryDataByFilterResponse"\x03\x88\x02\x01\x12b\n\x0cTagsByFilter\x12%.viam.app.data.v1.TagsByFilterRequest\x1a&.viam.app.data.v1.TagsByFilterResponse"\x03\x88\x02\x01\x12\x84\x01\n\x19AddBoundingBoxToImageByID\x122.viam.app.data.v1.AddBoundingBoxToImageByIDRequest\x1a3.viam.app.data.v1.AddBoundingBoxToImageByIDResponse\x12\x93\x01\n\x1eRemoveBoundingBoxFromImageByID\x127.viam.app.data.v1.RemoveBoundingBoxFromImageByIDRequest\x1a8.viam.app.data.v1.RemoveBoundingBoxFromImageByIDResponse\x12\x89\x01\n\x19BoundingBoxLabelsByFilter\x122.viam.app.data.v1.BoundingBoxLabelsByFilterRequest\x1a3.viam.app.data.v1.BoundingBoxLabelsByFilterResponse"\x03\x88\x02\x01\x12l\n\x11UpdateBoundingBox\x12*.viam.app.data.v1.UpdateBoundingBoxRequest\x1a+.viam.app.data.v1.UpdateBoundingBoxResponse\x12x\n\x15GetDatabaseConnection\x12..viam.app.data.v1.GetDatabaseConnectionRequest\x1a/.viam.app.data.v1.GetDatabaseConnectionResponse\x12x\n\x15ConfigureDatabaseUser\x12..viam.app.data.v1.ConfigureDatabaseUserRequest\x1a/.viam.app.data.v1.ConfigureDatabaseUserResponse\x12\x8a\x01\n\x1bAddBinaryDataToDatasetByIDs\x124.viam.app.data.v1.AddBinaryDataToDatasetByIDsRequest\x1a5.viam.app.data.v1.AddBinaryDataToDatasetByIDsResponse\x12\x99\x01\n RemoveBinaryDataFromDatasetByIDs\x129.viam.app.data.v1.RemoveBinaryDataFromDatasetByIDsRequest\x1a:.viam.app.data.v1.RemoveBinaryDataFromDatasetByIDsResponseB\x1dZ\x1bgo.viam.com/api/app/data/v1b\x06proto3')
13
13
  _globals = globals()
14
14
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
15
15
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.data.v1.data_pb2', _globals)
@@ -34,26 +34,50 @@ if not _descriptor._USE_C_DESCRIPTORS:
34
34
  _globals['_DELETEBINARYDATABYIDSREQUEST'].fields_by_name['binary_ids']._serialized_options = b'\x18\x01'
35
35
  _globals['_ADDTAGSTOBINARYDATABYIDSREQUEST'].fields_by_name['binary_ids']._loaded_options = None
36
36
  _globals['_ADDTAGSTOBINARYDATABYIDSREQUEST'].fields_by_name['binary_ids']._serialized_options = b'\x18\x01'
37
+ _globals['_ADDTAGSTOBINARYDATABYFILTERREQUEST']._loaded_options = None
38
+ _globals['_ADDTAGSTOBINARYDATABYFILTERREQUEST']._serialized_options = b'\x18\x01'
39
+ _globals['_ADDTAGSTOBINARYDATABYFILTERRESPONSE']._loaded_options = None
40
+ _globals['_ADDTAGSTOBINARYDATABYFILTERRESPONSE']._serialized_options = b'\x18\x01'
37
41
  _globals['_REMOVETAGSFROMBINARYDATABYIDSREQUEST'].fields_by_name['binary_ids']._loaded_options = None
38
42
  _globals['_REMOVETAGSFROMBINARYDATABYIDSREQUEST'].fields_by_name['binary_ids']._serialized_options = b'\x18\x01'
43
+ _globals['_REMOVETAGSFROMBINARYDATABYFILTERREQUEST']._loaded_options = None
44
+ _globals['_REMOVETAGSFROMBINARYDATABYFILTERREQUEST']._serialized_options = b'\x18\x01'
45
+ _globals['_REMOVETAGSFROMBINARYDATABYFILTERRESPONSE']._loaded_options = None
46
+ _globals['_REMOVETAGSFROMBINARYDATABYFILTERRESPONSE']._serialized_options = b'\x18\x01'
47
+ _globals['_TAGSBYFILTERREQUEST']._loaded_options = None
48
+ _globals['_TAGSBYFILTERREQUEST']._serialized_options = b'\x18\x01'
49
+ _globals['_TAGSBYFILTERRESPONSE']._loaded_options = None
50
+ _globals['_TAGSBYFILTERRESPONSE']._serialized_options = b'\x18\x01'
39
51
  _globals['_ADDBOUNDINGBOXTOIMAGEBYIDREQUEST'].fields_by_name['binary_id']._loaded_options = None
40
52
  _globals['_ADDBOUNDINGBOXTOIMAGEBYIDREQUEST'].fields_by_name['binary_id']._serialized_options = b'\x18\x01'
41
53
  _globals['_REMOVEBOUNDINGBOXFROMIMAGEBYIDREQUEST'].fields_by_name['binary_id']._loaded_options = None
42
54
  _globals['_REMOVEBOUNDINGBOXFROMIMAGEBYIDREQUEST'].fields_by_name['binary_id']._serialized_options = b'\x18\x01'
43
55
  _globals['_UPDATEBOUNDINGBOXREQUEST'].fields_by_name['binary_id']._loaded_options = None
44
56
  _globals['_UPDATEBOUNDINGBOXREQUEST'].fields_by_name['binary_id']._serialized_options = b'\x18\x01'
57
+ _globals['_BOUNDINGBOXLABELSBYFILTERREQUEST']._loaded_options = None
58
+ _globals['_BOUNDINGBOXLABELSBYFILTERREQUEST']._serialized_options = b'\x18\x01'
59
+ _globals['_BOUNDINGBOXLABELSBYFILTERRESPONSE']._loaded_options = None
60
+ _globals['_BOUNDINGBOXLABELSBYFILTERRESPONSE']._serialized_options = b'\x18\x01'
45
61
  _globals['_ADDBINARYDATATODATASETBYIDSREQUEST'].fields_by_name['binary_ids']._loaded_options = None
46
62
  _globals['_ADDBINARYDATATODATASETBYIDSREQUEST'].fields_by_name['binary_ids']._serialized_options = b'\x18\x01'
47
63
  _globals['_REMOVEBINARYDATAFROMDATASETBYIDSREQUEST'].fields_by_name['binary_ids']._loaded_options = None
48
64
  _globals['_REMOVEBINARYDATAFROMDATASETBYIDSREQUEST'].fields_by_name['binary_ids']._serialized_options = b'\x18\x01'
49
65
  _globals['_DATASERVICE'].methods_by_name['TabularDataByFilter']._loaded_options = None
50
66
  _globals['_DATASERVICE'].methods_by_name['TabularDataByFilter']._serialized_options = b'\x88\x02\x01'
51
- _globals['_ORDER']._serialized_start = 9813
52
- _globals['_ORDER']._serialized_end = 9886
53
- _globals['_TAGSFILTERTYPE']._serialized_start = 9889
54
- _globals['_TAGSFILTERTYPE']._serialized_end = 10033
55
- _globals['_TABULARDATASOURCETYPE']._serialized_start = 10036
56
- _globals['_TABULARDATASOURCETYPE']._serialized_end = 10226
67
+ _globals['_DATASERVICE'].methods_by_name['AddTagsToBinaryDataByFilter']._loaded_options = None
68
+ _globals['_DATASERVICE'].methods_by_name['AddTagsToBinaryDataByFilter']._serialized_options = b'\x88\x02\x01'
69
+ _globals['_DATASERVICE'].methods_by_name['RemoveTagsFromBinaryDataByFilter']._loaded_options = None
70
+ _globals['_DATASERVICE'].methods_by_name['RemoveTagsFromBinaryDataByFilter']._serialized_options = b'\x88\x02\x01'
71
+ _globals['_DATASERVICE'].methods_by_name['TagsByFilter']._loaded_options = None
72
+ _globals['_DATASERVICE'].methods_by_name['TagsByFilter']._serialized_options = b'\x88\x02\x01'
73
+ _globals['_DATASERVICE'].methods_by_name['BoundingBoxLabelsByFilter']._loaded_options = None
74
+ _globals['_DATASERVICE'].methods_by_name['BoundingBoxLabelsByFilter']._serialized_options = b'\x88\x02\x01'
75
+ _globals['_ORDER']._serialized_start = 9845
76
+ _globals['_ORDER']._serialized_end = 9918
77
+ _globals['_TAGSFILTERTYPE']._serialized_start = 9921
78
+ _globals['_TAGSFILTERTYPE']._serialized_end = 10065
79
+ _globals['_TABULARDATASOURCETYPE']._serialized_start = 10068
80
+ _globals['_TABULARDATASOURCETYPE']._serialized_end = 10258
57
81
  _globals['_DATAREQUEST']._serialized_start = 135
58
82
  _globals['_DATAREQUEST']._serialized_end = 296
59
83
  _globals['_FILTER']._serialized_start = 299
@@ -127,52 +151,52 @@ if not _descriptor._USE_C_DESCRIPTORS:
127
151
  _globals['_ADDTAGSTOBINARYDATABYIDSRESPONSE']._serialized_start = 7017
128
152
  _globals['_ADDTAGSTOBINARYDATABYIDSRESPONSE']._serialized_end = 7051
129
153
  _globals['_ADDTAGSTOBINARYDATABYFILTERREQUEST']._serialized_start = 7053
130
- _globals['_ADDTAGSTOBINARYDATABYFILTERREQUEST']._serialized_end = 7159
131
- _globals['_ADDTAGSTOBINARYDATABYFILTERRESPONSE']._serialized_start = 7161
132
- _globals['_ADDTAGSTOBINARYDATABYFILTERRESPONSE']._serialized_end = 7198
133
- _globals['_REMOVETAGSFROMBINARYDATABYIDSREQUEST']._serialized_start = 7201
134
- _globals['_REMOVETAGSFROMBINARYDATABYIDSREQUEST']._serialized_end = 7378
135
- _globals['_REMOVETAGSFROMBINARYDATABYIDSRESPONSE']._serialized_start = 7380
136
- _globals['_REMOVETAGSFROMBINARYDATABYIDSRESPONSE']._serialized_end = 7456
137
- _globals['_REMOVETAGSFROMBINARYDATABYFILTERREQUEST']._serialized_start = 7458
138
- _globals['_REMOVETAGSFROMBINARYDATABYFILTERREQUEST']._serialized_end = 7569
139
- _globals['_REMOVETAGSFROMBINARYDATABYFILTERRESPONSE']._serialized_start = 7571
140
- _globals['_REMOVETAGSFROMBINARYDATABYFILTERRESPONSE']._serialized_end = 7650
141
- _globals['_TAGSBYFILTERREQUEST']._serialized_start = 7652
142
- _globals['_TAGSBYFILTERREQUEST']._serialized_end = 7723
143
- _globals['_TAGSBYFILTERRESPONSE']._serialized_start = 7725
144
- _globals['_TAGSBYFILTERRESPONSE']._serialized_end = 7767
145
- _globals['_ADDBOUNDINGBOXTOIMAGEBYIDREQUEST']._serialized_start = 7770
146
- _globals['_ADDBOUNDINGBOXTOIMAGEBYIDREQUEST']._serialized_end = 8108
147
- _globals['_ADDBOUNDINGBOXTOIMAGEBYIDRESPONSE']._serialized_start = 8110
148
- _globals['_ADDBOUNDINGBOXTOIMAGEBYIDRESPONSE']._serialized_end = 8170
149
- _globals['_REMOVEBOUNDINGBOXFROMIMAGEBYIDREQUEST']._serialized_start = 8173
150
- _globals['_REMOVEBOUNDINGBOXFROMIMAGEBYIDREQUEST']._serialized_end = 8351
151
- _globals['_REMOVEBOUNDINGBOXFROMIMAGEBYIDRESPONSE']._serialized_start = 8353
152
- _globals['_REMOVEBOUNDINGBOXFROMIMAGEBYIDRESPONSE']._serialized_end = 8393
153
- _globals['_UPDATEBOUNDINGBOXREQUEST']._serialized_start = 8396
154
- _globals['_UPDATEBOUNDINGBOXREQUEST']._serialized_end = 8855
155
- _globals['_UPDATEBOUNDINGBOXRESPONSE']._serialized_start = 8857
156
- _globals['_UPDATEBOUNDINGBOXRESPONSE']._serialized_end = 8884
157
- _globals['_BOUNDINGBOXLABELSBYFILTERREQUEST']._serialized_start = 8886
158
- _globals['_BOUNDINGBOXLABELSBYFILTERREQUEST']._serialized_end = 8970
159
- _globals['_BOUNDINGBOXLABELSBYFILTERRESPONSE']._serialized_start = 8972
160
- _globals['_BOUNDINGBOXLABELSBYFILTERRESPONSE']._serialized_end = 9031
161
- _globals['_CONFIGUREDATABASEUSERREQUEST']._serialized_start = 9033
162
- _globals['_CONFIGUREDATABASEUSERREQUEST']._serialized_end = 9132
163
- _globals['_CONFIGUREDATABASEUSERRESPONSE']._serialized_start = 9134
164
- _globals['_CONFIGUREDATABASEUSERRESPONSE']._serialized_end = 9165
165
- _globals['_GETDATABASECONNECTIONREQUEST']._serialized_start = 9167
166
- _globals['_GETDATABASECONNECTIONREQUEST']._serialized_end = 9238
167
- _globals['_GETDATABASECONNECTIONRESPONSE']._serialized_start = 9241
168
- _globals['_GETDATABASECONNECTIONRESPONSE']._serialized_end = 9377
169
- _globals['_ADDBINARYDATATODATASETBYIDSREQUEST']._serialized_start = 9380
170
- _globals['_ADDBINARYDATATODATASETBYIDSREQUEST']._serialized_end = 9550
171
- _globals['_ADDBINARYDATATODATASETBYIDSRESPONSE']._serialized_start = 9552
172
- _globals['_ADDBINARYDATATODATASETBYIDSRESPONSE']._serialized_end = 9589
173
- _globals['_REMOVEBINARYDATAFROMDATASETBYIDSREQUEST']._serialized_start = 9592
174
- _globals['_REMOVEBINARYDATAFROMDATASETBYIDSREQUEST']._serialized_end = 9767
175
- _globals['_REMOVEBINARYDATAFROMDATASETBYIDSRESPONSE']._serialized_start = 9769
176
- _globals['_REMOVEBINARYDATAFROMDATASETBYIDSRESPONSE']._serialized_end = 9811
177
- _globals['_DATASERVICE']._serialized_start = 10229
178
- _globals['_DATASERVICE']._serialized_end = 13131
154
+ _globals['_ADDTAGSTOBINARYDATABYFILTERREQUEST']._serialized_end = 7163
155
+ _globals['_ADDTAGSTOBINARYDATABYFILTERRESPONSE']._serialized_start = 7165
156
+ _globals['_ADDTAGSTOBINARYDATABYFILTERRESPONSE']._serialized_end = 7206
157
+ _globals['_REMOVETAGSFROMBINARYDATABYIDSREQUEST']._serialized_start = 7209
158
+ _globals['_REMOVETAGSFROMBINARYDATABYIDSREQUEST']._serialized_end = 7386
159
+ _globals['_REMOVETAGSFROMBINARYDATABYIDSRESPONSE']._serialized_start = 7388
160
+ _globals['_REMOVETAGSFROMBINARYDATABYIDSRESPONSE']._serialized_end = 7464
161
+ _globals['_REMOVETAGSFROMBINARYDATABYFILTERREQUEST']._serialized_start = 7466
162
+ _globals['_REMOVETAGSFROMBINARYDATABYFILTERREQUEST']._serialized_end = 7581
163
+ _globals['_REMOVETAGSFROMBINARYDATABYFILTERRESPONSE']._serialized_start = 7583
164
+ _globals['_REMOVETAGSFROMBINARYDATABYFILTERRESPONSE']._serialized_end = 7666
165
+ _globals['_TAGSBYFILTERREQUEST']._serialized_start = 7668
166
+ _globals['_TAGSBYFILTERREQUEST']._serialized_end = 7743
167
+ _globals['_TAGSBYFILTERRESPONSE']._serialized_start = 7745
168
+ _globals['_TAGSBYFILTERRESPONSE']._serialized_end = 7791
169
+ _globals['_ADDBOUNDINGBOXTOIMAGEBYIDREQUEST']._serialized_start = 7794
170
+ _globals['_ADDBOUNDINGBOXTOIMAGEBYIDREQUEST']._serialized_end = 8132
171
+ _globals['_ADDBOUNDINGBOXTOIMAGEBYIDRESPONSE']._serialized_start = 8134
172
+ _globals['_ADDBOUNDINGBOXTOIMAGEBYIDRESPONSE']._serialized_end = 8194
173
+ _globals['_REMOVEBOUNDINGBOXFROMIMAGEBYIDREQUEST']._serialized_start = 8197
174
+ _globals['_REMOVEBOUNDINGBOXFROMIMAGEBYIDREQUEST']._serialized_end = 8375
175
+ _globals['_REMOVEBOUNDINGBOXFROMIMAGEBYIDRESPONSE']._serialized_start = 8377
176
+ _globals['_REMOVEBOUNDINGBOXFROMIMAGEBYIDRESPONSE']._serialized_end = 8417
177
+ _globals['_UPDATEBOUNDINGBOXREQUEST']._serialized_start = 8420
178
+ _globals['_UPDATEBOUNDINGBOXREQUEST']._serialized_end = 8879
179
+ _globals['_UPDATEBOUNDINGBOXRESPONSE']._serialized_start = 8881
180
+ _globals['_UPDATEBOUNDINGBOXRESPONSE']._serialized_end = 8908
181
+ _globals['_BOUNDINGBOXLABELSBYFILTERREQUEST']._serialized_start = 8910
182
+ _globals['_BOUNDINGBOXLABELSBYFILTERREQUEST']._serialized_end = 8998
183
+ _globals['_BOUNDINGBOXLABELSBYFILTERRESPONSE']._serialized_start = 9000
184
+ _globals['_BOUNDINGBOXLABELSBYFILTERRESPONSE']._serialized_end = 9063
185
+ _globals['_CONFIGUREDATABASEUSERREQUEST']._serialized_start = 9065
186
+ _globals['_CONFIGUREDATABASEUSERREQUEST']._serialized_end = 9164
187
+ _globals['_CONFIGUREDATABASEUSERRESPONSE']._serialized_start = 9166
188
+ _globals['_CONFIGUREDATABASEUSERRESPONSE']._serialized_end = 9197
189
+ _globals['_GETDATABASECONNECTIONREQUEST']._serialized_start = 9199
190
+ _globals['_GETDATABASECONNECTIONREQUEST']._serialized_end = 9270
191
+ _globals['_GETDATABASECONNECTIONRESPONSE']._serialized_start = 9273
192
+ _globals['_GETDATABASECONNECTIONRESPONSE']._serialized_end = 9409
193
+ _globals['_ADDBINARYDATATODATASETBYIDSREQUEST']._serialized_start = 9412
194
+ _globals['_ADDBINARYDATATODATASETBYIDSREQUEST']._serialized_end = 9582
195
+ _globals['_ADDBINARYDATATODATASETBYIDSRESPONSE']._serialized_start = 9584
196
+ _globals['_ADDBINARYDATATODATASETBYIDSRESPONSE']._serialized_end = 9621
197
+ _globals['_REMOVEBINARYDATAFROMDATASETBYIDSREQUEST']._serialized_start = 9624
198
+ _globals['_REMOVEBINARYDATAFROMDATASETBYIDSREQUEST']._serialized_end = 9799
199
+ _globals['_REMOVEBINARYDATAFROMDATASETBYIDSRESPONSE']._serialized_start = 9801
200
+ _globals['_REMOVEBINARYDATAFROMDATASETBYIDSRESPONSE']._serialized_end = 9843
201
+ _globals['_DATASERVICE']._serialized_start = 10261
202
+ _globals['_DATASERVICE']._serialized_end = 13183
@@ -5,6 +5,7 @@ import grpclib.client
5
5
  import grpclib.exceptions
6
6
  if typing.TYPE_CHECKING:
7
7
  import grpclib.server
8
+ from .... import app
8
9
  from .... import common
9
10
  import google.api.annotations_pb2
10
11
  import google.protobuf.struct_pb2
@@ -20,8 +21,12 @@ class DataManagerServiceBase(abc.ABC):
20
21
  async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None:
21
22
  pass
22
23
 
24
+ @abc.abstractmethod
25
+ async def UploadBinaryDataToDatasets(self, stream: 'grpclib.server.Stream[service.datamanager.v1.data_manager_pb2.UploadBinaryDataToDatasetsRequest, service.datamanager.v1.data_manager_pb2.UploadBinaryDataToDatasetsResponse]') -> None:
26
+ pass
27
+
23
28
  def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]:
24
- return {'/viam.service.datamanager.v1.DataManagerService/Sync': grpclib.const.Handler(self.Sync, grpclib.const.Cardinality.UNARY_UNARY, service.datamanager.v1.data_manager_pb2.SyncRequest, service.datamanager.v1.data_manager_pb2.SyncResponse), '/viam.service.datamanager.v1.DataManagerService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)}
29
+ return {'/viam.service.datamanager.v1.DataManagerService/Sync': grpclib.const.Handler(self.Sync, grpclib.const.Cardinality.UNARY_UNARY, service.datamanager.v1.data_manager_pb2.SyncRequest, service.datamanager.v1.data_manager_pb2.SyncResponse), '/viam.service.datamanager.v1.DataManagerService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.service.datamanager.v1.DataManagerService/UploadBinaryDataToDatasets': grpclib.const.Handler(self.UploadBinaryDataToDatasets, grpclib.const.Cardinality.UNARY_UNARY, service.datamanager.v1.data_manager_pb2.UploadBinaryDataToDatasetsRequest, service.datamanager.v1.data_manager_pb2.UploadBinaryDataToDatasetsResponse)}
25
30
 
26
31
  class UnimplementedDataManagerServiceBase(DataManagerServiceBase):
27
32
 
@@ -31,8 +36,12 @@ class UnimplementedDataManagerServiceBase(DataManagerServiceBase):
31
36
  async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None:
32
37
  raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
33
38
 
39
+ async def UploadBinaryDataToDatasets(self, stream: 'grpclib.server.Stream[service.datamanager.v1.data_manager_pb2.UploadBinaryDataToDatasetsRequest, service.datamanager.v1.data_manager_pb2.UploadBinaryDataToDatasetsResponse]') -> None:
40
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
41
+
34
42
  class DataManagerServiceStub:
35
43
 
36
44
  def __init__(self, channel: grpclib.client.Channel) -> None:
37
45
  self.Sync = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.datamanager.v1.DataManagerService/Sync', service.datamanager.v1.data_manager_pb2.SyncRequest, service.datamanager.v1.data_manager_pb2.SyncResponse)
38
- self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.datamanager.v1.DataManagerService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)
46
+ self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.datamanager.v1.DataManagerService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)
47
+ self.UploadBinaryDataToDatasets = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.datamanager.v1.DataManagerService/UploadBinaryDataToDatasets', service.datamanager.v1.data_manager_pb2.UploadBinaryDataToDatasetsRequest, service.datamanager.v1.data_manager_pb2.UploadBinaryDataToDatasetsResponse)
@@ -6,10 +6,11 @@ from google.protobuf import symbol_database as _symbol_database
6
6
  from google.protobuf.internal import builder as _builder
7
7
  _runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 5, 29, 2, '', 'service/datamanager/v1/data_manager.proto')
8
8
  _sym_db = _symbol_database.Default()
9
+ from ....app.datasync.v1 import data_sync_pb2 as app_dot_datasync_dot_v1_dot_data__sync__pb2
9
10
  from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2
10
11
  from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
11
12
  from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
12
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)service/datamanager/v1/data_manager.proto\x12\x1bviam.service.datamanager.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"P\n\x0bSyncRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cSyncResponse2\xbb\x02\n\x12DataManagerService\x12\x95\x01\n\x04Sync\x12(.viam.service.datamanager.v1.SyncRequest\x1a).viam.service.datamanager.v1.SyncResponse"8\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/datamanager/{name}/datasync\x12\x8c\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse":\x82\xd3\xe4\x93\x024"2/viam/api/v1/service/datamanager/{name}/do_commandBI\n\x1fcom.viam.service.datamanager.v1Z&go.viam.com/api/service/datamanager/v1b\x06proto3')
13
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)service/datamanager/v1/data_manager.proto\x12\x1bviam.service.datamanager.v1\x1a\x1fapp/datasync/v1/data_sync.proto\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"P\n\x0bSyncRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cSyncResponse"\xf9\x01\n!UploadBinaryDataToDatasetsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0bbinary_data\x18\x02 \x01(\x0cR\nbinaryData\x12\x12\n\x04tags\x18\x03 \x03(\tR\x04tags\x12\x1f\n\x0bdataset_ids\x18\x04 \x03(\tR\ndatasetIds\x12;\n\tmime_type\x18\x05 \x01(\x0e2\x1e.viam.app.datasync.v1.MimeTypeR\x08mimeType\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"$\n"UploadBinaryDataToDatasetsResponse2\xab\x04\n\x12DataManagerService\x12\x95\x01\n\x04Sync\x12(.viam.service.datamanager.v1.SyncRequest\x1a).viam.service.datamanager.v1.SyncResponse"8\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/datamanager/{name}/datasync\x12\x8c\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse":\x82\xd3\xe4\x93\x024"2/viam/api/v1/service/datamanager/{name}/do_command\x12\xed\x01\n\x1aUploadBinaryDataToDatasets\x12>.viam.service.datamanager.v1.UploadBinaryDataToDatasetsRequest\x1a?.viam.service.datamanager.v1.UploadBinaryDataToDatasetsResponse"N\x82\xd3\xe4\x93\x02H"F/viam/api/v1/service/datamanager/{name}/upload_binary_data_to_datasetsBI\n\x1fcom.viam.service.datamanager.v1Z&go.viam.com/api/service/datamanager/v1b\x06proto3')
13
14
  _globals = globals()
14
15
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
15
16
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'service.datamanager.v1.data_manager_pb2', _globals)
@@ -20,9 +21,15 @@ if not _descriptor._USE_C_DESCRIPTORS:
20
21
  _globals['_DATAMANAGERSERVICE'].methods_by_name['Sync']._serialized_options = b'\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/datamanager/{name}/datasync'
21
22
  _globals['_DATAMANAGERSERVICE'].methods_by_name['DoCommand']._loaded_options = None
22
23
  _globals['_DATAMANAGERSERVICE'].methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x024"2/viam/api/v1/service/datamanager/{name}/do_command'
23
- _globals['_SYNCREQUEST']._serialized_start = 158
24
- _globals['_SYNCREQUEST']._serialized_end = 238
25
- _globals['_SYNCRESPONSE']._serialized_start = 240
26
- _globals['_SYNCRESPONSE']._serialized_end = 254
27
- _globals['_DATAMANAGERSERVICE']._serialized_start = 257
28
- _globals['_DATAMANAGERSERVICE']._serialized_end = 572
24
+ _globals['_DATAMANAGERSERVICE'].methods_by_name['UploadBinaryDataToDatasets']._loaded_options = None
25
+ _globals['_DATAMANAGERSERVICE'].methods_by_name['UploadBinaryDataToDatasets']._serialized_options = b'\x82\xd3\xe4\x93\x02H"F/viam/api/v1/service/datamanager/{name}/upload_binary_data_to_datasets'
26
+ _globals['_SYNCREQUEST']._serialized_start = 191
27
+ _globals['_SYNCREQUEST']._serialized_end = 271
28
+ _globals['_SYNCRESPONSE']._serialized_start = 273
29
+ _globals['_SYNCRESPONSE']._serialized_end = 287
30
+ _globals['_UPLOADBINARYDATATODATASETSREQUEST']._serialized_start = 290
31
+ _globals['_UPLOADBINARYDATATODATASETSREQUEST']._serialized_end = 539
32
+ _globals['_UPLOADBINARYDATATODATASETSRESPONSE']._serialized_start = 541
33
+ _globals['_UPLOADBINARYDATATODATASETSRESPONSE']._serialized_end = 577
34
+ _globals['_DATAMANAGERSERVICE']._serialized_start = 580
35
+ _globals['_DATAMANAGERSERVICE']._serialized_end = 1135
@@ -2,8 +2,11 @@
2
2
  @generated by mypy-protobuf. Do not edit manually!
3
3
  isort:skip_file
4
4
  """
5
+ from .... import app
5
6
  import builtins
7
+ import collections.abc
6
8
  import google.protobuf.descriptor
9
+ import google.protobuf.internal.containers
7
10
  import google.protobuf.message
8
11
  import google.protobuf.struct_pb2
9
12
  import typing
@@ -36,4 +39,47 @@ class SyncResponse(google.protobuf.message.Message):
36
39
 
37
40
  def __init__(self) -> None:
38
41
  ...
39
- global___SyncResponse = SyncResponse
42
+ global___SyncResponse = SyncResponse
43
+
44
+ @typing.final
45
+ class UploadBinaryDataToDatasetsRequest(google.protobuf.message.Message):
46
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
47
+ NAME_FIELD_NUMBER: builtins.int
48
+ BINARY_DATA_FIELD_NUMBER: builtins.int
49
+ TAGS_FIELD_NUMBER: builtins.int
50
+ DATASET_IDS_FIELD_NUMBER: builtins.int
51
+ MIME_TYPE_FIELD_NUMBER: builtins.int
52
+ EXTRA_FIELD_NUMBER: builtins.int
53
+ name: builtins.str
54
+ binary_data: builtins.bytes
55
+ mime_type: app.datasync.v1.data_sync_pb2.MimeType.ValueType
56
+
57
+ @property
58
+ def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
59
+ ...
60
+
61
+ @property
62
+ def dataset_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
63
+ ...
64
+
65
+ @property
66
+ def extra(self) -> google.protobuf.struct_pb2.Struct:
67
+ """Additional arguments to the method"""
68
+
69
+ def __init__(self, *, name: builtins.str=..., binary_data: builtins.bytes=..., tags: collections.abc.Iterable[builtins.str] | None=..., dataset_ids: collections.abc.Iterable[builtins.str] | None=..., mime_type: app.datasync.v1.data_sync_pb2.MimeType.ValueType=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
70
+ ...
71
+
72
+ def HasField(self, field_name: typing.Literal['extra', b'extra']) -> builtins.bool:
73
+ ...
74
+
75
+ def ClearField(self, field_name: typing.Literal['binary_data', b'binary_data', 'dataset_ids', b'dataset_ids', 'extra', b'extra', 'mime_type', b'mime_type', 'name', b'name', 'tags', b'tags']) -> None:
76
+ ...
77
+ global___UploadBinaryDataToDatasetsRequest = UploadBinaryDataToDatasetsRequest
78
+
79
+ @typing.final
80
+ class UploadBinaryDataToDatasetsResponse(google.protobuf.message.Message):
81
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
82
+
83
+ def __init__(self) -> None:
84
+ ...
85
+ global___UploadBinaryDataToDatasetsResponse = UploadBinaryDataToDatasetsResponse
@@ -10,7 +10,7 @@ from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2
10
10
  from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
11
11
  from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
12
12
  from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
13
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eservice/motion/v1/motion.proto\x12\x16viam.service.motion.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\x82\x03\n\x0bMoveRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12=\n\x0bdestination\x18\x02 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x0bdestination\x12C\n\x0ecomponent_name\x18\x03 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12@\n\x0bworld_state\x18\x04 \x01(\x0b2\x1a.viam.common.v1.WorldStateH\x00R\nworldState\x88\x01\x01\x12J\n\x0bconstraints\x18\x05 \x01(\x0b2#.viam.service.motion.v1.ConstraintsH\x01R\x0bconstraints\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x0e\n\x0c_world_stateB\x0e\n\x0c_constraints"(\n\x0cMoveResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\xd2\x03\n\x10MoveOnMapRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x126\n\x0bdestination\x18\x02 \x01(\x0b2\x14.viam.common.v1.PoseR\x0bdestination\x12C\n\x0ecomponent_name\x18\x03 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12H\n\x11slam_service_name\x18\x04 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x0fslamServiceName\x12c\n\x14motion_configuration\x18\x05 \x01(\x0b2+.viam.service.motion.v1.MotionConfigurationH\x00R\x13motionConfiguration\x88\x01\x01\x126\n\tobstacles\x18\x06 \x03(\x0b2\x18.viam.common.v1.GeometryR\tobstacles\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x17\n\x15_motion_configuration"6\n\x11MoveOnMapResponse\x12!\n\x0cexecution_id\x18\x01 \x01(\tR\x0bexecutionId"\x8d\x01\n\x10ObstacleDetector\x12C\n\x0evision_service\x18\x01 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rvisionService\x124\n\x06camera\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x06camera"\x98\x04\n\x13MotionConfiguration\x12W\n\x12obstacle_detectors\x18\x01 \x03(\x0b2(.viam.service.motion.v1.ObstacleDetectorR\x11obstacleDetectors\x12F\n\x1dposition_polling_frequency_hz\x18\x02 \x01(\x01H\x00R\x1apositionPollingFrequencyHz\x88\x01\x01\x12F\n\x1dobstacle_polling_frequency_hz\x18\x03 \x01(\x01H\x01R\x1aobstaclePollingFrequencyHz\x88\x01\x01\x12-\n\x10plan_deviation_m\x18\x04 \x01(\x01H\x02R\x0eplanDeviationM\x88\x01\x01\x12,\n\x10linear_m_per_sec\x18\x05 \x01(\x01H\x03R\rlinearMPerSec\x88\x01\x01\x124\n\x14angular_degs_per_sec\x18\x06 \x01(\x01H\x04R\x11angularDegsPerSec\x88\x01\x01B \n\x1e_position_polling_frequency_hzB \n\x1e_obstacle_polling_frequency_hzB\x13\n\x11_plan_deviation_mB\x13\n\x11_linear_m_per_secB\x17\n\x15_angular_degs_per_sec"\xd4\x04\n\x12MoveOnGlobeRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12:\n\x0bdestination\x18\x02 \x01(\x0b2\x18.viam.common.v1.GeoPointR\x0bdestination\x12\x1d\n\x07heading\x18\x03 \x01(\x01H\x00R\x07heading\x88\x01\x01\x12C\n\x0ecomponent_name\x18\x04 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12N\n\x14movement_sensor_name\x18\x05 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x12movementSensorName\x129\n\tobstacles\x18\x06 \x03(\x0b2\x1b.viam.common.v1.GeoGeometryR\tobstacles\x12c\n\x14motion_configuration\x18\x07 \x01(\x0b2+.viam.service.motion.v1.MotionConfigurationH\x01R\x13motionConfiguration\x88\x01\x01\x12F\n\x10bounding_regions\x18\x08 \x03(\x0b2\x1b.viam.common.v1.GeoGeometryR\x0fboundingRegions\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\n\n\x08_headingB\x17\n\x15_motion_configuration"8\n\x13MoveOnGlobeResponse\x12!\n\x0cexecution_id\x18\x01 \x01(\tR\x0bexecutionId"\x9d\x02\n\x0eGetPoseRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12+\n\x11destination_frame\x18\x03 \x01(\tR\x10destinationFrame\x12R\n\x17supplemental_transforms\x18\x04 \x03(\x0b2\x19.viam.common.v1.TransformR\x16supplementalTransforms\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra:\x02\x18\x01"F\n\x0fGetPoseResponse\x12/\n\x04pose\x18\x01 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x04pose:\x02\x18\x01"\x99\x01\n\x0fStopPlanRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x12\n\x10StopPlanResponse"\x88\x01\n\x17ListPlanStatusesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12*\n\x11only_active_plans\x18\x02 \x01(\x08R\x0fonlyActivePlans\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"y\n\x18ListPlanStatusesResponse\x12]\n\x16plan_statuses_with_ids\x18\x01 \x03(\x0b2(.viam.service.motion.v1.PlanStatusWithIDR\x13planStatusesWithIds"\xf7\x01\n\x0eGetPlanRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12$\n\x0elast_plan_only\x18\x03 \x01(\x08R\x0clastPlanOnly\x12&\n\x0cexecution_id\x18\x04 \x01(\tH\x00R\x0bexecutionId\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x0f\n\r_execution_id"\xc1\x01\n\x0fGetPlanResponse\x12_\n\x18current_plan_with_status\x18\x01 \x01(\x0b2&.viam.service.motion.v1.PlanWithStatusR\x15currentPlanWithStatus\x12M\n\x0ereplan_history\x18\x02 \x03(\x0b2&.viam.service.motion.v1.PlanWithStatusR\rreplanHistory"\xb3\x02\n\x0bConstraints\x12U\n\x11linear_constraint\x18\x01 \x03(\x0b2(.viam.service.motion.v1.LinearConstraintR\x10linearConstraint\x12d\n\x16orientation_constraint\x18\x02 \x03(\x0b2-.viam.service.motion.v1.OrientationConstraintR\x15orientationConstraint\x12g\n\x17collision_specification\x18\x03 \x03(\x0b2..viam.service.motion.v1.CollisionSpecificationR\x16collisionSpecification"\xbb\x01\n\x10LinearConstraint\x12/\n\x11line_tolerance_mm\x18\x01 \x01(\x02H\x00R\x0flineToleranceMm\x88\x01\x01\x12A\n\x1aorientation_tolerance_degs\x18\x02 \x01(\x02H\x01R\x18orientationToleranceDegs\x88\x01\x01B\x14\n\x12_line_tolerance_mmB\x1d\n\x1b_orientation_tolerance_degs"y\n\x15OrientationConstraint\x12A\n\x1aorientation_tolerance_degs\x18\x01 \x01(\x02H\x00R\x18orientationToleranceDegs\x88\x01\x01B\x1d\n\x1b_orientation_tolerance_degs"\xc1\x01\n\x16CollisionSpecification\x12]\n\x06allows\x18\x01 \x03(\x0b2E.viam.service.motion.v1.CollisionSpecification.AllowedFrameCollisionsR\x06allows\x1aH\n\x16AllowedFrameCollisions\x12\x16\n\x06frame1\x18\x01 \x01(\tR\x06frame1\x12\x16\n\x06frame2\x18\x02 \x01(\tR\x06frame2"\xc9\x01\n\x0ePlanWithStatus\x120\n\x04plan\x18\x01 \x01(\x0b2\x1c.viam.service.motion.v1.PlanR\x04plan\x12:\n\x06status\x18\x02 \x01(\x0b2".viam.service.motion.v1.PlanStatusR\x06status\x12I\n\x0estatus_history\x18\x03 \x03(\x0b2".viam.service.motion.v1.PlanStatusR\rstatusHistory"\xcf\x01\n\x10PlanStatusWithID\x12\x17\n\x07plan_id\x18\x01 \x01(\tR\x06planId\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12!\n\x0cexecution_id\x18\x03 \x01(\tR\x0bexecutionId\x12:\n\x06status\x18\x04 \x01(\x0b2".viam.service.motion.v1.PlanStatusR\x06status"\xa7\x01\n\nPlanStatus\x127\n\x05state\x18\x01 \x01(\x0e2!.viam.service.motion.v1.PlanStateR\x05state\x128\n\ttimestamp\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\ttimestamp\x12\x1b\n\x06reason\x18\x03 \x01(\tH\x00R\x06reason\x88\x01\x01B\t\n\x07_reason"\xb6\x01\n\x04Plan\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12!\n\x0cexecution_id\x18\x03 \x01(\tR\x0bexecutionId\x126\n\x05steps\x18\x04 \x03(\x0b2 .viam.service.motion.v1.PlanStepR\x05steps"\xab\x01\n\x08PlanStep\x12>\n\x04step\x18\x01 \x03(\x0b2*.viam.service.motion.v1.PlanStep.StepEntryR\x04step\x1a_\n\tStepEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12<\n\x05value\x18\x02 \x01(\x0b2&.viam.service.motion.v1.ComponentStateR\x05value:\x028\x01":\n\x0eComponentState\x12(\n\x04pose\x18\x01 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose*\x8c\x01\n\tPlanState\x12\x1a\n\x16PLAN_STATE_UNSPECIFIED\x10\x00\x12\x1a\n\x16PLAN_STATE_IN_PROGRESS\x10\x01\x12\x16\n\x12PLAN_STATE_STOPPED\x10\x02\x12\x18\n\x14PLAN_STATE_SUCCEEDED\x10\x03\x12\x15\n\x11PLAN_STATE_FAILED\x10\x042\xcc\t\n\rMotionService\x12\x82\x01\n\x04Move\x12#.viam.service.motion.v1.MoveRequest\x1a$.viam.service.motion.v1.MoveResponse"/\x82\xd3\xe4\x93\x02)"\'/viam/api/v1/service/motion/{name}/move\x12\x98\x01\n\tMoveOnMap\x12(.viam.service.motion.v1.MoveOnMapRequest\x1a).viam.service.motion.v1.MoveOnMapResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/service/motion/{name}/move_on_map\x12\xa0\x01\n\x0bMoveOnGlobe\x12*.viam.service.motion.v1.MoveOnGlobeRequest\x1a+.viam.service.motion.v1.MoveOnGlobeResponse"8\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/motion/{name}/move_on_globe\x12\x8e\x01\n\x07GetPose\x12&.viam.service.motion.v1.GetPoseRequest\x1a\'.viam.service.motion.v1.GetPoseResponse"2\x88\x02\x01\x82\xd3\xe4\x93\x02)\x12\'/viam/api/v1/service/motion/{name}/pose\x12\x93\x01\n\x08StopPlan\x12\'.viam.service.motion.v1.StopPlanRequest\x1a(.viam.service.motion.v1.StopPlanResponse"4\x82\xd3\xe4\x93\x02.\x1a,/viam/api/v1/service/motion/{name}/stop_plan\x12\xb4\x01\n\x10ListPlanStatuses\x12/.viam.service.motion.v1.ListPlanStatusesRequest\x1a0.viam.service.motion.v1.ListPlanStatusesResponse"=\x82\xd3\xe4\x93\x027\x125/viam/api/v1/service/motion/{name}/list_plan_statuses\x12\x8f\x01\n\x07GetPlan\x12&.viam.service.motion.v1.GetPlanRequest\x1a\'.viam.service.motion.v1.GetPlanResponse"3\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/motion/{name}/get_plan\x12\x87\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"5\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/motion/{name}/do_commandB?\n\x1acom.viam.service.motion.v1Z!go.viam.com/api/service/motion/v1b\x06proto3')
13
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eservice/motion/v1/motion.proto\x12\x16viam.service.motion.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\x82\x03\n\x0bMoveRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12=\n\x0bdestination\x18\x02 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x0bdestination\x12C\n\x0ecomponent_name\x18\x03 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12@\n\x0bworld_state\x18\x04 \x01(\x0b2\x1a.viam.common.v1.WorldStateH\x00R\nworldState\x88\x01\x01\x12J\n\x0bconstraints\x18\x05 \x01(\x0b2#.viam.service.motion.v1.ConstraintsH\x01R\x0bconstraints\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x0e\n\x0c_world_stateB\x0e\n\x0c_constraints"(\n\x0cMoveResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\xd2\x03\n\x10MoveOnMapRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x126\n\x0bdestination\x18\x02 \x01(\x0b2\x14.viam.common.v1.PoseR\x0bdestination\x12C\n\x0ecomponent_name\x18\x03 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12H\n\x11slam_service_name\x18\x04 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x0fslamServiceName\x12c\n\x14motion_configuration\x18\x05 \x01(\x0b2+.viam.service.motion.v1.MotionConfigurationH\x00R\x13motionConfiguration\x88\x01\x01\x126\n\tobstacles\x18\x06 \x03(\x0b2\x18.viam.common.v1.GeometryR\tobstacles\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x17\n\x15_motion_configuration"6\n\x11MoveOnMapResponse\x12!\n\x0cexecution_id\x18\x01 \x01(\tR\x0bexecutionId"\x8d\x01\n\x10ObstacleDetector\x12C\n\x0evision_service\x18\x01 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rvisionService\x124\n\x06camera\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x06camera"\x98\x04\n\x13MotionConfiguration\x12W\n\x12obstacle_detectors\x18\x01 \x03(\x0b2(.viam.service.motion.v1.ObstacleDetectorR\x11obstacleDetectors\x12F\n\x1dposition_polling_frequency_hz\x18\x02 \x01(\x01H\x00R\x1apositionPollingFrequencyHz\x88\x01\x01\x12F\n\x1dobstacle_polling_frequency_hz\x18\x03 \x01(\x01H\x01R\x1aobstaclePollingFrequencyHz\x88\x01\x01\x12-\n\x10plan_deviation_m\x18\x04 \x01(\x01H\x02R\x0eplanDeviationM\x88\x01\x01\x12,\n\x10linear_m_per_sec\x18\x05 \x01(\x01H\x03R\rlinearMPerSec\x88\x01\x01\x124\n\x14angular_degs_per_sec\x18\x06 \x01(\x01H\x04R\x11angularDegsPerSec\x88\x01\x01B \n\x1e_position_polling_frequency_hzB \n\x1e_obstacle_polling_frequency_hzB\x13\n\x11_plan_deviation_mB\x13\n\x11_linear_m_per_secB\x17\n\x15_angular_degs_per_sec"\xd4\x04\n\x12MoveOnGlobeRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12:\n\x0bdestination\x18\x02 \x01(\x0b2\x18.viam.common.v1.GeoPointR\x0bdestination\x12\x1d\n\x07heading\x18\x03 \x01(\x01H\x00R\x07heading\x88\x01\x01\x12C\n\x0ecomponent_name\x18\x04 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12N\n\x14movement_sensor_name\x18\x05 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x12movementSensorName\x129\n\tobstacles\x18\x06 \x03(\x0b2\x1b.viam.common.v1.GeoGeometryR\tobstacles\x12c\n\x14motion_configuration\x18\x07 \x01(\x0b2+.viam.service.motion.v1.MotionConfigurationH\x01R\x13motionConfiguration\x88\x01\x01\x12F\n\x10bounding_regions\x18\x08 \x03(\x0b2\x1b.viam.common.v1.GeoGeometryR\x0fboundingRegions\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\n\n\x08_headingB\x17\n\x15_motion_configuration"8\n\x13MoveOnGlobeResponse\x12!\n\x0cexecution_id\x18\x01 \x01(\tR\x0bexecutionId"\x9d\x02\n\x0eGetPoseRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12+\n\x11destination_frame\x18\x03 \x01(\tR\x10destinationFrame\x12R\n\x17supplemental_transforms\x18\x04 \x03(\x0b2\x19.viam.common.v1.TransformR\x16supplementalTransforms\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra:\x02\x18\x01"F\n\x0fGetPoseResponse\x12/\n\x04pose\x18\x01 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x04pose:\x02\x18\x01"\x99\x01\n\x0fStopPlanRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x12\n\x10StopPlanResponse"\x88\x01\n\x17ListPlanStatusesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12*\n\x11only_active_plans\x18\x02 \x01(\x08R\x0fonlyActivePlans\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"y\n\x18ListPlanStatusesResponse\x12]\n\x16plan_statuses_with_ids\x18\x01 \x03(\x0b2(.viam.service.motion.v1.PlanStatusWithIDR\x13planStatusesWithIds"\xf7\x01\n\x0eGetPlanRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12$\n\x0elast_plan_only\x18\x03 \x01(\x08R\x0clastPlanOnly\x12&\n\x0cexecution_id\x18\x04 \x01(\tH\x00R\x0bexecutionId\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x0f\n\r_execution_id"\xc1\x01\n\x0fGetPlanResponse\x12_\n\x18current_plan_with_status\x18\x01 \x01(\x0b2&.viam.service.motion.v1.PlanWithStatusR\x15currentPlanWithStatus\x12M\n\x0ereplan_history\x18\x02 \x03(\x0b2&.viam.service.motion.v1.PlanWithStatusR\rreplanHistory"\x9c\x03\n\x0bConstraints\x12U\n\x11linear_constraint\x18\x01 \x03(\x0b2(.viam.service.motion.v1.LinearConstraintR\x10linearConstraint\x12d\n\x16orientation_constraint\x18\x02 \x03(\x0b2-.viam.service.motion.v1.OrientationConstraintR\x15orientationConstraint\x12g\n\x17collision_specification\x18\x03 \x03(\x0b2..viam.service.motion.v1.CollisionSpecificationR\x16collisionSpecification\x12g\n\x17pseudolinear_constraint\x18\x04 \x03(\x0b2..viam.service.motion.v1.PseudolinearConstraintR\x16pseudolinearConstraint"\xbb\x01\n\x10LinearConstraint\x12/\n\x11line_tolerance_mm\x18\x01 \x01(\x02H\x00R\x0flineToleranceMm\x88\x01\x01\x12A\n\x1aorientation_tolerance_degs\x18\x02 \x01(\x02H\x01R\x18orientationToleranceDegs\x88\x01\x01B\x14\n\x12_line_tolerance_mmB\x1d\n\x1b_orientation_tolerance_degs"\xd3\x01\n\x16PseudolinearConstraint\x127\n\x15line_tolerance_factor\x18\x01 \x01(\x02H\x00R\x13lineToleranceFactor\x88\x01\x01\x12E\n\x1corientation_tolerance_factor\x18\x02 \x01(\x02H\x01R\x1aorientationToleranceFactor\x88\x01\x01B\x18\n\x16_line_tolerance_factorB\x1f\n\x1d_orientation_tolerance_factor"y\n\x15OrientationConstraint\x12A\n\x1aorientation_tolerance_degs\x18\x01 \x01(\x02H\x00R\x18orientationToleranceDegs\x88\x01\x01B\x1d\n\x1b_orientation_tolerance_degs"\xc1\x01\n\x16CollisionSpecification\x12]\n\x06allows\x18\x01 \x03(\x0b2E.viam.service.motion.v1.CollisionSpecification.AllowedFrameCollisionsR\x06allows\x1aH\n\x16AllowedFrameCollisions\x12\x16\n\x06frame1\x18\x01 \x01(\tR\x06frame1\x12\x16\n\x06frame2\x18\x02 \x01(\tR\x06frame2"\xc9\x01\n\x0ePlanWithStatus\x120\n\x04plan\x18\x01 \x01(\x0b2\x1c.viam.service.motion.v1.PlanR\x04plan\x12:\n\x06status\x18\x02 \x01(\x0b2".viam.service.motion.v1.PlanStatusR\x06status\x12I\n\x0estatus_history\x18\x03 \x03(\x0b2".viam.service.motion.v1.PlanStatusR\rstatusHistory"\xcf\x01\n\x10PlanStatusWithID\x12\x17\n\x07plan_id\x18\x01 \x01(\tR\x06planId\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12!\n\x0cexecution_id\x18\x03 \x01(\tR\x0bexecutionId\x12:\n\x06status\x18\x04 \x01(\x0b2".viam.service.motion.v1.PlanStatusR\x06status"\xa7\x01\n\nPlanStatus\x127\n\x05state\x18\x01 \x01(\x0e2!.viam.service.motion.v1.PlanStateR\x05state\x128\n\ttimestamp\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\ttimestamp\x12\x1b\n\x06reason\x18\x03 \x01(\tH\x00R\x06reason\x88\x01\x01B\t\n\x07_reason"\xb6\x01\n\x04Plan\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12!\n\x0cexecution_id\x18\x03 \x01(\tR\x0bexecutionId\x126\n\x05steps\x18\x04 \x03(\x0b2 .viam.service.motion.v1.PlanStepR\x05steps"\xab\x01\n\x08PlanStep\x12>\n\x04step\x18\x01 \x03(\x0b2*.viam.service.motion.v1.PlanStep.StepEntryR\x04step\x1a_\n\tStepEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12<\n\x05value\x18\x02 \x01(\x0b2&.viam.service.motion.v1.ComponentStateR\x05value:\x028\x01":\n\x0eComponentState\x12(\n\x04pose\x18\x01 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose*\x8c\x01\n\tPlanState\x12\x1a\n\x16PLAN_STATE_UNSPECIFIED\x10\x00\x12\x1a\n\x16PLAN_STATE_IN_PROGRESS\x10\x01\x12\x16\n\x12PLAN_STATE_STOPPED\x10\x02\x12\x18\n\x14PLAN_STATE_SUCCEEDED\x10\x03\x12\x15\n\x11PLAN_STATE_FAILED\x10\x042\xcc\t\n\rMotionService\x12\x82\x01\n\x04Move\x12#.viam.service.motion.v1.MoveRequest\x1a$.viam.service.motion.v1.MoveResponse"/\x82\xd3\xe4\x93\x02)"\'/viam/api/v1/service/motion/{name}/move\x12\x98\x01\n\tMoveOnMap\x12(.viam.service.motion.v1.MoveOnMapRequest\x1a).viam.service.motion.v1.MoveOnMapResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/service/motion/{name}/move_on_map\x12\xa0\x01\n\x0bMoveOnGlobe\x12*.viam.service.motion.v1.MoveOnGlobeRequest\x1a+.viam.service.motion.v1.MoveOnGlobeResponse"8\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/motion/{name}/move_on_globe\x12\x8e\x01\n\x07GetPose\x12&.viam.service.motion.v1.GetPoseRequest\x1a\'.viam.service.motion.v1.GetPoseResponse"2\x88\x02\x01\x82\xd3\xe4\x93\x02)\x12\'/viam/api/v1/service/motion/{name}/pose\x12\x93\x01\n\x08StopPlan\x12\'.viam.service.motion.v1.StopPlanRequest\x1a(.viam.service.motion.v1.StopPlanResponse"4\x82\xd3\xe4\x93\x02.\x1a,/viam/api/v1/service/motion/{name}/stop_plan\x12\xb4\x01\n\x10ListPlanStatuses\x12/.viam.service.motion.v1.ListPlanStatusesRequest\x1a0.viam.service.motion.v1.ListPlanStatusesResponse"=\x82\xd3\xe4\x93\x027\x125/viam/api/v1/service/motion/{name}/list_plan_statuses\x12\x8f\x01\n\x07GetPlan\x12&.viam.service.motion.v1.GetPlanRequest\x1a\'.viam.service.motion.v1.GetPlanResponse"3\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/motion/{name}/get_plan\x12\x87\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"5\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/motion/{name}/do_commandB?\n\x1acom.viam.service.motion.v1Z!go.viam.com/api/service/motion/v1b\x06proto3')
14
14
  _globals = globals()
15
15
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
16
16
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'service.motion.v1.motion_pb2', _globals)
@@ -39,8 +39,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
39
39
  _globals['_MOTIONSERVICE'].methods_by_name['GetPlan']._serialized_options = b'\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/motion/{name}/get_plan'
40
40
  _globals['_MOTIONSERVICE'].methods_by_name['DoCommand']._loaded_options = None
41
41
  _globals['_MOTIONSERVICE'].methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/motion/{name}/do_command'
42
- _globals['_PLANSTATE']._serialized_start = 5538
43
- _globals['_PLANSTATE']._serialized_end = 5678
42
+ _globals['_PLANSTATE']._serialized_start = 5857
43
+ _globals['_PLANSTATE']._serialized_end = 5997
44
44
  _globals['_MOVEREQUEST']._serialized_start = 176
45
45
  _globals['_MOVEREQUEST']._serialized_end = 562
46
46
  _globals['_MOVERESPONSE']._serialized_start = 564
@@ -74,28 +74,30 @@ if not _descriptor._USE_C_DESCRIPTORS:
74
74
  _globals['_GETPLANRESPONSE']._serialized_start = 3520
75
75
  _globals['_GETPLANRESPONSE']._serialized_end = 3713
76
76
  _globals['_CONSTRAINTS']._serialized_start = 3716
77
- _globals['_CONSTRAINTS']._serialized_end = 4023
78
- _globals['_LINEARCONSTRAINT']._serialized_start = 4026
79
- _globals['_LINEARCONSTRAINT']._serialized_end = 4213
80
- _globals['_ORIENTATIONCONSTRAINT']._serialized_start = 4215
81
- _globals['_ORIENTATIONCONSTRAINT']._serialized_end = 4336
82
- _globals['_COLLISIONSPECIFICATION']._serialized_start = 4339
83
- _globals['_COLLISIONSPECIFICATION']._serialized_end = 4532
84
- _globals['_COLLISIONSPECIFICATION_ALLOWEDFRAMECOLLISIONS']._serialized_start = 4460
85
- _globals['_COLLISIONSPECIFICATION_ALLOWEDFRAMECOLLISIONS']._serialized_end = 4532
86
- _globals['_PLANWITHSTATUS']._serialized_start = 4535
87
- _globals['_PLANWITHSTATUS']._serialized_end = 4736
88
- _globals['_PLANSTATUSWITHID']._serialized_start = 4739
89
- _globals['_PLANSTATUSWITHID']._serialized_end = 4946
90
- _globals['_PLANSTATUS']._serialized_start = 4949
91
- _globals['_PLANSTATUS']._serialized_end = 5116
92
- _globals['_PLAN']._serialized_start = 5119
93
- _globals['_PLAN']._serialized_end = 5301
94
- _globals['_PLANSTEP']._serialized_start = 5304
95
- _globals['_PLANSTEP']._serialized_end = 5475
96
- _globals['_PLANSTEP_STEPENTRY']._serialized_start = 5380
97
- _globals['_PLANSTEP_STEPENTRY']._serialized_end = 5475
98
- _globals['_COMPONENTSTATE']._serialized_start = 5477
99
- _globals['_COMPONENTSTATE']._serialized_end = 5535
100
- _globals['_MOTIONSERVICE']._serialized_start = 5681
101
- _globals['_MOTIONSERVICE']._serialized_end = 6909
77
+ _globals['_CONSTRAINTS']._serialized_end = 4128
78
+ _globals['_LINEARCONSTRAINT']._serialized_start = 4131
79
+ _globals['_LINEARCONSTRAINT']._serialized_end = 4318
80
+ _globals['_PSEUDOLINEARCONSTRAINT']._serialized_start = 4321
81
+ _globals['_PSEUDOLINEARCONSTRAINT']._serialized_end = 4532
82
+ _globals['_ORIENTATIONCONSTRAINT']._serialized_start = 4534
83
+ _globals['_ORIENTATIONCONSTRAINT']._serialized_end = 4655
84
+ _globals['_COLLISIONSPECIFICATION']._serialized_start = 4658
85
+ _globals['_COLLISIONSPECIFICATION']._serialized_end = 4851
86
+ _globals['_COLLISIONSPECIFICATION_ALLOWEDFRAMECOLLISIONS']._serialized_start = 4779
87
+ _globals['_COLLISIONSPECIFICATION_ALLOWEDFRAMECOLLISIONS']._serialized_end = 4851
88
+ _globals['_PLANWITHSTATUS']._serialized_start = 4854
89
+ _globals['_PLANWITHSTATUS']._serialized_end = 5055
90
+ _globals['_PLANSTATUSWITHID']._serialized_start = 5058
91
+ _globals['_PLANSTATUSWITHID']._serialized_end = 5265
92
+ _globals['_PLANSTATUS']._serialized_start = 5268
93
+ _globals['_PLANSTATUS']._serialized_end = 5435
94
+ _globals['_PLAN']._serialized_start = 5438
95
+ _globals['_PLAN']._serialized_end = 5620
96
+ _globals['_PLANSTEP']._serialized_start = 5623
97
+ _globals['_PLANSTEP']._serialized_end = 5794
98
+ _globals['_PLANSTEP_STEPENTRY']._serialized_start = 5699
99
+ _globals['_PLANSTEP_STEPENTRY']._serialized_end = 5794
100
+ _globals['_COMPONENTSTATE']._serialized_start = 5796
101
+ _globals['_COMPONENTSTATE']._serialized_end = 5854
102
+ _globals['_MOTIONSERVICE']._serialized_start = 6000
103
+ _globals['_MOTIONSERVICE']._serialized_end = 7228
@@ -536,6 +536,7 @@ class Constraints(google.protobuf.message.Message):
536
536
  LINEAR_CONSTRAINT_FIELD_NUMBER: builtins.int
537
537
  ORIENTATION_CONSTRAINT_FIELD_NUMBER: builtins.int
538
538
  COLLISION_SPECIFICATION_FIELD_NUMBER: builtins.int
539
+ PSEUDOLINEAR_CONSTRAINT_FIELD_NUMBER: builtins.int
539
540
 
540
541
  @property
541
542
  def linear_constraint(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LinearConstraint]:
@@ -547,12 +548,16 @@ class Constraints(google.protobuf.message.Message):
547
548
 
548
549
  @property
549
550
  def collision_specification(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CollisionSpecification]:
551
+ ...
552
+
553
+ @property
554
+ def pseudolinear_constraint(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PseudolinearConstraint]:
550
555
  """Arc constraint, Time constraint, and others will be added here when they are supported"""
551
556
 
552
- def __init__(self, *, linear_constraint: collections.abc.Iterable[global___LinearConstraint] | None=..., orientation_constraint: collections.abc.Iterable[global___OrientationConstraint] | None=..., collision_specification: collections.abc.Iterable[global___CollisionSpecification] | None=...) -> None:
557
+ def __init__(self, *, linear_constraint: collections.abc.Iterable[global___LinearConstraint] | None=..., orientation_constraint: collections.abc.Iterable[global___OrientationConstraint] | None=..., collision_specification: collections.abc.Iterable[global___CollisionSpecification] | None=..., pseudolinear_constraint: collections.abc.Iterable[global___PseudolinearConstraint] | None=...) -> None:
553
558
  ...
554
559
 
555
- def ClearField(self, field_name: typing.Literal['collision_specification', b'collision_specification', 'linear_constraint', b'linear_constraint', 'orientation_constraint', b'orientation_constraint']) -> None:
560
+ def ClearField(self, field_name: typing.Literal['collision_specification', b'collision_specification', 'linear_constraint', b'linear_constraint', 'orientation_constraint', b'orientation_constraint', 'pseudolinear_constraint', b'pseudolinear_constraint']) -> None:
556
561
  ...
557
562
  global___Constraints = Constraints
558
563
 
@@ -587,6 +592,37 @@ class LinearConstraint(google.protobuf.message.Message):
587
592
  ...
588
593
  global___LinearConstraint = LinearConstraint
589
594
 
595
+ @typing.final
596
+ class PseudolinearConstraint(google.protobuf.message.Message):
597
+ """PseudolinearConstraint specifies that the component being moved should not deviate from the straight-line path to their goal by
598
+ more than a factor proportional to the distance from start to goal.
599
+ For example, if a component is moving 100mm, then a LineToleranceFactor of 1.0 means that the component will remain within a 100mm
600
+ radius of the straight-line start-goal path.
601
+ """
602
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
603
+ LINE_TOLERANCE_FACTOR_FIELD_NUMBER: builtins.int
604
+ ORIENTATION_TOLERANCE_FACTOR_FIELD_NUMBER: builtins.int
605
+ line_tolerance_factor: builtins.float
606
+ orientation_tolerance_factor: builtins.float
607
+
608
+ def __init__(self, *, line_tolerance_factor: builtins.float | None=..., orientation_tolerance_factor: builtins.float | None=...) -> None:
609
+ ...
610
+
611
+ def HasField(self, field_name: typing.Literal['_line_tolerance_factor', b'_line_tolerance_factor', '_orientation_tolerance_factor', b'_orientation_tolerance_factor', 'line_tolerance_factor', b'line_tolerance_factor', 'orientation_tolerance_factor', b'orientation_tolerance_factor']) -> builtins.bool:
612
+ ...
613
+
614
+ def ClearField(self, field_name: typing.Literal['_line_tolerance_factor', b'_line_tolerance_factor', '_orientation_tolerance_factor', b'_orientation_tolerance_factor', 'line_tolerance_factor', b'line_tolerance_factor', 'orientation_tolerance_factor', b'orientation_tolerance_factor']) -> None:
615
+ ...
616
+
617
+ @typing.overload
618
+ def WhichOneof(self, oneof_group: typing.Literal['_line_tolerance_factor', b'_line_tolerance_factor']) -> typing.Literal['line_tolerance_factor'] | None:
619
+ ...
620
+
621
+ @typing.overload
622
+ def WhichOneof(self, oneof_group: typing.Literal['_orientation_tolerance_factor', b'_orientation_tolerance_factor']) -> typing.Literal['orientation_tolerance_factor'] | None:
623
+ ...
624
+ global___PseudolinearConstraint = PseudolinearConstraint
625
+
590
626
  @typing.final
591
627
  class OrientationConstraint(google.protobuf.message.Message):
592
628
  """OrientationConstraint specifies that the component being moved will not deviate its orientation beyond some threshold relative
viam/media/video.py CHANGED
@@ -28,7 +28,10 @@ class CameraMimeType(str, Enum):
28
28
  Self: The mimetype
29
29
  """
30
30
  value_mime = value[:-5] if value.endswith("+lazy") else value # ViamImage lazy encodes by default
31
- return cls(value_mime)
31
+ try:
32
+ return cls(value_mime)
33
+ except ValueError:
34
+ raise ValueError(f"Invalid mimetype: {value}")
32
35
 
33
36
  @classmethod
34
37
  def from_proto(cls, format: Format.ValueType) -> "CameraMimeType":
@@ -70,11 +73,11 @@ class ViamImage:
70
73
  """
71
74
 
72
75
  _data: bytes
73
- _mime_type: CameraMimeType
76
+ _mime_type: str
74
77
  _height: Optional[int] = None
75
78
  _width: Optional[int] = None
76
79
 
77
- def __init__(self, data: bytes, mime_type: CameraMimeType) -> None:
80
+ def __init__(self, data: bytes, mime_type: str) -> None:
78
81
  self._data = data
79
82
  self._mime_type = mime_type
80
83
  self._width, self._height = _getDimensions(data, mime_type)
@@ -85,7 +88,7 @@ class ViamImage:
85
88
  return self._data
86
89
 
87
90
  @property
88
- def mime_type(self) -> CameraMimeType:
91
+ def mime_type(self) -> str:
89
92
  """The mime type of the image"""
90
93
  return self._mime_type
91
94
 
@@ -128,12 +131,12 @@ class NamedImage(ViamImage):
128
131
  """The name of the image
129
132
  """
130
133
 
131
- def __init__(self, name: str, data: bytes, mime_type: CameraMimeType) -> None:
134
+ def __init__(self, name: str, data: bytes, mime_type: str) -> None:
132
135
  self.name = name
133
136
  super().__init__(data, mime_type)
134
137
 
135
138
 
136
- def _getDimensions(image: bytes, mime_type: CameraMimeType) -> Tuple[Optional[int], Optional[int]]:
139
+ def _getDimensions(image: bytes, mime_type: str) -> Tuple[Optional[int], Optional[int]]:
137
140
  try:
138
141
  if mime_type == CameraMimeType.JPEG:
139
142
  return _getDimensionsFromJPEG(image)
viam/module/module.py CHANGED
@@ -35,7 +35,7 @@ from viam.robot.client import RobotClient
35
35
  from viam.rpc.dial import DialOptions, _host_port_from_url
36
36
  from viam.rpc.server import Server
37
37
 
38
- # These imports are required to register build-in resources with the registry
38
+ # These imports are required to register built-in resources with the registry
39
39
  from ..components.arm import Arm # noqa: F401
40
40
  from ..components.audio_input import AudioInput # noqa: F401
41
41
  from ..components.base import Base # noqa: F401
@@ -258,10 +258,13 @@ class Module:
258
258
  rn = resource_name_from_string(request.name)
259
259
  resource = self.server.get_resource(ResourceBase, rn)
260
260
  if isinstance(resource, Stoppable):
261
- if iscoroutinefunction(resource.stop):
262
- await resource.stop()
263
- else:
264
- resource.stop()
261
+ try:
262
+ if iscoroutinefunction(resource.stop):
263
+ await resource.stop()
264
+ else:
265
+ resource.stop()
266
+ except Exception as e:
267
+ self.logger.warning(f"Could not remove resource named {resource.name}", exc_info=e)
265
268
  await self.server.remove_resource(rn)
266
269
 
267
270
  async def ready(self, request: ReadyRequest) -> ReadyResponse:
@@ -8,7 +8,12 @@ from ....gen.service.datamanager.v1.data_manager_grpc import (
8
8
  DataManagerServiceStub,
9
9
  UnimplementedDataManagerServiceBase,
10
10
  )
11
- from ....gen.service.datamanager.v1.data_manager_pb2 import SyncRequest, SyncResponse
11
+ from ....gen.service.datamanager.v1.data_manager_pb2 import (
12
+ SyncRequest,
13
+ SyncResponse,
14
+ UploadBinaryDataToDatasetsRequest,
15
+ UploadBinaryDataToDatasetsResponse,
16
+ )
12
17
 
13
18
  __all__ = [
14
19
  "DataManagerServiceBase",
@@ -16,4 +21,6 @@ __all__ = [
16
21
  "UnimplementedDataManagerServiceBase",
17
22
  "SyncRequest",
18
23
  "SyncResponse",
24
+ "UploadBinaryDataToDatasetsRequest",
25
+ "UploadBinaryDataToDatasetsResponse",
19
26
  ]
@@ -30,6 +30,7 @@ from ....gen.service.motion.v1.motion_pb2 import (
30
30
  PlanStatusWithID,
31
31
  PlanStep,
32
32
  PlanWithStatus,
33
+ PseudolinearConstraint,
33
34
  StopPlanRequest,
34
35
  StopPlanResponse,
35
36
  )
@@ -63,6 +64,7 @@ __all__ = [
63
64
  "PlanStatusWithID",
64
65
  "PlanStep",
65
66
  "PlanWithStatus",
67
+ "PseudolinearConstraint",
66
68
  "StopPlanRequest",
67
69
  "StopPlanResponse",
68
70
  ]
viam/resource/manager.py CHANGED
@@ -103,10 +103,11 @@ class ResourceManager:
103
103
  try:
104
104
  resource = self.resources[name]
105
105
  await resource.close()
106
- except Exception as e:
107
- raise e
108
106
  finally:
109
- del self.resources[name]
107
+ try:
108
+ del self.resources[name]
109
+ except KeyError:
110
+ pass
110
111
 
111
112
  async def close(self):
112
113
  """Close the resourcce manager by removing all resources.
@@ -75,7 +75,15 @@ class Motion(ServiceBase):
75
75
  world_state (viam.proto.common.WorldState): When supplied, the motion service will create a plan that obeys any constraints
76
76
  expressed in the WorldState message.
77
77
  constraints (viam.proto.service.motion.Constraints): When supplied, the motion service will create a plan that obeys any
78
- specified constraints.
78
+ specified constraints. These can include:
79
+ - LinearConstraint: Specifies that the component being moved should move linearly relative to its goal.
80
+ - OrientationConstraint: Specifies that the component being moved will not deviate its orientation beyond some threshold
81
+ relative to the goal.
82
+ - CollisionSpecification: Used to selectively apply obstacle avoidance to specific parts of the robot.
83
+ - PseudolinearConstraint: Specifies that the component being moved should not deviate from the straight-line path to their
84
+ goal by more than a factor proportional to the distance from start to goal. For example, if a component is moving 100mm,
85
+ then a LineToleranceFactor of 1.0 means that the component will remain within a 100mm radius of the straight-line
86
+ start-goal path.
79
87
 
80
88
  Returns:
81
89
  bool: Whether the move was successful.
@@ -141,8 +141,8 @@ class Navigation(ServiceBase):
141
141
  await my_nav.add_waypoint(point=location)
142
142
 
143
143
  Args:
144
- point (navigation.GeoPoint): The current location of the robot in the navigation service,
145
- represented in a GeoPoint with latitude and longitude values.
144
+ point (navigation.GeoPoint): A waypoint represented in a GeoPoint with
145
+ latitude and longitude values.
146
146
  timeout (Optional[float]): An option to set how long to wait (in seconds)
147
147
  before calling a time-out and closing the underlying RPC call.
148
148
 
@@ -79,8 +79,7 @@ class VisionRPCService(UnimplementedVisionServiceBase, ResourceRPCServiceBase):
79
79
  extra = struct_to_dict(request.extra)
80
80
  timeout = stream.deadline.time_remaining() if stream.deadline else None
81
81
 
82
- mime_type = CameraMimeType.from_string(request.mime_type)
83
- image = ViamImage(request.image, mime_type)
82
+ image = ViamImage(request.image, request.mime_type)
84
83
 
85
84
  result = await vision.get_detections(image, extra=extra, timeout=timeout)
86
85
  response = GetDetectionsResponse(detections=result)
@@ -105,8 +104,7 @@ class VisionRPCService(UnimplementedVisionServiceBase, ResourceRPCServiceBase):
105
104
  extra = struct_to_dict(request.extra)
106
105
  timeout = stream.deadline.time_remaining() if stream.deadline else None
107
106
 
108
- mime_type = CameraMimeType.from_string(request.mime_type)
109
- image = ViamImage(request.image, mime_type)
107
+ image = ViamImage(request.image, request.mime_type)
110
108
 
111
109
  result = await vision.get_classifications(image, request.n, extra=extra, timeout=timeout)
112
110
  response = GetClassificationsResponse(classifications=result)
viam/version_metadata.py CHANGED
@@ -1,4 +1,4 @@
1
- __version__ = "0.53.0"
1
+ __version__ = "0.54.1b0"
2
2
 
3
- API_VERSION = "v0.1.470"
3
+ API_VERSION = "v0.1.474"
4
4
  SDK_VERSION = __version__
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: viam-sdk
3
- Version: 0.53.0
3
+ Version: 0.54.1b0
4
4
  Summary: Viam Robotics Python SDK
5
5
  Project-URL: Homepage, https://www.viam.com
6
6
  Project-URL: Documentation, https://python.viam.dev
@@ -7,12 +7,12 @@ viam/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  viam/sessions_client.py,sha256=E4ThFCK1HCX_iAvEymvCdJ-H0ZlouzgoIwIE_nywfqc,9414
8
8
  viam/streams.py,sha256=VoM8FSMuGZmv4RPDHQy4FfHvJq36r4NY--gkQoaFkzs,1042
9
9
  viam/utils.py,sha256=xz7qb6bM-2qzOSQSsYHBheBidMbUAlQ2dHCi_GyPFnk,13579
10
- viam/version_metadata.py,sha256=a6C3TEpZmjee7trgMgBHnygzkYTy0ZzSm_DCT-MviH8,75
10
+ viam/version_metadata.py,sha256=FvWa4TEEJIU_XdFpKm3Y2HEWLWf7J4KEU-43uoQq50g,77
11
11
  viam/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
12
  viam/app/_logs.py,sha256=hWxRELRJCux-fQIQtDwztD3odjkBm7Vo8HUQ7XGICek,806
13
13
  viam/app/app_client.py,sha256=65PJBo8el0Mni59N9t4X1ca1LAnzhAAjLGARJoN-f98,115050
14
14
  viam/app/billing_client.py,sha256=-lgpGUnqHKLEmSseQ4gtHGjOT2rMHtO-0yx7dqfSdAk,7234
15
- viam/app/data_client.py,sha256=erdDyWtnXsdMoDwUa7BudL2C7iYf4iKWBCWYlb3iMhk,90519
15
+ viam/app/data_client.py,sha256=HMEPW4zRYzz1XURSkJ5KurPKw3Tr5rygSkyix3SpgaQ,90696
16
16
  viam/app/ml_training_client.py,sha256=qcnVrYETdIRusfHLpIOG8Q-QmqDIU43dKmv0pTJ5mA8,9269
17
17
  viam/app/provisioning_client.py,sha256=Irh3waRpggZe-pPyrgk4D9fAQ48JjDE5spYyIFOJc3Y,3536
18
18
  viam/app/viam_client.py,sha256=82feF_nxWfdZp3i3YgcPcdCBu8m74DElgyI0-0Pa3xc,10820
@@ -39,9 +39,9 @@ viam/components/button/button.py,sha256=JxDDnh0L1R7ssNEcgw6AiiytTgOBPfzTBrUoCg-B
39
39
  viam/components/button/client.py,sha256=nLXYVU9EBqz_mxCcotqrOpIpK_i2wlLZiOlHhTa7l54,1613
40
40
  viam/components/button/service.py,sha256=b60T2QK9EMNaKyfF-MoICFGxbEoxu4LOU9-_hHJW6Xc,1641
41
41
  viam/components/camera/__init__.py,sha256=A6qRK8YNTcGndum2dGrKsytnrzoVRptC-El9U8GDjW0,546
42
- viam/components/camera/camera.py,sha256=-y96Tie8kV1YXj8VZC5CUHda1e7HVpZ_WKrVYxhjs70,5104
43
- viam/components/camera/client.py,sha256=A-hqrNoC8QhPQnanxWtw_HFgoVggMGO4_efzAXcPSpU,3848
44
- viam/components/camera/service.py,sha256=0Aaqz5W3nvLkfvtETA6XKvXJpMZoDC8U14WHmKqLthE,4969
42
+ viam/components/camera/camera.py,sha256=ZDomdim313xw3olU0tfIbVr1-8uae1x-bxLg1GMluog,5248
43
+ viam/components/camera/client.py,sha256=rtcnUFyuFUTTiiRuOE3shiND-8fi9da3iXIHTczrbaI,4185
44
+ viam/components/camera/service.py,sha256=O8GjtOLqFfW4ZFoOBHjqHBp4wNZkop5MhMXS7oyH4JE,5513
45
45
  viam/components/encoder/__init__.py,sha256=J31WFCzGPqHkPTYJEQOzdpB68EoQLdMWpyzBWqhHhYs,362
46
46
  viam/components/encoder/client.py,sha256=KmhyzTkcsbuduNgceEIQHFYO6hIbwg3cM1BgSRWJU4o,3244
47
47
  viam/components/encoder/encoder.py,sha256=rfqQX2MqUwTjndbCOEKefxb4NKuQFQ86fCOhgH9ZEu8,4074
@@ -64,7 +64,7 @@ viam/components/input/input.py,sha256=MxDSvTVPjeHSOpEwPqs3VLEW7MQ-ej59qzOiy6Q8GQ
64
64
  viam/components/input/service.py,sha256=seVmo1iqFXJyYeHUa2jRbBnSiXSYdT2ddWFSgx0hL-Y,7809
65
65
  viam/components/motor/__init__.py,sha256=hNIxJWBce4yozSZiUqUyaIRfPnyspPEFZQ0zxvTHQ3o,308
66
66
  viam/components/motor/client.py,sha256=Vc3eCqfMa2gmqR0dAhIZ1OTVskKxIFu-JVgL4K4_4Tg,6128
67
- viam/components/motor/motor.py,sha256=Q7NjwaaAPZKjOScxtIYlX6LqMAS5g-iwSguf8z4ac5U,9505
67
+ viam/components/motor/motor.py,sha256=835kLqzLJY9mp5N7a1YaEikckTPIMDG5Qj--PK_26JA,9501
68
68
  viam/components/motor/service.py,sha256=qQ7HPhbER9mgIs4dhJS3bulDM5VoRDXH_lkY0Q30rzs,7113
69
69
  viam/components/movement_sensor/__init__.py,sha256=-KF8Xg7qqj-qpkjwey-Qt6e9qUd0FUQx6M8MtvSiuaM,529
70
70
  viam/components/movement_sensor/client.py,sha256=gcBDpFGd0PUxuonbovus7UEb9G7IKMXLwXhjwohkD2E,6555
@@ -76,7 +76,7 @@ viam/components/pose_tracker/pose_tracker.py,sha256=7BpPVK-4AmWqa7Gd8ooT0EKD4HeY
76
76
  viam/components/pose_tracker/service.py,sha256=4cHuPV5In8cMRI8ilHBrKRwiBC1lF3B6AYWwgkWLT9Y,2244
77
77
  viam/components/power_sensor/__init__.py,sha256=yDVDa0NAsklB1eLw_cwESJqu6CPKQg19M3O5ltXohOA,394
78
78
  viam/components/power_sensor/client.py,sha256=bvZN4dZbrgD1qY9RPxQr5fnzLTkBldlSfZ7aCn-5RBE,3381
79
- viam/components/power_sensor/power_sensor.py,sha256=lmInxoM_-mevYFClKpDcxc8IzCQES8_lR-L5vVfGkp0,4464
79
+ viam/components/power_sensor/power_sensor.py,sha256=ikrKvsfZQNmBbJzK_IC8YY2_iuTQlPazzXg-IfedRQQ,4460
80
80
  viam/components/power_sensor/service.py,sha256=bVFDL5V10AWJ2E4eM6maEALqcOlSqtUre2iLlTP5c30,3546
81
81
  viam/components/sensor/__init__.py,sha256=ILCqwvfep3_umYWYcQj8ncnBzQSGPmJAuZ3YjYBU4tY,462
82
82
  viam/components/sensor/client.py,sha256=DzHotTT4kbhCUjIvlZ-nFMr5kvOxvNVTqXbawzyxE5w,2068
@@ -105,7 +105,7 @@ viam/gen/app/cloudslam/v1/cloud_slam_pb2.pyi,sha256=Yg_GCi9rlZOC3wuxPDkiy02MY4L3
105
105
  viam/gen/app/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
106
106
  viam/gen/app/data/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
107
  viam/gen/app/data/v1/data_grpc.py,sha256=g78EJFuLcq5hnmqSsBfTjxoBEFojs78bLujSDRs1YBQ,23289
108
- viam/gen/app/data/v1/data_pb2.py,sha256=VbeUP1WIeWb_fdLKBZq79s-Lc7euyX_F_c9nBqx4kAc,31337
108
+ viam/gen/app/data/v1/data_pb2.py,sha256=O5fSEfnny4eGiIGOFr_62y9Esy2lcRJiVzal3905xcc,33585
109
109
  viam/gen/app/data/v1/data_pb2.pyi,sha256=i3THzIuQSx4Ebr-3D9QyahdrE8gwJDt_hlDeXHmzYdU,70541
110
110
  viam/gen/app/datapipelines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
111
111
  viam/gen/app/datapipelines/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -294,9 +294,9 @@ viam/gen/robot/v1/robot_pb2.pyi,sha256=IwEQFoCUY4HV4j-j_SoGP4MLSUnD82R9-GPhvhjAR
294
294
  viam/gen/service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
295
295
  viam/gen/service/datamanager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
296
296
  viam/gen/service/datamanager/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
297
- viam/gen/service/datamanager/v1/data_manager_grpc.py,sha256=gylyh1SS2jQzaUueuVx9whhgQ458Hnb5VwRRMgMmaHs,2323
298
- viam/gen/service/datamanager/v1/data_manager_pb2.py,sha256=jVD8OvC2deiI-58Adsv1eNT8HoD0edaQGdmhzKNNiPU,2851
299
- viam/gen/service/datamanager/v1/data_manager_pb2.pyi,sha256=nNyxfQkkPfI65PbkgsBK5J_nvBVpNij-Ou0W-B-GeF4,1173
297
+ viam/gen/service/datamanager/v1/data_manager_grpc.py,sha256=aBkzOtNH0-iEHNC-z9_kjjAabS8s0qng8RODjnib0A4,3578
298
+ viam/gen/service/datamanager/v1/data_manager_pb2.py,sha256=xq7r4FQEIyr9yCxS9dT0HIl1qECefGRX5a4baIceGnM,4295
299
+ viam/gen/service/datamanager/v1/data_manager_pb2.pyi,sha256=dvi0If8xsitgWl7Ji8hMMGML0rRGJpiypT-8GNL73Nk,3156
300
300
  viam/gen/service/discovery/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
301
301
  viam/gen/service/discovery/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
302
302
  viam/gen/service/discovery/v1/discovery_grpc.py,sha256=Gywiu81QwZtsjPWzPLGj6QCNLMzpN0r-Iw0IFDLbOYs,2462
@@ -315,8 +315,8 @@ viam/gen/service/mlmodel/v1/mlmodel_pb2.pyi,sha256=sSvn_gpf2zI4wmC-9epYel-WSHNof
315
315
  viam/gen/service/motion/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
316
316
  viam/gen/service/motion/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
317
317
  viam/gen/service/motion/v1/motion_grpc.py,sha256=BBBaS2SqkoAHN5Dzyc5KErsOd6jvMTGkeQe0FDvfhJg,7596
318
- viam/gen/service/motion/v1/motion_pb2.py,sha256=nvdCpxnXLnPbF6jnS9ZuGgqujaswEhOTdGXDTdu0244,16769
319
- viam/gen/service/motion/v1/motion_pb2.pyi,sha256=qHeoIVNDS7wJJmzW7UHw8QraH5742TVlHeJ1Wr7jQLU,40125
318
+ viam/gen/service/motion/v1/motion_pb2.py,sha256=483OYBiaLyoYU4-o40GIJiS_ZPSHuo_UYx8MBJpWupA,17330
319
+ viam/gen/service/motion/v1/motion_pb2.pyi,sha256=Fy9z1MebRYqncQYbK58_otNGoYCBajAtRDwyqr2SYsY,42481
320
320
  viam/gen/service/navigation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
321
321
  viam/gen/service/navigation/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
322
322
  viam/gen/service/navigation/v1/navigation_grpc.py,sha256=khkz1M7yarqzWquHoIbwQPA1c_EBQI8h2Z9YZsZ39MU,10297
@@ -355,12 +355,12 @@ viam/gen/tagger/v1/tagger_pb2.pyi,sha256=HCFLlOxnXs7VX3S8FTyrh0Q-kZLPaP1KRE8p1Tw
355
355
  viam/media/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
356
356
  viam/media/audio.py,sha256=uWwpzYQZCfuLldNfsombV61ju-Tkx8CeVUR6fJyhFdc,380
357
357
  viam/media/viam_rgba.py,sha256=641MhSgRdo3q0FgxaxaPzRk-o8FP1EZx_kdTBOy-A7M,429
358
- viam/media/video.py,sha256=5HOnaqwBuhj2vETNOPwaL3olAw9-i4XCc3pQspV51cs,6831
358
+ viam/media/video.py,sha256=RnM11rG9V1iS0hnfJm2VfPVVVYMBli0dNecaj6E0WrY,6879
359
359
  viam/media/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
360
360
  viam/media/utils/pil/__init__.py,sha256=b8jSuxOzm1o9CMaJ186V5dMufw4_jXZG5g2U_EJ3bKQ,1466
361
361
  viam/media/utils/pil/viam_rgba_plugin.py,sha256=3vIevKK4pnB9EJV_n7bho3XEAzFyuMb3uRTedsvizxI,2563
362
362
  viam/module/__init__.py,sha256=BV5kJ-qjlGJzlHdTyR2fZGblymflEcuJU2bFVqPjyeU,56
363
- viam/module/module.py,sha256=pyQRIXTdOTiIMR_Kv0epZ60WW1egKwUPnJ6NHpmB2Vk,15350
363
+ viam/module/module.py,sha256=MkYhnj7h6_p-Lk91LBLsuqmEvzowbfUQQsG91VxE0HM,15518
364
364
  viam/module/service.py,sha256=QdMVFXWI1aylZOdnSeDUu-LuZ8qIWEs9QihMDyCqnjg,2383
365
365
  viam/module/types.py,sha256=SLcSFN99lon-9q0eqXt5vTELS1HaAyROh27XIzX2LlU,793
366
366
  viam/proto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -410,11 +410,11 @@ viam/proto/rpc/webrtc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
410
410
  viam/proto/rpc/webrtc/grpc.py,sha256=CNHdQn7BUMPArJwysRxxfLERFNvR5KGuyFTxYJGrfX8,749
411
411
  viam/proto/rpc/webrtc/signaling.py,sha256=5mwzpaLe_QeFEo4ZrCUu9osralv4__9GlaWBz9Ufkyk,1522
412
412
  viam/proto/service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
413
- viam/proto/service/datamanager/__init__.py,sha256=Kvw0fwV9fpjQFPUKlQeAPo2trQqpIMC1VATOEmPsRds,456
413
+ viam/proto/service/datamanager/__init__.py,sha256=oSkwzPt7RaVSnN68gG6UOdDk6os7BTbprv_a_expxNU,631
414
414
  viam/proto/service/discovery/__init__.py,sha256=LeUkukFYMjrTbxVUotfzh8AFprxVElrbkOm3m-wmRw0,469
415
415
  viam/proto/service/generic/__init__.py,sha256=srE7y6sr-Fyc17qkCI7oWr3XhZcXxWxP3fVUHk-bj9g,281
416
416
  viam/proto/service/mlmodel/__init__.py,sha256=yZVPMM7nEs_KKkY2cJASboefX7oa4zqcPcL1fFn00As,1218
417
- viam/proto/service/motion/__init__.py,sha256=fePvs_njMkic1l5hQotX5b21Vv6XdH5FFX8edt1_FU8,1522
417
+ viam/proto/service/motion/__init__.py,sha256=HyzFsHU7mBidewgluf1QUjY1hJbG_H1jMrgd6167xI0,1580
418
418
  viam/proto/service/navigation/__init__.py,sha256=gy0ouaHe0yKagUe96YJsSkZtPDxeRbK-a1JbnrHX-lE,1370
419
419
  viam/proto/service/sensors/__init__.py,sha256=KxJi7GVNZTX1uHDsxhBXwizdA_FBNS3uYbHkjD4jezE,541
420
420
  viam/proto/service/shell/__init__.py,sha256=P8ibDuEVerygfLKjuRvaYxa9HWJU2nOtrytnt4j0pPs,994
@@ -425,7 +425,7 @@ viam/proto/tagger/__init__.py,sha256=8qjke19IIdi8HlxjlE9ntAS7GTPzR2SVla8lhslZNTs
425
425
  viam/resource/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
426
426
  viam/resource/base.py,sha256=3HGO5KQ6kgEeFlsyJWYr2Nlem7BYERPrYXyNyvydP2w,3694
427
427
  viam/resource/easy_resource.py,sha256=S8gVJi1FB0XiTrNpmGJC8O8CQLMM9ycBBrOyqz1rLWw,5621
428
- viam/resource/manager.py,sha256=aCJs-a0fHqvV-suiYkIn3CKUnvj-qgsI2FHK5CKj3M0,4913
428
+ viam/resource/manager.py,sha256=5qlw2wvzSefXZWNZZXS-J5DymgeNXeK63V-nVf26mBk,4937
429
429
  viam/resource/registry.py,sha256=XAiJsf3y0C5VnJl-Iy77CqMzFdq1RBLOXqSiFXZ7QmE,7367
430
430
  viam/resource/rpc_client_base.py,sha256=2OqcRHZLShuJqcmKimzU4Wr3VuHGNc8fzV4HbtIOAXU,2054
431
431
  viam/resource/rpc_service_base.py,sha256=f2vGY4mfcdOPCgBVk7EVFKDIwGAPxu66e0XJ55VIen8,1612
@@ -457,11 +457,11 @@ viam/services/mlmodel/service.py,sha256=skMgoq0tzkTMLYdrw2vd6rG8ZtrQM1rCgjm7rB5s
457
457
  viam/services/mlmodel/utils.py,sha256=HlVIQXFFF0qt0p8Rf-xBwnlmhaPJcgGfCBlPe0H5cf8,4324
458
458
  viam/services/motion/__init__.py,sha256=1yhhcPA_srqj65cXeaVBSnHxI_c0bIbAcPpmmsSGpB0,472
459
459
  viam/services/motion/client.py,sha256=0CpqRQHrhiAQJqydcmQ0lvMLdnHLGL3UvFj1LHGVThQ,7233
460
- viam/services/motion/motion.py,sha256=RKtRDTUgeR31hFRNMG91tlZKKDlabM3nnIRRDx1xXfY,18268
460
+ viam/services/motion/motion.py,sha256=1HctT7rJxmnAOSQD8W_02jP0AlLEzJbk_-PR-eD1sjE,19148
461
461
  viam/services/motion/service.py,sha256=ngzgzbY1hqCEt4L-Xxm4csUa3xNrHa8wCSTZ0s3Hi0A,5700
462
462
  viam/services/navigation/__init__.py,sha256=OvgTo-eqhwoHZkX9bq_Ih96d2ziGhCGerDFxj15-6KM,551
463
463
  viam/services/navigation/client.py,sha256=S3lk8acTJw8Hmnw4O3VAD8w-5e7rctjsb0OYM9Ha7HI,4662
464
- viam/services/navigation/navigation.py,sha256=fbAsGRWLOixVlz0x0wlw1-exdITcX1S6YeIvrW_MDXE,10397
464
+ viam/services/navigation/navigation.py,sha256=7sdbQFcsIBIj1NR2PBHHuO3wVUq87x22gAoUJGH6tEY,10347
465
465
  viam/services/navigation/service.py,sha256=WC2qj2b1jj7bz_i0N8eFuDZR4Rrp2CUzFVl7eC1TT48,5953
466
466
  viam/services/slam/__init__.py,sha256=O5ChYt3WAKPOrcdBHo9v2fYSYPo-GL3VXrmBdSzj29Y,462
467
467
  viam/services/slam/client.py,sha256=WOAaERvOQ8Vk8vFblQWDbmpEjm9ZJ5GCWBYv9pdzaSM,2938
@@ -469,9 +469,9 @@ viam/services/slam/service.py,sha256=e0tu63sja2EbeS3OOJTZdjY9pU1ToPzFEuxztS097Dc
469
469
  viam/services/slam/slam.py,sha256=2VgAXcFrAGkckfu2YOR9NGnioKau47E83JroNzbvExE,3964
470
470
  viam/services/vision/__init__.py,sha256=g4Dnz6BFgVZpvE6j6sNwxAc2baZfAKLA6XS2GaGgDcc,464
471
471
  viam/services/vision/client.py,sha256=uaFMlYwKE5N_Qp803aFGfk8k6KCWPKNwUxyV_fnlBp4,7776
472
- viam/services/vision/service.py,sha256=NWV3yY1ZyEbl4rrp28CtX9n-uIgyxSQbbKJTeoIVjCg,6942
472
+ viam/services/vision/service.py,sha256=zQFcnWXSFYDwZQlnfTH5_bH5uXzMej5qjyABWdeV9nk,6826
473
473
  viam/services/vision/vision.py,sha256=MrQsTarahwGMEmqWX4ODCJT5wLOGHXNEuEyTQgOvsg4,12527
474
- viam_sdk-0.53.0.dist-info/METADATA,sha256=R-y4Ggbab7PlKkbAQHEzVWxN3XfNWPBwfDnmHzAg2uc,10320
475
- viam_sdk-0.53.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
476
- viam_sdk-0.53.0.dist-info/licenses/LICENSE,sha256=yVuuHRzgI17MzTVgt3LsHvuX80innw--CmNPDCzO_iw,11358
477
- viam_sdk-0.53.0.dist-info/RECORD,,
474
+ viam_sdk-0.54.1b0.dist-info/METADATA,sha256=RB-ucRQBaAkUtW5cJYkmIhaq3eFgRGA9MXbK3aJKjtM,10322
475
+ viam_sdk-0.54.1b0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
476
+ viam_sdk-0.54.1b0.dist-info/licenses/LICENSE,sha256=yVuuHRzgI17MzTVgt3LsHvuX80innw--CmNPDCzO_iw,11358
477
+ viam_sdk-0.54.1b0.dist-info/RECORD,,