viam-sdk 0.45.2__py3-none-linux_armv6l.whl → 0.47.0__py3-none-linux_armv6l.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.

@@ -622,16 +622,10 @@ class UpdateOrganizationNamespaceRequest(google.protobuf.message.Message):
622
622
  organization_id: builtins.str
623
623
  new_public_namespace: builtins.str
624
624
 
625
- def __init__(self, *, organization_id: builtins.str=..., new_public_namespace: builtins.str | None=...) -> None:
625
+ def __init__(self, *, organization_id: builtins.str=..., new_public_namespace: builtins.str=...) -> None:
626
626
  ...
627
627
 
628
- def HasField(self, field_name: typing.Literal['_new_public_namespace', b'_new_public_namespace', 'new_public_namespace', b'new_public_namespace']) -> builtins.bool:
629
- ...
630
-
631
- def ClearField(self, field_name: typing.Literal['_new_public_namespace', b'_new_public_namespace', 'new_public_namespace', b'new_public_namespace', 'organization_id', b'organization_id']) -> None:
632
- ...
633
-
634
- def WhichOneof(self, oneof_group: typing.Literal['_new_public_namespace', b'_new_public_namespace']) -> typing.Literal['new_public_namespace'] | None:
628
+ def ClearField(self, field_name: typing.Literal['new_public_namespace', b'new_public_namespace', 'organization_id', b'organization_id']) -> None:
635
629
  ...
636
630
  global___UpdateOrganizationNamespaceRequest = UpdateOrganizationNamespaceRequest
637
631
 
@@ -3597,6 +3591,7 @@ class ModuleVersion(google.protobuf.message.Message):
3597
3591
  ENTRYPOINT_FIELD_NUMBER: builtins.int
3598
3592
  FIRST_RUN_FIELD_NUMBER: builtins.int
3599
3593
  MARKDOWN_DESCRIPTION_FIELD_NUMBER: builtins.int
3594
+ APPS_FIELD_NUMBER: builtins.int
3600
3595
  version: builtins.str
3601
3596
  'The semver string that represents the major/minor/patch version of the module'
3602
3597
  entrypoint: builtins.str
@@ -3614,13 +3609,17 @@ class ModuleVersion(google.protobuf.message.Message):
3614
3609
  def models(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Model]:
3615
3610
  """The models that this verion of the module provides"""
3616
3611
 
3617
- def __init__(self, *, version: builtins.str=..., files: collections.abc.Iterable[global___Uploads] | None=..., models: collections.abc.Iterable[global___Model] | None=..., entrypoint: builtins.str=..., first_run: builtins.str | None=..., markdown_description: builtins.str | None=...) -> None:
3612
+ @property
3613
+ def apps(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___App]:
3614
+ """A list of applications associated with the module"""
3615
+
3616
+ def __init__(self, *, version: builtins.str=..., files: collections.abc.Iterable[global___Uploads] | None=..., models: collections.abc.Iterable[global___Model] | None=..., entrypoint: builtins.str=..., first_run: builtins.str | None=..., markdown_description: builtins.str | None=..., apps: collections.abc.Iterable[global___App] | None=...) -> None:
3618
3617
  ...
3619
3618
 
3620
3619
  def HasField(self, field_name: typing.Literal['_first_run', b'_first_run', '_markdown_description', b'_markdown_description', 'first_run', b'first_run', 'markdown_description', b'markdown_description']) -> builtins.bool:
3621
3620
  ...
3622
3621
 
3623
- def ClearField(self, field_name: typing.Literal['_first_run', b'_first_run', '_markdown_description', b'_markdown_description', 'entrypoint', b'entrypoint', 'files', b'files', 'first_run', b'first_run', 'markdown_description', b'markdown_description', 'models', b'models', 'version', b'version']) -> None:
3622
+ def ClearField(self, field_name: typing.Literal['_first_run', b'_first_run', '_markdown_description', b'_markdown_description', 'apps', b'apps', 'entrypoint', b'entrypoint', 'files', b'files', 'first_run', b'first_run', 'markdown_description', b'markdown_description', 'models', b'models', 'version', b'version']) -> None:
3624
3623
  ...
3625
3624
 
3626
3625
  @typing.overload
@@ -3640,6 +3639,7 @@ class ModuleMetadata(google.protobuf.message.Message):
3640
3639
  ENTRYPOINT_FIELD_NUMBER: builtins.int
3641
3640
  FIRST_RUN_FIELD_NUMBER: builtins.int
3642
3641
  MARKDOWN_DESCRIPTION_FIELD_NUMBER: builtins.int
3642
+ APPS_FIELD_NUMBER: builtins.int
3643
3643
  entrypoint: builtins.str
3644
3644
  'The executable to run to start the module program'
3645
3645
  first_run: builtins.str
@@ -3657,13 +3657,17 @@ class ModuleMetadata(google.protobuf.message.Message):
3657
3657
  When this is returned from the backend, the versions are sorted in ascending order by the semver version
3658
3658
  """
3659
3659
 
3660
- def __init__(self, *, models: collections.abc.Iterable[global___Model] | None=..., versions: collections.abc.Iterable[global___ModuleVersion] | None=..., entrypoint: builtins.str=..., first_run: builtins.str | None=..., markdown_description: builtins.str | None=...) -> None:
3660
+ @property
3661
+ def apps(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___App]:
3662
+ """A list of applications associated with the module"""
3663
+
3664
+ def __init__(self, *, models: collections.abc.Iterable[global___Model] | None=..., versions: collections.abc.Iterable[global___ModuleVersion] | None=..., entrypoint: builtins.str=..., first_run: builtins.str | None=..., markdown_description: builtins.str | None=..., apps: collections.abc.Iterable[global___App] | None=...) -> None:
3661
3665
  ...
3662
3666
 
3663
3667
  def HasField(self, field_name: typing.Literal['_first_run', b'_first_run', '_markdown_description', b'_markdown_description', 'first_run', b'first_run', 'markdown_description', b'markdown_description']) -> builtins.bool:
3664
3668
  ...
3665
3669
 
3666
- def ClearField(self, field_name: typing.Literal['_first_run', b'_first_run', '_markdown_description', b'_markdown_description', 'entrypoint', b'entrypoint', 'first_run', b'first_run', 'markdown_description', b'markdown_description', 'models', b'models', 'versions', b'versions']) -> None:
3670
+ def ClearField(self, field_name: typing.Literal['_first_run', b'_first_run', '_markdown_description', b'_markdown_description', 'apps', b'apps', 'entrypoint', b'entrypoint', 'first_run', b'first_run', 'markdown_description', b'markdown_description', 'models', b'models', 'versions', b'versions']) -> None:
3667
3671
  ...
3668
3672
 
3669
3673
  @typing.overload
@@ -4231,6 +4235,7 @@ class UpdateModuleMetadata(google.protobuf.message.Message):
4231
4235
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
4232
4236
  MODELS_FIELD_NUMBER: builtins.int
4233
4237
  ENTRYPOINT_FIELD_NUMBER: builtins.int
4238
+ APPS_FIELD_NUMBER: builtins.int
4234
4239
  entrypoint: builtins.str
4235
4240
  'The executable to run to start the module program'
4236
4241
 
@@ -4238,10 +4243,14 @@ class UpdateModuleMetadata(google.protobuf.message.Message):
4238
4243
  def models(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Model]:
4239
4244
  """A list of models that are available in the module"""
4240
4245
 
4241
- def __init__(self, *, models: collections.abc.Iterable[global___Model] | None=..., entrypoint: builtins.str=...) -> None:
4246
+ @property
4247
+ def apps(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___App]:
4248
+ """A list of applications associated with the module"""
4249
+
4250
+ def __init__(self, *, models: collections.abc.Iterable[global___Model] | None=..., entrypoint: builtins.str=..., apps: collections.abc.Iterable[global___App] | None=...) -> None:
4242
4251
  ...
4243
4252
 
4244
- def ClearField(self, field_name: typing.Literal['entrypoint', b'entrypoint', 'models', b'models']) -> None:
4253
+ def ClearField(self, field_name: typing.Literal['apps', b'apps', 'entrypoint', b'entrypoint', 'models', b'models']) -> None:
4245
4254
  ...
4246
4255
  global___UpdateModuleMetadata = UpdateModuleMetadata
4247
4256
 
@@ -4441,6 +4450,7 @@ class Module(google.protobuf.message.Message):
4441
4450
  PUBLIC_NAMESPACE_FIELD_NUMBER: builtins.int
4442
4451
  FIRST_RUN_FIELD_NUMBER: builtins.int
4443
4452
  MARKDOWN_DESCRIPTION_FIELD_NUMBER: builtins.int
4453
+ APPS_FIELD_NUMBER: builtins.int
4444
4454
  module_id: builtins.str
4445
4455
  "The id of the module (formatted as prefix:name where prefix is the module owner's orgid or namespace)"
4446
4456
  name: builtins.str
@@ -4476,13 +4486,17 @@ class Module(google.protobuf.message.Message):
4476
4486
  def models(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Model]:
4477
4487
  """A list of models that are available in the module"""
4478
4488
 
4479
- def __init__(self, *, module_id: builtins.str=..., name: builtins.str=..., visibility: global___Visibility.ValueType=..., versions: collections.abc.Iterable[global___VersionHistory] | None=..., url: builtins.str=..., description: builtins.str=..., models: collections.abc.Iterable[global___Model] | None=..., total_robot_usage: builtins.int=..., total_organization_usage: builtins.int=..., organization_id: builtins.str=..., entrypoint: builtins.str=..., public_namespace: builtins.str=..., first_run: builtins.str | None=..., markdown_description: builtins.str | None=...) -> None:
4489
+ @property
4490
+ def apps(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___App]:
4491
+ """A list of applications associated with the module"""
4492
+
4493
+ def __init__(self, *, module_id: builtins.str=..., name: builtins.str=..., visibility: global___Visibility.ValueType=..., versions: collections.abc.Iterable[global___VersionHistory] | None=..., url: builtins.str=..., description: builtins.str=..., models: collections.abc.Iterable[global___Model] | None=..., total_robot_usage: builtins.int=..., total_organization_usage: builtins.int=..., organization_id: builtins.str=..., entrypoint: builtins.str=..., public_namespace: builtins.str=..., first_run: builtins.str | None=..., markdown_description: builtins.str | None=..., apps: collections.abc.Iterable[global___App] | None=...) -> None:
4480
4494
  ...
4481
4495
 
4482
4496
  def HasField(self, field_name: typing.Literal['_first_run', b'_first_run', '_markdown_description', b'_markdown_description', 'first_run', b'first_run', 'markdown_description', b'markdown_description']) -> builtins.bool:
4483
4497
  ...
4484
4498
 
4485
- def ClearField(self, field_name: typing.Literal['_first_run', b'_first_run', '_markdown_description', b'_markdown_description', 'description', b'description', 'entrypoint', b'entrypoint', 'first_run', b'first_run', 'markdown_description', b'markdown_description', 'models', b'models', 'module_id', b'module_id', 'name', b'name', 'organization_id', b'organization_id', 'public_namespace', b'public_namespace', 'total_organization_usage', b'total_organization_usage', 'total_robot_usage', b'total_robot_usage', 'url', b'url', 'versions', b'versions', 'visibility', b'visibility']) -> None:
4499
+ def ClearField(self, field_name: typing.Literal['_first_run', b'_first_run', '_markdown_description', b'_markdown_description', 'apps', b'apps', 'description', b'description', 'entrypoint', b'entrypoint', 'first_run', b'first_run', 'markdown_description', b'markdown_description', 'models', b'models', 'module_id', b'module_id', 'name', b'name', 'organization_id', b'organization_id', 'public_namespace', b'public_namespace', 'total_organization_usage', b'total_organization_usage', 'total_robot_usage', b'total_robot_usage', 'url', b'url', 'versions', b'versions', 'visibility', b'visibility']) -> None:
4486
4500
  ...
4487
4501
 
4488
4502
  @typing.overload
@@ -4503,6 +4517,7 @@ class VersionHistory(google.protobuf.message.Message):
4503
4517
  ENTRYPOINT_FIELD_NUMBER: builtins.int
4504
4518
  FIRST_RUN_FIELD_NUMBER: builtins.int
4505
4519
  MARKDOWN_DESCRIPTION_FIELD_NUMBER: builtins.int
4520
+ APPS_FIELD_NUMBER: builtins.int
4506
4521
  version: builtins.str
4507
4522
  'The semver string that represents the major/minor/patch version of the module'
4508
4523
  entrypoint: builtins.str
@@ -4520,13 +4535,17 @@ class VersionHistory(google.protobuf.message.Message):
4520
4535
  def models(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Model]:
4521
4536
  """The models that this verion of the module provides"""
4522
4537
 
4523
- def __init__(self, *, version: builtins.str=..., files: collections.abc.Iterable[global___Uploads] | None=..., models: collections.abc.Iterable[global___Model] | None=..., entrypoint: builtins.str=..., first_run: builtins.str | None=..., markdown_description: builtins.str | None=...) -> None:
4538
+ @property
4539
+ def apps(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___App]:
4540
+ """A list of applications associated with the module"""
4541
+
4542
+ def __init__(self, *, version: builtins.str=..., files: collections.abc.Iterable[global___Uploads] | None=..., models: collections.abc.Iterable[global___Model] | None=..., entrypoint: builtins.str=..., first_run: builtins.str | None=..., markdown_description: builtins.str | None=..., apps: collections.abc.Iterable[global___App] | None=...) -> None:
4524
4543
  ...
4525
4544
 
4526
4545
  def HasField(self, field_name: typing.Literal['_first_run', b'_first_run', '_markdown_description', b'_markdown_description', 'first_run', b'first_run', 'markdown_description', b'markdown_description']) -> builtins.bool:
4527
4546
  ...
4528
4547
 
4529
- def ClearField(self, field_name: typing.Literal['_first_run', b'_first_run', '_markdown_description', b'_markdown_description', 'entrypoint', b'entrypoint', 'files', b'files', 'first_run', b'first_run', 'markdown_description', b'markdown_description', 'models', b'models', 'version', b'version']) -> None:
4548
+ def ClearField(self, field_name: typing.Literal['_first_run', b'_first_run', '_markdown_description', b'_markdown_description', 'apps', b'apps', 'entrypoint', b'entrypoint', 'files', b'files', 'first_run', b'first_run', 'markdown_description', b'markdown_description', 'models', b'models', 'version', b'version']) -> None:
4530
4549
  ...
4531
4550
 
4532
4551
  @typing.overload
@@ -8,7 +8,7 @@ _runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC,
8
8
  _sym_db = _symbol_database.Default()
9
9
  from ...app.v1 import robot_pb2 as app_dot_v1_dot_robot__pb2
10
10
  from ...robot.v1 import robot_pb2 as robot_dot_v1_dot_robot__pb2
11
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16module/v1/module.proto\x12\x0eviam.module.v1\x1a\x12app/v1/robot.proto\x1a\x14robot/v1/robot.proto"n\n\x12AddResourceRequest\x124\n\x06config\x18\x01 \x01(\x0b2\x1c.viam.app.v1.ComponentConfigR\x06config\x12"\n\x0cdependencies\x18\x02 \x03(\tR\x0cdependencies"\x15\n\x13AddResourceResponse"v\n\x1aReconfigureResourceRequest\x124\n\x06config\x18\x01 \x01(\x0b2\x1c.viam.app.v1.ComponentConfigR\x06config\x12"\n\x0cdependencies\x18\x02 \x03(\tR\x0cdependencies"\x1d\n\x1bReconfigureResourceResponse"+\n\x15RemoveResourceRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x18\n\x16RemoveResourceResponse"h\n\x11HandlerDefinition\x12;\n\x07subtype\x18\x01 \x01(\x0b2!.viam.robot.v1.ResourceRPCSubtypeR\x07subtype\x12\x16\n\x06models\x18\x02 \x03(\tR\x06models"K\n\nHandlerMap\x12=\n\x08handlers\x18\x01 \x03(\x0b2!.viam.module.v1.HandlerDefinitionR\x08handlers"X\n\x0cReadyRequest\x12%\n\x0eparent_address\x18\x01 \x01(\tR\rparentAddress\x12!\n\x0cwebrtc_offer\x18\x02 \x01(\tR\x0bwebrtcOffer"\x86\x01\n\rReadyResponse\x12\x14\n\x05ready\x18\x01 \x01(\x08R\x05ready\x12:\n\nhandlermap\x18\x02 \x01(\x0b2\x1a.viam.module.v1.HandlerMapR\nhandlermap\x12#\n\rwebrtc_answer\x18\x03 \x01(\tR\x0cwebrtcAnswer"M\n\x15ValidateConfigRequest\x124\n\x06config\x18\x01 \x01(\x0b2\x1c.viam.app.v1.ComponentConfigR\x06config"<\n\x16ValidateConfigResponse\x12"\n\x0cdependencies\x18\x01 \x03(\tR\x0cdependencies2\xdf\x03\n\rModuleService\x12V\n\x0bAddResource\x12".viam.module.v1.AddResourceRequest\x1a#.viam.module.v1.AddResourceResponse\x12n\n\x13ReconfigureResource\x12*.viam.module.v1.ReconfigureResourceRequest\x1a+.viam.module.v1.ReconfigureResourceResponse\x12_\n\x0eRemoveResource\x12%.viam.module.v1.RemoveResourceRequest\x1a&.viam.module.v1.RemoveResourceResponse\x12D\n\x05Ready\x12\x1c.viam.module.v1.ReadyRequest\x1a\x1d.viam.module.v1.ReadyResponse\x12_\n\x0eValidateConfig\x12%.viam.module.v1.ValidateConfigRequest\x1a&.viam.module.v1.ValidateConfigResponseB\x1bZ\x19go.viam.com/api/module/v1b\x06proto3')
11
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16module/v1/module.proto\x12\x0eviam.module.v1\x1a\x12app/v1/robot.proto\x1a\x14robot/v1/robot.proto"n\n\x12AddResourceRequest\x124\n\x06config\x18\x01 \x01(\x0b2\x1c.viam.app.v1.ComponentConfigR\x06config\x12"\n\x0cdependencies\x18\x02 \x03(\tR\x0cdependencies"\x15\n\x13AddResourceResponse"v\n\x1aReconfigureResourceRequest\x124\n\x06config\x18\x01 \x01(\x0b2\x1c.viam.app.v1.ComponentConfigR\x06config\x12"\n\x0cdependencies\x18\x02 \x03(\tR\x0cdependencies"\x1d\n\x1bReconfigureResourceResponse"+\n\x15RemoveResourceRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x18\n\x16RemoveResourceResponse"h\n\x11HandlerDefinition\x12;\n\x07subtype\x18\x01 \x01(\x0b2!.viam.robot.v1.ResourceRPCSubtypeR\x07subtype\x12\x16\n\x06models\x18\x02 \x03(\tR\x06models"K\n\nHandlerMap\x12=\n\x08handlers\x18\x01 \x03(\x0b2!.viam.module.v1.HandlerDefinitionR\x08handlers"X\n\x0cReadyRequest\x12%\n\x0eparent_address\x18\x01 \x01(\tR\rparentAddress\x12!\n\x0cwebrtc_offer\x18\x02 \x01(\tR\x0bwebrtcOffer"\x86\x01\n\rReadyResponse\x12\x14\n\x05ready\x18\x01 \x01(\x08R\x05ready\x12:\n\nhandlermap\x18\x02 \x01(\x0b2\x1a.viam.module.v1.HandlerMapR\nhandlermap\x12#\n\rwebrtc_answer\x18\x03 \x01(\tR\x0cwebrtcAnswer"M\n\x15ValidateConfigRequest\x124\n\x06config\x18\x01 \x01(\x0b2\x1c.viam.app.v1.ComponentConfigR\x06config"q\n\x16ValidateConfigResponse\x12"\n\x0cdependencies\x18\x01 \x03(\tR\x0cdependencies\x123\n\x15optional_dependencies\x18\x02 \x03(\tR\x14optionalDependencies2\xdf\x03\n\rModuleService\x12V\n\x0bAddResource\x12".viam.module.v1.AddResourceRequest\x1a#.viam.module.v1.AddResourceResponse\x12n\n\x13ReconfigureResource\x12*.viam.module.v1.ReconfigureResourceRequest\x1a+.viam.module.v1.ReconfigureResourceResponse\x12_\n\x0eRemoveResource\x12%.viam.module.v1.RemoveResourceRequest\x1a&.viam.module.v1.RemoveResourceResponse\x12D\n\x05Ready\x12\x1c.viam.module.v1.ReadyRequest\x1a\x1d.viam.module.v1.ReadyResponse\x12_\n\x0eValidateConfig\x12%.viam.module.v1.ValidateConfigRequest\x1a&.viam.module.v1.ValidateConfigResponseB\x1bZ\x19go.viam.com/api/module/v1b\x06proto3')
12
12
  _globals = globals()
13
13
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
14
14
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'module.v1.module_pb2', _globals)
@@ -38,6 +38,6 @@ if not _descriptor._USE_C_DESCRIPTORS:
38
38
  _globals['_VALIDATECONFIGREQUEST']._serialized_start = 851
39
39
  _globals['_VALIDATECONFIGREQUEST']._serialized_end = 928
40
40
  _globals['_VALIDATECONFIGRESPONSE']._serialized_start = 930
41
- _globals['_VALIDATECONFIGRESPONSE']._serialized_end = 990
42
- _globals['_MODULESERVICE']._serialized_start = 993
43
- _globals['_MODULESERVICE']._serialized_end = 1472
41
+ _globals['_VALIDATECONFIGRESPONSE']._serialized_end = 1043
42
+ _globals['_MODULESERVICE']._serialized_start = 1046
43
+ _globals['_MODULESERVICE']._serialized_end = 1525
@@ -198,14 +198,19 @@ global___ValidateConfigRequest = ValidateConfigRequest
198
198
  class ValidateConfigResponse(google.protobuf.message.Message):
199
199
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
200
200
  DEPENDENCIES_FIELD_NUMBER: builtins.int
201
+ OPTIONAL_DEPENDENCIES_FIELD_NUMBER: builtins.int
201
202
 
202
203
  @property
203
204
  def dependencies(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
204
205
  ...
205
206
 
206
- def __init__(self, *, dependencies: collections.abc.Iterable[builtins.str] | None=...) -> None:
207
+ @property
208
+ def optional_dependencies(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
209
+ ...
210
+
211
+ def __init__(self, *, dependencies: collections.abc.Iterable[builtins.str] | None=..., optional_dependencies: collections.abc.Iterable[builtins.str] | None=...) -> None:
207
212
  ...
208
213
 
209
- def ClearField(self, field_name: typing.Literal['dependencies', b'dependencies']) -> None:
214
+ def ClearField(self, field_name: typing.Literal['dependencies', b'dependencies', 'optional_dependencies', b'optional_dependencies']) -> None:
210
215
  ...
211
216
  global___ValidateConfigResponse = ValidateConfigResponse
@@ -225,7 +225,7 @@ class TransformPCDRequest(google.protobuf.message.Message):
225
225
  SOURCE_FIELD_NUMBER: builtins.int
226
226
  DESTINATION_FIELD_NUMBER: builtins.int
227
227
  point_cloud_pcd: builtins.bytes
228
- 'the point clouds to transform. This should be in the PCD format\n encoded into bytes: https://pointclouds.org/documentation/tutorials/pcd_file_format.html\n '
228
+ 'the point clouds to transform. This should be in the PCD format,\n [encoded into bytes](https://pointclouds.org/documentation/tutorials/pcd_file_format.html).\n '
229
229
  source: builtins.str
230
230
  'the reference frame of the point cloud.'
231
231
  destination: builtins.str
@@ -117,7 +117,7 @@ class GetPointCloudMapResponse(google.protobuf.message.Message):
117
117
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
118
118
  POINT_CLOUD_PCD_CHUNK_FIELD_NUMBER: builtins.int
119
119
  point_cloud_pcd_chunk: builtins.bytes
120
- 'One chunk of the PointCloud.\n For a given GetPointCloudMap request, concatenating all\n GetPointCloudMapResponse.point_cloud_pcd_chunk values in the\n order received result in the complete pointcloud in standard PCD\n format where XY is the ground plane and positive Z is up, following\n the Right Hand Rule.\n\n Read more about the pointcloud format here:\n https://pointclouds.org/documentation/tutorials/pcd_file_format.html\n\n Viam expects pointcloud data with fields "x y z" or "x y z rgb", and for\n this to be specified in the pointcloud header in the FIELDS entry. If color\n data is included in the pointcloud, Viam\'s services assume that the color\n value encodes a confidence score for that data point. Viam expects the\n confidence score to be encoded in the blue parameter of the RGB value, on a\n scale from 1-100.\n\n Pointclouds are little endian encoded.\n '
120
+ 'One chunk of the PointCloud.\n For a given GetPointCloudMap request, concatenating all\n GetPointCloudMapResponse.point_cloud_pcd_chunk values in the\n order received result in the complete pointcloud in standard PCD\n format where XY is the ground plane and positive Z is up, following\n the Right Hand Rule.\n\n Read more about the pointcloud format\n [in the docs](https://pointclouds.org/documentation/tutorials/pcd_file_format.html)\n\n Viam expects pointcloud data with fields "x y z" or "x y z rgb", and for\n this to be specified in the pointcloud header in the FIELDS entry. If color\n data is included in the pointcloud, Viam\'s services assume that the color\n value encodes a confidence score for that data point. Viam expects the\n confidence score to be encoded in the blue parameter of the RGB value, on a\n scale from 1-100.\n\n Pointclouds are little endian encoded.\n '
121
121
 
122
122
  def __init__(self, *, point_cloud_pcd_chunk: builtins.bytes=...) -> None:
123
123
  ...
viam/module/module.py CHANGED
@@ -3,6 +3,7 @@ import io
3
3
  import logging as pylogging
4
4
  import os
5
5
  import sys
6
+ from collections.abc import Iterable
6
7
  from inspect import iscoroutinefunction
7
8
  from threading import Lock
8
9
  from typing import List, Mapping, Optional, Sequence, Tuple
@@ -275,7 +276,28 @@ class Module:
275
276
  model = Model.from_string(config.model)
276
277
  validator = Registry.lookup_validator(api, model)
277
278
  try:
278
- dependencies = validator(config)
279
- return ValidateConfigResponse(dependencies=dependencies)
279
+ # backwards compatibility. Support both ([], []) or [] with deprecation warning.
280
+ # If user's validate returns [str], it will be treated as required dependencies only.
281
+ # Incorect formats, e.g. int, will raise ValidationError.
282
+ _validator_return_test = validator(config)
283
+ if not (isinstance(_validator_return_test, tuple) and len(_validator_return_test) == 2):
284
+ msg = f"Your validate function {validator.__name__} did not return \
285
+ type tuple[Sequence[str], Sequence[str]]. Got {_validator_return_test}."
286
+ self.logger.warning(msg)
287
+ if (isinstance(_validator_return_test, Iterable) and not isinstance(_validator_return_test, str)) and all(
288
+ isinstance(e, str)
289
+ for e in _validator_return_test # type: ignore
290
+ ):
291
+ self.logger.warning(
292
+ f"Detected deprecated validate function signature. \
293
+ Treating all dependencies {_validator_return_test} as required dependencies. \
294
+ Please update to new signature Tuple[Sequence[str], Sequence[str]] soon."
295
+ )
296
+ return ValidateConfigResponse(dependencies=_validator_return_test)
297
+ else:
298
+ raise ValidationError(msg)
299
+
300
+ dependencies, optional_dependencies = _validator_return_test
301
+ return ValidateConfigResponse(dependencies=dependencies, optional_dependencies=optional_dependencies)
280
302
  except Exception as e:
281
303
  raise ValidationError(f"{type(Exception)}: {e}").grpc_error
@@ -1,7 +1,7 @@
1
1
  import inspect
2
2
  import re
3
3
  from abc import ABCMeta
4
- from typing import Callable, ClassVar, Mapping, Sequence, Union
4
+ from typing import Callable, ClassVar, Mapping, Sequence, Tuple, Union
5
5
 
6
6
  from viam.proto.app.robot import ComponentConfig
7
7
  from viam.proto.common import ResourceName
@@ -122,7 +122,7 @@ class EasyResource:
122
122
  return self
123
123
 
124
124
  @classmethod
125
- def validate_config(cls, config: ComponentConfig) -> Sequence[str]:
125
+ def validate_config(cls, config: ComponentConfig) -> Tuple[Sequence[str], Sequence[str]]:
126
126
  """This method allows you to validate the configuration object received from the machine,
127
127
  as well as to return any implicit dependencies based on that `config`.
128
128
 
@@ -130,9 +130,9 @@ class EasyResource:
130
130
  config (ComponentConfig): The configuration for this resource
131
131
 
132
132
  Returns:
133
- Sequence[str]: A list of implicit dependencies
133
+ Tuple[Sequence[str], Sequence[str]]: One list of required implicit dependencies and one of optional deps.
134
134
  """
135
- return []
135
+ return [], []
136
136
 
137
137
  @classmethod
138
138
  def register(cls):
viam/resource/registry.py CHANGED
@@ -27,7 +27,7 @@ class ResourceCreatorRegistration:
27
27
  """A function that can create a resource given a mapping of dependencies (``ResourceName`` to ``ResourceBase``
28
28
  """
29
29
 
30
- validator: "Validator" = lambda x: []
30
+ validator: "Validator" = lambda x: ([], [])
31
31
  """A function that can validate a resource and return implicit dependencies.
32
32
 
33
33
  If called without a validator function, default to a function returning an empty Sequence
@@ -170,7 +170,7 @@ class Registry:
170
170
  try:
171
171
  return cls._RESOURCES[f"{api}/{model}"].validator
172
172
  except AttributeError:
173
- return lambda x: []
173
+ return lambda x: ([], [])
174
174
  except KeyError:
175
175
  raise ResourceNotFoundError(api.resource_type, api.resource_subtype)
176
176
 
viam/resource/types.py CHANGED
@@ -1,6 +1,6 @@
1
1
  import re
2
2
  import sys
3
- from typing import TYPE_CHECKING, Callable, ClassVar, Mapping, Optional, Protocol, Sequence, runtime_checkable
3
+ from typing import TYPE_CHECKING, Callable, ClassVar, Mapping, Optional, Protocol, Sequence, Tuple, runtime_checkable
4
4
 
5
5
  if sys.version_info >= (3, 10):
6
6
  from typing import TypeAlias
@@ -203,7 +203,7 @@ def resource_name_from_string(string: str) -> ResourceName:
203
203
 
204
204
 
205
205
  ResourceCreator: TypeAlias = Callable[[ComponentConfig, Mapping[ResourceName, "ResourceBase"]], "ResourceBase"]
206
- Validator: TypeAlias = Callable[[ComponentConfig], Sequence[str]]
206
+ Validator: TypeAlias = Callable[[ComponentConfig], Tuple[Sequence[str], Sequence[str]]]
207
207
 
208
208
 
209
209
  @runtime_checkable
Binary file
viam/version_metadata.py CHANGED
@@ -1,4 +1,4 @@
1
- __version__ = "0.45.2"
1
+ __version__ = "0.47.0"
2
2
 
3
- API_VERSION = "v0.1.432"
3
+ API_VERSION = "v0.1.437"
4
4
  SDK_VERSION = __version__
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: viam-sdk
3
- Version: 0.45.2
3
+ Version: 0.47.0
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
@@ -6,12 +6,12 @@ viam/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  viam/sessions_client.py,sha256=E4ThFCK1HCX_iAvEymvCdJ-H0ZlouzgoIwIE_nywfqc,9414
7
7
  viam/streams.py,sha256=VoM8FSMuGZmv4RPDHQy4FfHvJq36r4NY--gkQoaFkzs,1042
8
8
  viam/utils.py,sha256=xz7qb6bM-2qzOSQSsYHBheBidMbUAlQ2dHCi_GyPFnk,13579
9
- viam/version_metadata.py,sha256=aRoXDWKw43HwJpHldU4RUh3MQvSMLhqzXEJXL5S7A7Y,75
9
+ viam/version_metadata.py,sha256=eukUREKq_2FPu6RinvsfKUpNmEuHXG_eSHPj7ptyrhM,75
10
10
  viam/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  viam/app/_logs.py,sha256=hWxRELRJCux-fQIQtDwztD3odjkBm7Vo8HUQ7XGICek,806
12
- viam/app/app_client.py,sha256=bD_qU_kU0jAPR7qt5iBe6KzcbPrHU_CWHVFzzMhFXQY,106279
12
+ viam/app/app_client.py,sha256=kTQOyrN1LTRDEcozTcwAK-IDzmZ_YL0cCfbmVWKLiJ0,114986
13
13
  viam/app/billing_client.py,sha256=eZ0KOpKOVEcqPxzAhUfn3XXJdhwAPVv_jPbIg1sc0uk,5767
14
- viam/app/data_client.py,sha256=mmqXw5xtGLNHm0zSZmEPNUf7eDSVM9VfUJMQUzLLA7U,75418
14
+ viam/app/data_client.py,sha256=f2kcr9bLWWbobwfjV4VzbNowPn9Io--n3Xfh5TM98sE,87278
15
15
  viam/app/ml_training_client.py,sha256=qcnVrYETdIRusfHLpIOG8Q-QmqDIU43dKmv0pTJ5mA8,9269
16
16
  viam/app/provisioning_client.py,sha256=Irh3waRpggZe-pPyrgk4D9fAQ48JjDE5spYyIFOJc3Y,3536
17
17
  viam/app/viam_client.py,sha256=fJYa79_WwHFRKcDBzJWzV7Hgo0U1CBwoaDuW8vhkWLU,10820
@@ -129,8 +129,8 @@ viam/gen/app/mlinference/v1/ml_inference_pb2.pyi,sha256=F7Rd9y3rZoM3KZ114xxF8Klb
129
129
  viam/gen/app/mltraining/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
130
130
  viam/gen/app/mltraining/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
131
131
  viam/gen/app/mltraining/v1/ml_training_grpc.py,sha256=pNG71h3FqXQBHsfEgRA8GOm_MxKjN-4lAjkDJINjrJU,8047
132
- viam/gen/app/mltraining/v1/ml_training_pb2.py,sha256=8_rk9-JamJUfEAhS64AG1_vp8yUxu6PoC0jwk1LdIno,19627
133
- viam/gen/app/mltraining/v1/ml_training_pb2.pyi,sha256=1boVJgPntKoEof4FqfWoqL8DrtigYfUQFl1BM-oOZgQ,17754
132
+ viam/gen/app/mltraining/v1/ml_training_pb2.py,sha256=blCC52-wPG9SaJBfkBSTf5hr7NIKdw6PT5yJKYjJF2M,20456
133
+ viam/gen/app/mltraining/v1/ml_training_pb2.pyi,sha256=hCmnEVRJvQIATIguh--GC4-xjv2gGVE_bUoarM3QHxc,18517
134
134
  viam/gen/app/packages/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
135
135
  viam/gen/app/packages/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
136
136
  viam/gen/app/packages/v1/packages_grpc.py,sha256=r_wO6tv0MEzVhRIA2R6ryJWCRkxzW6IUatpr8tkMJgI,4260
@@ -138,8 +138,8 @@ viam/gen/app/packages/v1/packages_pb2.py,sha256=U8kM0VeKTU-H-amKifi2Tl3QcgAegik4
138
138
  viam/gen/app/packages/v1/packages_pb2.pyi,sha256=PAjZSC90Qips9F-Q674SUFRreXXeAKqzK9fi2GVRs7g,12510
139
139
  viam/gen/app/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
140
140
  viam/gen/app/v1/app_grpc.py,sha256=qlrZrjwz3Mg-j-EHA02pC8j5uWswfoA0066UwY1LX0s,91027
141
- viam/gen/app/v1/app_pb2.py,sha256=BmSiEB0OmlblLHIYnZ2Wtvnd8an1Rn_mS9i752qqt3U,107766
142
- viam/gen/app/v1/app_pb2.pyi,sha256=kz-PTXjei6KnyMljecX367ARjl3FT12T56-mvlvJkdo,221445
141
+ viam/gen/app/v1/app_pb2.py,sha256=HMNMMXKsy5aQ1E7fBQ3iWQoU7nr_EAO3d0TkL31bpFA,108033
142
+ viam/gen/app/v1/app_pb2.pyi,sha256=kNajS0Gva8a4QAHWfZjbH2U0aAUY5TGt_KqMnA725z0,222507
143
143
  viam/gen/app/v1/billing_grpc.py,sha256=pbyQssF9YmzQnk_dPGwjIef0_SUs63GURCCSwd6T7wI,7241
144
144
  viam/gen/app/v1/billing_pb2.py,sha256=HRLlgGrDAPSzVlj-Va92KcMHipFqPNpnTPziqAHOyXg,14364
145
145
  viam/gen/app/v1/billing_pb2.pyi,sha256=KzMVKP1_f8BSFlem-jPZfWidtM5dHz_LRUPS0aZaKF0,21387
@@ -253,8 +253,8 @@ viam/gen/component/testecho/v1/testecho_pb2.pyi,sha256=TQIFfPEDgV4yNSoQ4kE2vcUYO
253
253
  viam/gen/module/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
254
254
  viam/gen/module/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
255
255
  viam/gen/module/v1/module_grpc.py,sha256=X4EetljMX9UQqF0wNB-wGqT9MyQFC1uIIvmAYSrmuXA,4773
256
- viam/gen/module/v1/module_pb2.py,sha256=WU47C0_HavD7JuxtDSHCiMOOi5WfGhgYxxKPW88WhX8,4580
257
- viam/gen/module/v1/module_pb2.pyi,sha256=iSKimKkTzUKqdkJhXJ0LJa7wfLSTZn8bR_Q1deXGhIY,7271
256
+ viam/gen/module/v1/module_pb2.py,sha256=TA-iXzHjzAwjz1NqQ2Vh-pxVsATXasMkLx1QenbU9ug,4655
257
+ viam/gen/module/v1/module_pb2.pyi,sha256=Mt6j2yNdhrm2Go_JbbhIlUBaMy31Zt-eLwQvGcwjvsM,7595
258
258
  viam/gen/proto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
259
259
  viam/gen/proto/rpc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
260
260
  viam/gen/proto/rpc/examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -289,7 +289,7 @@ viam/gen/robot/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
289
289
  viam/gen/robot/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
290
290
  viam/gen/robot/v1/robot_grpc.py,sha256=upE5425Mw2vNLtkVOuHabsJFbBH_SZGeDV24Dq-tl_g,19932
291
291
  viam/gen/robot/v1/robot_pb2.py,sha256=C5yCSwx_I715RQZvaY0QFph7r3OxgPSxmqYAalsluC4,25919
292
- viam/gen/robot/v1/robot_pb2.pyi,sha256=X_KWnxFBAHsId4OAROE_qV1ClZ0eWndYUc2bGNIjwvU,40196
292
+ viam/gen/robot/v1/robot_pb2.pyi,sha256=0X9N8-Nu9qaHCcfXesUklzpBYV5EJa19z7d6PzsHnxQ,40200
293
293
  viam/gen/service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
294
294
  viam/gen/service/datamanager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
295
295
  viam/gen/service/datamanager/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -335,7 +335,7 @@ viam/gen/service/slam/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
335
335
  viam/gen/service/slam/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
336
336
  viam/gen/service/slam/v1/slam_grpc.py,sha256=mklOC5tao9FAl6vO9ytc_DKaBBX3N7aCh_9ld444e9M,4983
337
337
  viam/gen/service/slam/v1/slam_pb2.py,sha256=q0cWCGHeOUEDNpBYM1aoXDTrOHFUotcupRkjE9rFyA0,6540
338
- viam/gen/service/slam/v1/slam_pb2.pyi,sha256=vJk6kDVnWgOkmi_f5lFz2-BdXqNIxnjc4c7vKmVnFJE,9604
338
+ viam/gen/service/slam/v1/slam_pb2.pyi,sha256=0Rc6UFOv0lSgRIG7Vlv9m9QVT_zJT_WCeKzkEN_9MGo,9613
339
339
  viam/gen/service/vision/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
340
340
  viam/gen/service/vision/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
341
341
  viam/gen/service/vision/v1/vision_grpc.py,sha256=-VsVHersXOyHq-OB0BC4AeM9Ij2JHczxFoRU85w8FcQ,8608
@@ -359,7 +359,7 @@ viam/media/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,
359
359
  viam/media/utils/pil/__init__.py,sha256=b8jSuxOzm1o9CMaJ186V5dMufw4_jXZG5g2U_EJ3bKQ,1466
360
360
  viam/media/utils/pil/viam_rgba_plugin.py,sha256=3vIevKK4pnB9EJV_n7bho3XEAzFyuMb3uRTedsvizxI,2563
361
361
  viam/module/__init__.py,sha256=BV5kJ-qjlGJzlHdTyR2fZGblymflEcuJU2bFVqPjyeU,56
362
- viam/module/module.py,sha256=p2uR5uSdRn8Wl5WoSouwYzxsO4zZ0D4IjG5sbRi4CLc,11907
362
+ viam/module/module.py,sha256=u1o-wRO-HSmEfCDFGpVCTXu13jqED4XhQsEwKm_uPfs,13436
363
363
  viam/module/service.py,sha256=QdMVFXWI1aylZOdnSeDUu-LuZ8qIWEs9QihMDyCqnjg,2383
364
364
  viam/module/types.py,sha256=SLcSFN99lon-9q0eqXt5vTELS1HaAyROh27XIzX2LlU,793
365
365
  viam/proto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -423,18 +423,18 @@ viam/proto/stream/__init__.py,sha256=ZTjtPqIsjEiH5AkXj2yqgJesAkTx2Z4iJzKRZKZg7Bs
423
423
  viam/proto/tagger/__init__.py,sha256=8qjke19IIdi8HlxjlE9ntAS7GTPzR2SVla8lhslZNTs,64
424
424
  viam/resource/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
425
425
  viam/resource/base.py,sha256=3HGO5KQ6kgEeFlsyJWYr2Nlem7BYERPrYXyNyvydP2w,3694
426
- viam/resource/easy_resource.py,sha256=8xQ_ZHfGflgszX9yf9rsiK1dEUo4F0VL14g7I20B1_U,5529
426
+ viam/resource/easy_resource.py,sha256=S8gVJi1FB0XiTrNpmGJC8O8CQLMM9ycBBrOyqz1rLWw,5621
427
427
  viam/resource/manager.py,sha256=aCJs-a0fHqvV-suiYkIn3CKUnvj-qgsI2FHK5CKj3M0,4913
428
- viam/resource/registry.py,sha256=Xsu8fTbnNdL0lPX0dTfwtnrK_cRWG-5SUIIwhF4k7so,7355
428
+ viam/resource/registry.py,sha256=XAiJsf3y0C5VnJl-Iy77CqMzFdq1RBLOXqSiFXZ7QmE,7367
429
429
  viam/resource/rpc_client_base.py,sha256=2OqcRHZLShuJqcmKimzU4Wr3VuHGNc8fzV4HbtIOAXU,2054
430
430
  viam/resource/rpc_service_base.py,sha256=f2vGY4mfcdOPCgBVk7EVFKDIwGAPxu66e0XJ55VIen8,1612
431
- viam/resource/types.py,sha256=E1eqzJR8HzkDWW6-lM2fAT86wOUe6akD_FBAJ21Mg7M,6710
431
+ viam/resource/types.py,sha256=8r2RjTQN9hOg6Po9XHMgj7xfR5kTsFr9_KNNn_62qGk,6739
432
432
  viam/robot/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
433
433
  viam/robot/client.py,sha256=eLxP_lpiQq7t8bRZCIzWFWMr83nCfqrA3Lf8H7CtzIo,33590
434
434
  viam/robot/service.py,sha256=4kn2px4YRkM7083CNgs01FO7xPRe7nhtuDst3IMXjo8,2764
435
435
  viam/rpc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
436
436
  viam/rpc/dial.py,sha256=vUqwjHwrV13RM8WrxhA0MU4upan8_aQhS2PtJnA9A6A,15025
437
- viam/rpc/libviam_rust_utils.so,sha256=wkedBlQUVuaJBezX1sxzYJNYn4GurviPVWPZ0l3V10g,21289708
437
+ viam/rpc/libviam_rust_utils.so,sha256=J67vbfn8b-DRFSVUuhF3jak0jDhUIBybZx2KeQ0_GNk,21276256
438
438
  viam/rpc/server.py,sha256=AqV-cFkis4LahpSKWxqtk-Io5c9JwS-Xhut3ucqNfzg,7165
439
439
  viam/rpc/signaling.py,sha256=Bo5F9ReRGYXH4CJI-YYUSA33aOvU5gnFcdwaPqQFQ9E,1134
440
440
  viam/rpc/types.py,sha256=b7cOkq8C8lOccKNeZBmMqUICz2sTKo2qli4FthdJLK0,654
@@ -470,7 +470,7 @@ viam/services/vision/__init__.py,sha256=g4Dnz6BFgVZpvE6j6sNwxAc2baZfAKLA6XS2GaGg
470
470
  viam/services/vision/client.py,sha256=uaFMlYwKE5N_Qp803aFGfk8k6KCWPKNwUxyV_fnlBp4,7776
471
471
  viam/services/vision/service.py,sha256=NWV3yY1ZyEbl4rrp28CtX9n-uIgyxSQbbKJTeoIVjCg,6942
472
472
  viam/services/vision/vision.py,sha256=MrQsTarahwGMEmqWX4ODCJT5wLOGHXNEuEyTQgOvsg4,12527
473
- viam_sdk-0.45.2.dist-info/METADATA,sha256=kPAd6Uor-igdzISBPm4521z06fIjbyuz1Gjmvz7XvA0,10310
474
- viam_sdk-0.45.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
475
- viam_sdk-0.45.2.dist-info/licenses/LICENSE,sha256=yVuuHRzgI17MzTVgt3LsHvuX80innw--CmNPDCzO_iw,11358
476
- viam_sdk-0.45.2.dist-info/RECORD,,
473
+ viam_sdk-0.47.0.dist-info/METADATA,sha256=t1rIDXHknEldULZV8OjlcVSeG1IRqk5vEDrgpcqmzIs,10310
474
+ viam_sdk-0.47.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
475
+ viam_sdk-0.47.0.dist-info/licenses/LICENSE,sha256=yVuuHRzgI17MzTVgt3LsHvuX80innw--CmNPDCzO_iw,11358
476
+ viam_sdk-0.47.0.dist-info/RECORD,,