viam-sdk 0.41.1__py3-none-linux_armv6l.whl → 0.66.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.
- viam/app/app_client.py +225 -51
- viam/app/billing_client.py +47 -5
- viam/app/data_client.py +771 -234
- viam/app/ml_training_client.py +3 -5
- viam/app/provisioning_client.py +3 -5
- viam/app/viam_client.py +58 -11
- viam/components/arm/arm.py +1 -1
- viam/components/arm/service.py +1 -1
- viam/components/audio_in/__init__.py +24 -0
- viam/components/audio_in/audio_in.py +74 -0
- viam/components/audio_in/client.py +76 -0
- viam/components/audio_in/service.py +83 -0
- viam/components/audio_out/__init__.py +21 -0
- viam/components/audio_out/audio_out.py +72 -0
- viam/components/audio_out/client.py +67 -0
- viam/components/audio_out/service.py +63 -0
- viam/components/base/base.py +1 -1
- viam/components/board/board.py +8 -2
- viam/components/board/client.py +2 -1
- viam/components/board/service.py +1 -0
- viam/components/button/__init__.py +10 -0
- viam/components/button/button.py +41 -0
- viam/components/button/client.py +52 -0
- viam/components/button/service.py +46 -0
- viam/components/camera/camera.py +15 -30
- viam/components/camera/client.py +10 -21
- viam/components/camera/service.py +15 -28
- viam/components/component_base.py +2 -2
- viam/components/gantry/client.py +17 -2
- viam/components/gantry/gantry.py +32 -1
- viam/components/gantry/service.py +21 -5
- viam/components/gripper/__init__.py +2 -0
- viam/components/gripper/client.py +25 -2
- viam/components/gripper/gripper.py +76 -1
- viam/components/gripper/service.py +32 -3
- viam/components/input/input.py +1 -1
- viam/components/motor/motor.py +1 -1
- viam/components/power_sensor/power_sensor.py +1 -1
- viam/components/switch/__init__.py +10 -0
- viam/components/switch/client.py +83 -0
- viam/components/switch/service.py +72 -0
- viam/components/switch/switch.py +98 -0
- viam/gen/app/agent/v1/agent_pb2.py +1 -1
- viam/gen/app/cloudslam/v1/cloud_slam_pb2.py +1 -1
- viam/gen/app/data/v1/data_grpc.py +74 -2
- viam/gen/app/data/v1/data_pb2.py +198 -104
- viam/gen/app/data/v1/data_pb2.pyi +563 -31
- viam/gen/app/datapipelines/__init__.py +0 -0
- viam/gen/app/datapipelines/v1/__init__.py +0 -0
- viam/gen/app/datapipelines/v1/data_pipelines_grpc.py +84 -0
- viam/gen/app/datapipelines/v1/data_pipelines_pb2.py +57 -0
- viam/gen/app/datapipelines/v1/data_pipelines_pb2.pyi +387 -0
- viam/gen/app/dataset/v1/dataset_grpc.py +10 -2
- viam/gen/app/dataset/v1/dataset_pb2.py +8 -4
- viam/gen/app/dataset/v1/dataset_pb2.pyi +36 -1
- viam/gen/app/datasync/v1/data_sync_pb2.py +39 -35
- viam/gen/app/datasync/v1/data_sync_pb2.pyi +21 -8
- viam/gen/app/mlinference/v1/ml_inference_pb2.py +7 -7
- viam/gen/app/mlinference/v1/ml_inference_pb2.pyi +4 -2
- viam/gen/app/mltraining/v1/ml_training_grpc.py +10 -2
- viam/gen/app/mltraining/v1/ml_training_pb2.py +63 -43
- viam/gen/app/mltraining/v1/ml_training_pb2.pyi +112 -7
- viam/gen/app/packages/v1/packages_pb2.py +1 -1
- viam/gen/app/v1/app_grpc.py +74 -3
- viam/gen/app/v1/app_pb2.py +600 -545
- viam/gen/app/v1/app_pb2.pyi +1108 -258
- viam/gen/app/v1/billing_grpc.py +26 -2
- viam/gen/app/v1/billing_pb2.py +52 -36
- viam/gen/app/v1/billing_pb2.pyi +158 -4
- viam/gen/app/v1/end_user_pb2.py +1 -1
- viam/gen/app/v1/robot_pb2.py +95 -89
- viam/gen/app/v1/robot_pb2.pyi +121 -9
- viam/gen/common/v1/common_pb2.py +76 -58
- viam/gen/common/v1/common_pb2.pyi +186 -17
- viam/gen/component/arm/v1/arm_grpc.py +10 -2
- viam/gen/component/arm/v1/arm_pb2.py +5 -3
- viam/gen/component/audioin/__init__.py +0 -0
- viam/gen/component/audioin/v1/__init__.py +0 -0
- viam/gen/component/audioin/v1/audioin_grpc.py +54 -0
- viam/gen/component/audioin/v1/audioin_pb2.py +34 -0
- viam/gen/component/audioin/v1/audioin_pb2.pyi +94 -0
- viam/gen/component/audioinput/v1/audioinput_pb2.py +1 -1
- viam/gen/component/audioout/__init__.py +0 -0
- viam/gen/component/audioout/v1/__init__.py +0 -0
- viam/gen/component/audioout/v1/audioout_grpc.py +54 -0
- viam/gen/component/audioout/v1/audioout_pb2.py +32 -0
- viam/gen/component/audioout/v1/audioout_pb2.pyi +47 -0
- viam/gen/component/base/v1/base_pb2.py +1 -1
- viam/gen/component/board/v1/board_pb2.py +1 -1
- viam/gen/component/button/v1/button_pb2.py +1 -1
- viam/gen/component/camera/v1/camera_grpc.py +1 -0
- viam/gen/component/camera/v1/camera_pb2.py +37 -36
- viam/gen/component/camera/v1/camera_pb2.pyi +31 -4
- viam/gen/component/encoder/v1/encoder_pb2.py +1 -1
- viam/gen/component/gantry/v1/gantry_grpc.py +9 -1
- viam/gen/component/gantry/v1/gantry_pb2.py +5 -3
- viam/gen/component/generic/v1/generic_pb2.py +1 -1
- viam/gen/component/gripper/v1/gripper_grpc.py +18 -2
- viam/gen/component/gripper/v1/gripper_pb2.py +12 -4
- viam/gen/component/gripper/v1/gripper_pb2.pyi +43 -1
- viam/gen/component/inputcontroller/v1/input_controller_pb2.py +1 -1
- viam/gen/component/motor/v1/motor_pb2.py +1 -1
- viam/gen/component/movementsensor/v1/movementsensor_pb2.py +1 -1
- viam/gen/component/posetracker/v1/pose_tracker_pb2.py +1 -1
- viam/gen/component/powersensor/v1/powersensor_pb2.py +1 -1
- viam/gen/component/sensor/v1/sensor_pb2.py +1 -1
- viam/gen/component/servo/v1/servo_pb2.py +1 -1
- viam/gen/component/switch/v1/switch_pb2.py +5 -5
- viam/gen/component/switch/v1/switch_pb2.pyi +9 -2
- viam/gen/component/testecho/v1/testecho_pb2.py +1 -1
- viam/gen/module/v1/module_pb2.py +5 -5
- viam/gen/module/v1/module_pb2.pyi +7 -2
- viam/gen/opentelemetry/__init__.py +0 -0
- viam/gen/opentelemetry/proto/__init__.py +0 -0
- viam/gen/opentelemetry/proto/common/__init__.py +0 -0
- viam/gen/opentelemetry/proto/common/v1/__init__.py +0 -0
- viam/gen/opentelemetry/proto/common/v1/common_grpc.py +0 -0
- viam/gen/opentelemetry/proto/common/v1/common_pb2.py +27 -0
- viam/gen/opentelemetry/proto/common/v1/common_pb2.pyi +208 -0
- viam/gen/opentelemetry/proto/resource/__init__.py +0 -0
- viam/gen/opentelemetry/proto/resource/v1/__init__.py +0 -0
- viam/gen/opentelemetry/proto/resource/v1/resource_grpc.py +0 -0
- viam/gen/opentelemetry/proto/resource/v1/resource_pb2.py +18 -0
- viam/gen/opentelemetry/proto/resource/v1/resource_pb2.pyi +59 -0
- viam/gen/opentelemetry/proto/trace/__init__.py +0 -0
- viam/gen/opentelemetry/proto/trace/v1/__init__.py +0 -0
- viam/gen/opentelemetry/proto/trace/v1/trace_grpc.py +0 -0
- viam/gen/opentelemetry/proto/trace/v1/trace_pb2.py +37 -0
- viam/gen/opentelemetry/proto/trace/v1/trace_pb2.pyi +402 -0
- viam/gen/proto/rpc/examples/echo/v1/echo_pb2.py +1 -1
- viam/gen/proto/rpc/examples/echoresource/v1/echoresource_pb2.py +1 -1
- viam/gen/proto/rpc/v1/auth_pb2.py +1 -1
- viam/gen/proto/rpc/webrtc/v1/grpc_pb2.py +1 -1
- viam/gen/proto/rpc/webrtc/v1/signaling_pb2.py +1 -1
- viam/gen/provisioning/v1/provisioning_grpc.py +10 -2
- viam/gen/provisioning/v1/provisioning_pb2.py +32 -26
- viam/gen/provisioning/v1/provisioning_pb2.pyi +46 -5
- viam/gen/robot/v1/robot_grpc.py +51 -34
- viam/gen/robot/v1/robot_pb2.py +147 -142
- viam/gen/robot/v1/robot_pb2.pyi +153 -86
- viam/gen/service/datamanager/v1/data_manager_grpc.py +11 -2
- viam/gen/service/datamanager/v1/data_manager_pb2.py +15 -8
- viam/gen/service/datamanager/v1/data_manager_pb2.pyi +47 -1
- viam/gen/service/discovery/v1/discovery_pb2.py +1 -1
- viam/gen/service/generic/v1/generic_pb2.py +1 -1
- viam/gen/service/mlmodel/v1/mlmodel_pb2.py +1 -1
- viam/gen/service/motion/v1/motion_pb2.py +92 -62
- viam/gen/service/motion/v1/motion_pb2.pyi +130 -68
- viam/gen/service/navigation/v1/navigation_pb2.py +1 -1
- viam/gen/service/sensors/v1/sensors_pb2.py +1 -1
- viam/gen/service/shell/v1/shell_pb2.py +1 -1
- viam/gen/service/slam/v1/slam_pb2.py +1 -1
- viam/gen/service/slam/v1/slam_pb2.pyi +1 -1
- viam/gen/service/video/__init__.py +0 -0
- viam/gen/service/video/v1/__init__.py +0 -0
- viam/gen/service/video/v1/video_grpc.py +39 -0
- viam/gen/service/video/v1/video_pb2.py +29 -0
- viam/gen/service/video/v1/video_pb2.pyi +72 -0
- viam/gen/service/vision/v1/vision_pb2.py +27 -27
- viam/gen/service/vision/v1/vision_pb2.pyi +28 -3
- viam/gen/service/worldstatestore/__init__.py +0 -0
- viam/gen/service/worldstatestore/v1/__init__.py +0 -0
- viam/gen/service/worldstatestore/v1/world_state_store_grpc.py +55 -0
- viam/gen/service/worldstatestore/v1/world_state_store_pb2.py +39 -0
- viam/gen/service/worldstatestore/v1/world_state_store_pb2.pyi +171 -0
- viam/gen/stream/v1/stream_pb2.py +1 -1
- viam/gen/tagger/v1/tagger_pb2.py +1 -1
- viam/logging.py +9 -8
- viam/media/audio.py +22 -10
- viam/media/utils/pil/__init__.py +5 -1
- viam/media/video.py +54 -40
- viam/module/module.py +85 -16
- viam/module/resource_data_consumer.py +41 -0
- viam/module/service.py +9 -1
- viam/proto/app/__init__.py +68 -0
- viam/proto/app/billing.py +16 -0
- viam/proto/app/data/__init__.py +48 -0
- viam/proto/app/datapipelines/__init__.py +56 -0
- viam/proto/app/dataset/__init__.py +4 -0
- viam/proto/app/mltraining/__init__.py +6 -0
- viam/proto/app/robot.py +6 -0
- viam/proto/common/__init__.py +14 -0
- viam/proto/component/audioin/__init__.py +16 -0
- viam/proto/component/audioout/__init__.py +15 -0
- viam/proto/component/camera/__init__.py +0 -2
- viam/proto/component/gripper/__init__.py +4 -0
- viam/proto/opentelemetry/__init__.py +0 -0
- viam/proto/opentelemetry/proto/__init__.py +0 -0
- viam/proto/opentelemetry/proto/common/__init__.py +15 -0
- viam/proto/opentelemetry/proto/resource/__init__.py +10 -0
- viam/proto/opentelemetry/proto/trace/__init__.py +15 -0
- viam/proto/provisioning/__init__.py +6 -0
- viam/proto/robot/__init__.py +16 -8
- viam/proto/service/datamanager/__init__.py +8 -1
- viam/proto/service/motion/__init__.py +2 -0
- viam/proto/service/video/__init__.py +15 -0
- viam/proto/service/worldstatestore/__init__.py +32 -0
- viam/resource/easy_resource.py +5 -9
- viam/resource/manager.py +4 -3
- viam/resource/registry.py +2 -2
- viam/resource/types.py +2 -2
- viam/robot/client.py +38 -59
- viam/rpc/dial.py +48 -5
- viam/rpc/libviam_rust_utils.so +0 -0
- viam/rpc/server.py +24 -10
- viam/services/motion/client.py +8 -9
- viam/services/motion/motion.py +48 -46
- viam/services/navigation/navigation.py +2 -2
- viam/services/vision/client.py +1 -1
- viam/services/vision/service.py +5 -8
- viam/services/vision/vision.py +5 -3
- viam/services/worldstatestore/__init__.py +18 -0
- viam/services/worldstatestore/client.py +94 -0
- viam/services/worldstatestore/service.py +55 -0
- viam/services/worldstatestore/worldstatestore.py +90 -0
- viam/sessions_client.py +115 -46
- viam/version_metadata.py +2 -2
- {viam_sdk-0.41.1.dist-info → viam_sdk-0.66.0.dist-info}/METADATA +10 -6
- {viam_sdk-0.41.1.dist-info → viam_sdk-0.66.0.dist-info}/RECORD +221 -152
- {viam_sdk-0.41.1.dist-info → viam_sdk-0.66.0.dist-info}/WHEEL +1 -1
- viam/components/audio_input/__init__.py +0 -18
- viam/components/audio_input/audio_input.py +0 -81
- viam/components/audio_input/client.py +0 -70
- viam/components/audio_input/service.py +0 -114
- {viam_sdk-0.41.1.dist-info → viam_sdk-0.66.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"""
|
|
2
|
+
@generated by mypy-protobuf. Do not edit manually!
|
|
3
|
+
isort:skip_file
|
|
4
|
+
"""
|
|
5
|
+
import builtins
|
|
6
|
+
import google.protobuf.descriptor
|
|
7
|
+
import google.protobuf.message
|
|
8
|
+
import google.protobuf.struct_pb2
|
|
9
|
+
import google.protobuf.timestamp_pb2
|
|
10
|
+
import typing
|
|
11
|
+
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
|
|
12
|
+
|
|
13
|
+
@typing.final
|
|
14
|
+
class GetVideoRequest(google.protobuf.message.Message):
|
|
15
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
16
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
17
|
+
START_TIMESTAMP_FIELD_NUMBER: builtins.int
|
|
18
|
+
END_TIMESTAMP_FIELD_NUMBER: builtins.int
|
|
19
|
+
VIDEO_CODEC_FIELD_NUMBER: builtins.int
|
|
20
|
+
VIDEO_CONTAINER_FIELD_NUMBER: builtins.int
|
|
21
|
+
REQUEST_ID_FIELD_NUMBER: builtins.int
|
|
22
|
+
EXTRA_FIELD_NUMBER: builtins.int
|
|
23
|
+
name: builtins.str
|
|
24
|
+
'Name of the video source'
|
|
25
|
+
video_codec: builtins.str
|
|
26
|
+
'Codec for the video retrieval (e.g., "h264", "h265")'
|
|
27
|
+
video_container: builtins.str
|
|
28
|
+
'Container format for the video retrieval (e.g., "mp4", "fmp4")'
|
|
29
|
+
request_id: builtins.str
|
|
30
|
+
'To match a request to its responses'
|
|
31
|
+
|
|
32
|
+
@property
|
|
33
|
+
def start_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp:
|
|
34
|
+
"""Start time for the video retrieval"""
|
|
35
|
+
|
|
36
|
+
@property
|
|
37
|
+
def end_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp:
|
|
38
|
+
"""End time for the video retrieval"""
|
|
39
|
+
|
|
40
|
+
@property
|
|
41
|
+
def extra(self) -> google.protobuf.struct_pb2.Struct:
|
|
42
|
+
"""Additional arguments to the method"""
|
|
43
|
+
|
|
44
|
+
def __init__(self, *, name: builtins.str=..., start_timestamp: google.protobuf.timestamp_pb2.Timestamp | None=..., end_timestamp: google.protobuf.timestamp_pb2.Timestamp | None=..., video_codec: builtins.str=..., video_container: builtins.str=..., request_id: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
|
|
45
|
+
...
|
|
46
|
+
|
|
47
|
+
def HasField(self, field_name: typing.Literal['end_timestamp', b'end_timestamp', 'extra', b'extra', 'start_timestamp', b'start_timestamp']) -> builtins.bool:
|
|
48
|
+
...
|
|
49
|
+
|
|
50
|
+
def ClearField(self, field_name: typing.Literal['end_timestamp', b'end_timestamp', 'extra', b'extra', 'name', b'name', 'request_id', b'request_id', 'start_timestamp', b'start_timestamp', 'video_codec', b'video_codec', 'video_container', b'video_container']) -> None:
|
|
51
|
+
...
|
|
52
|
+
global___GetVideoRequest = GetVideoRequest
|
|
53
|
+
|
|
54
|
+
@typing.final
|
|
55
|
+
class GetVideoResponse(google.protobuf.message.Message):
|
|
56
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
57
|
+
VIDEO_DATA_FIELD_NUMBER: builtins.int
|
|
58
|
+
VIDEO_CONTAINER_FIELD_NUMBER: builtins.int
|
|
59
|
+
REQUEST_ID_FIELD_NUMBER: builtins.int
|
|
60
|
+
video_data: builtins.bytes
|
|
61
|
+
'Video data chunk'
|
|
62
|
+
video_container: builtins.str
|
|
63
|
+
'Container format (e.g., "mp4", "fmp4")'
|
|
64
|
+
request_id: builtins.str
|
|
65
|
+
'Request ID to match this response to its request'
|
|
66
|
+
|
|
67
|
+
def __init__(self, *, video_data: builtins.bytes=..., video_container: builtins.str=..., request_id: builtins.str=...) -> None:
|
|
68
|
+
...
|
|
69
|
+
|
|
70
|
+
def ClearField(self, field_name: typing.Literal['request_id', b'request_id', 'video_container', b'video_container', 'video_data', b'video_data']) -> None:
|
|
71
|
+
...
|
|
72
|
+
global___GetVideoResponse = GetVideoResponse
|
|
@@ -4,13 +4,13 @@ from google.protobuf import descriptor_pool as _descriptor_pool
|
|
|
4
4
|
from google.protobuf import runtime_version as _runtime_version
|
|
5
5
|
from google.protobuf import symbol_database as _symbol_database
|
|
6
6
|
from google.protobuf.internal import builder as _builder
|
|
7
|
-
_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 5, 29,
|
|
7
|
+
_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 5, 29, 2, '', 'service/vision/v1/vision.proto')
|
|
8
8
|
_sym_db = _symbol_database.Default()
|
|
9
9
|
from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2
|
|
10
10
|
from ....component.camera.v1 import camera_pb2 as component_dot_camera_dot_v1_dot_camera__pb2
|
|
11
11
|
from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
|
|
12
12
|
from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
|
|
13
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eservice/vision/v1/vision.proto\x12\x16viam.service.vision.v1\x1a\x16common/v1/common.proto\x1a component/camera/v1/camera.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"\xba\x01\n\x14GetDetectionsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n\x05image\x18\x02 \x01(\x0cR\x05image\x12\x14\n\x05width\x18\x03 \x01(\x03R\x05width\x12\x16\n\x06height\x18\x04 \x01(\x03R\x06height\x12\x1b\n\tmime_type\x18\x05 \x01(\tR\x08mimeType\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"Z\n\x15GetDetectionsResponse\x12A\n\ndetections\x18\x01 \x03(\x0b2!.viam.service.vision.v1.DetectionR\ndetections"\x84\x01\n\x1eGetDetectionsFromCameraRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0bcamera_name\x18\x02 \x01(\tR\ncameraName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"d\n\x1fGetDetectionsFromCameraResponse\x12A\n\ndetections\x18\x01 \x03(\x0b2!.viam.service.vision.v1.DetectionR\ndetections"\
|
|
13
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eservice/vision/v1/vision.proto\x12\x16viam.service.vision.v1\x1a\x16common/v1/common.proto\x1a component/camera/v1/camera.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"\xba\x01\n\x14GetDetectionsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n\x05image\x18\x02 \x01(\x0cR\x05image\x12\x14\n\x05width\x18\x03 \x01(\x03R\x05width\x12\x16\n\x06height\x18\x04 \x01(\x03R\x06height\x12\x1b\n\tmime_type\x18\x05 \x01(\tR\x08mimeType\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"Z\n\x15GetDetectionsResponse\x12A\n\ndetections\x18\x01 \x03(\x0b2!.viam.service.vision.v1.DetectionR\ndetections"\x84\x01\n\x1eGetDetectionsFromCameraRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0bcamera_name\x18\x02 \x01(\tR\ncameraName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"d\n\x1fGetDetectionsFromCameraResponse\x12A\n\ndetections\x18\x01 \x03(\x0b2!.viam.service.vision.v1.DetectionR\ndetections"\xea\x03\n\tDetection\x12\x18\n\x05x_min\x18\x01 \x01(\x03H\x00R\x04xMin\x88\x01\x01\x12\x18\n\x05y_min\x18\x02 \x01(\x03H\x01R\x04yMin\x88\x01\x01\x12\x18\n\x05x_max\x18\x03 \x01(\x03H\x02R\x04xMax\x88\x01\x01\x12\x18\n\x05y_max\x18\x04 \x01(\x03H\x03R\x04yMax\x88\x01\x01\x12\x1e\n\nconfidence\x18\x05 \x01(\x01R\nconfidence\x12\x1d\n\nclass_name\x18\x06 \x01(\tR\tclassName\x12-\n\x10x_min_normalized\x18\x07 \x01(\x01H\x04R\x0exMinNormalized\x88\x01\x01\x12-\n\x10y_min_normalized\x18\x08 \x01(\x01H\x05R\x0eyMinNormalized\x88\x01\x01\x12-\n\x10x_max_normalized\x18\t \x01(\x01H\x06R\x0exMaxNormalized\x88\x01\x01\x12-\n\x10y_max_normalized\x18\n \x01(\x01H\x07R\x0eyMaxNormalized\x88\x01\x01B\x08\n\x06_x_minB\x08\n\x06_y_minB\x08\n\x06_x_maxB\x08\n\x06_y_maxB\x13\n\x11_x_min_normalizedB\x13\n\x11_y_min_normalizedB\x13\n\x11_x_max_normalizedB\x13\n\x11_y_max_normalized"\xcd\x01\n\x19GetClassificationsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n\x05image\x18\x02 \x01(\x0cR\x05image\x12\x14\n\x05width\x18\x03 \x01(\x05R\x05width\x12\x16\n\x06height\x18\x04 \x01(\x05R\x06height\x12\x1b\n\tmime_type\x18\x05 \x01(\tR\x08mimeType\x12\x0c\n\x01n\x18\x06 \x01(\x05R\x01n\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"n\n\x1aGetClassificationsResponse\x12P\n\x0fclassifications\x18\x01 \x03(\x0b2&.viam.service.vision.v1.ClassificationR\x0fclassifications"\x97\x01\n#GetClassificationsFromCameraRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0bcamera_name\x18\x02 \x01(\tR\ncameraName\x12\x0c\n\x01n\x18\x03 \x01(\x05R\x01n\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"x\n$GetClassificationsFromCameraResponse\x12P\n\x0fclassifications\x18\x01 \x03(\x0b2&.viam.service.vision.v1.ClassificationR\x0fclassifications"O\n\x0eClassification\x12\x1d\n\nclass_name\x18\x01 \x01(\tR\tclassName\x12\x1e\n\nconfidence\x18\x02 \x01(\x01R\nconfidence"\x9e\x01\n\x1bGetObjectPointCloudsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0bcamera_name\x18\x02 \x01(\tR\ncameraName\x12\x1b\n\tmime_type\x18\x03 \x01(\tR\x08mimeType\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"w\n\x1cGetObjectPointCloudsResponse\x12\x1b\n\tmime_type\x18\x01 \x01(\tR\x08mimeType\x12:\n\x07objects\x18\x02 \x03(\x0b2 .viam.common.v1.PointCloudObjectR\x07objects"Y\n\x14GetPropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\xc5\x02\n\x1bCaptureAllFromCameraRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0bcamera_name\x18\x02 \x01(\tR\ncameraName\x12!\n\x0creturn_image\x18\x03 \x01(\x08R\x0breturnImage\x125\n\x16return_classifications\x18\x04 \x01(\x08R\x15returnClassifications\x12+\n\x11return_detections\x18\x05 \x01(\x08R\x10returnDetections\x12;\n\x1areturn_object_point_clouds\x18\x06 \x01(\x08R\x17returnObjectPointClouds\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\xd5\x02\n\x1cCaptureAllFromCameraResponse\x125\n\x05image\x18\x01 \x01(\x0b2\x1f.viam.component.camera.v1.ImageR\x05image\x12A\n\ndetections\x18\x02 \x03(\x0b2!.viam.service.vision.v1.DetectionR\ndetections\x12P\n\x0fclassifications\x18\x03 \x03(\x0b2&.viam.service.vision.v1.ClassificationR\x0fclassifications\x12:\n\x07objects\x18\x04 \x03(\x0b2 .viam.common.v1.PointCloudObjectR\x07objects\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\xca\x01\n\x15GetPropertiesResponse\x12;\n\x19classifications_supported\x18\x01 \x01(\x08R\x18classificationsSupported\x121\n\x14detections_supported\x18\x02 \x01(\x08R\x13detectionsSupported\x12A\n\x1dobject_point_clouds_supported\x18\x03 \x01(\x08R\x1aobjectPointCloudsSupported2\xcd\x0b\n\rVisionService\x12\xc8\x01\n\x17GetDetectionsFromCamera\x126.viam.service.vision.v1.GetDetectionsFromCameraRequest\x1a7.viam.service.vision.v1.GetDetectionsFromCameraResponse"<\x82\xd3\xe4\x93\x026"4/viam/api/v1/service/vision/{name}/camera_detections\x12\xa3\x01\n\rGetDetections\x12,.viam.service.vision.v1.GetDetectionsRequest\x1a-.viam.service.vision.v1.GetDetectionsResponse"5\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/vision/{name}/detections\x12\xdc\x01\n\x1cGetClassificationsFromCamera\x12;.viam.service.vision.v1.GetClassificationsFromCameraRequest\x1a<.viam.service.vision.v1.GetClassificationsFromCameraResponse"A\x82\xd3\xe4\x93\x02;"9/viam/api/v1/service/vision/{name}/camera_classifications\x12\xb7\x01\n\x12GetClassifications\x121.viam.service.vision.v1.GetClassificationsRequest\x1a2.viam.service.vision.v1.GetClassificationsResponse":\x82\xd3\xe4\x93\x024"2/viam/api/v1/service/vision/{name}/classifications\x12\xc1\x01\n\x14GetObjectPointClouds\x123.viam.service.vision.v1.GetObjectPointCloudsRequest\x1a4.viam.service.vision.v1.GetObjectPointCloudsResponse">\x82\xd3\xe4\x93\x028"6/viam/api/v1/service/vision/{name}/object_point_clouds\x12\xa7\x01\n\rGetProperties\x12,.viam.service.vision.v1.GetPropertiesRequest\x1a-.viam.service.vision.v1.GetPropertiesResponse"9\x82\xd3\xe4\x93\x023"1/viam/api/v1/service/vision/{name}/get_properties\x12\xb9\x01\n\x14CaptureAllFromCamera\x123.viam.service.vision.v1.CaptureAllFromCameraRequest\x1a4.viam.service.vision.v1.CaptureAllFromCameraResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/service/vision/{name}/capture_all\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/vision/{name}/do_commandB?\n\x1acom.viam.service.vision.v1Z!go.viam.com/api/service/vision/v1b\x06proto3')
|
|
14
14
|
_globals = globals()
|
|
15
15
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
16
16
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'service.vision.v1.vision_pb2', _globals)
|
|
@@ -42,28 +42,28 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
42
42
|
_globals['_GETDETECTIONSFROMCAMERARESPONSE']._serialized_start = 592
|
|
43
43
|
_globals['_GETDETECTIONSFROMCAMERARESPONSE']._serialized_end = 692
|
|
44
44
|
_globals['_DETECTION']._serialized_start = 695
|
|
45
|
-
_globals['_DETECTION']._serialized_end =
|
|
46
|
-
_globals['_GETCLASSIFICATIONSREQUEST']._serialized_start =
|
|
47
|
-
_globals['_GETCLASSIFICATIONSREQUEST']._serialized_end =
|
|
48
|
-
_globals['_GETCLASSIFICATIONSRESPONSE']._serialized_start =
|
|
49
|
-
_globals['_GETCLASSIFICATIONSRESPONSE']._serialized_end =
|
|
50
|
-
_globals['_GETCLASSIFICATIONSFROMCAMERAREQUEST']._serialized_start =
|
|
51
|
-
_globals['_GETCLASSIFICATIONSFROMCAMERAREQUEST']._serialized_end =
|
|
52
|
-
_globals['_GETCLASSIFICATIONSFROMCAMERARESPONSE']._serialized_start =
|
|
53
|
-
_globals['_GETCLASSIFICATIONSFROMCAMERARESPONSE']._serialized_end =
|
|
54
|
-
_globals['_CLASSIFICATION']._serialized_start =
|
|
55
|
-
_globals['_CLASSIFICATION']._serialized_end =
|
|
56
|
-
_globals['_GETOBJECTPOINTCLOUDSREQUEST']._serialized_start =
|
|
57
|
-
_globals['_GETOBJECTPOINTCLOUDSREQUEST']._serialized_end =
|
|
58
|
-
_globals['_GETOBJECTPOINTCLOUDSRESPONSE']._serialized_start =
|
|
59
|
-
_globals['_GETOBJECTPOINTCLOUDSRESPONSE']._serialized_end =
|
|
60
|
-
_globals['_GETPROPERTIESREQUEST']._serialized_start =
|
|
61
|
-
_globals['_GETPROPERTIESREQUEST']._serialized_end =
|
|
62
|
-
_globals['_CAPTUREALLFROMCAMERAREQUEST']._serialized_start =
|
|
63
|
-
_globals['_CAPTUREALLFROMCAMERAREQUEST']._serialized_end =
|
|
64
|
-
_globals['_CAPTUREALLFROMCAMERARESPONSE']._serialized_start =
|
|
65
|
-
_globals['_CAPTUREALLFROMCAMERARESPONSE']._serialized_end =
|
|
66
|
-
_globals['_GETPROPERTIESRESPONSE']._serialized_start =
|
|
67
|
-
_globals['_GETPROPERTIESRESPONSE']._serialized_end =
|
|
68
|
-
_globals['_VISIONSERVICE']._serialized_start =
|
|
69
|
-
_globals['_VISIONSERVICE']._serialized_end =
|
|
45
|
+
_globals['_DETECTION']._serialized_end = 1185
|
|
46
|
+
_globals['_GETCLASSIFICATIONSREQUEST']._serialized_start = 1188
|
|
47
|
+
_globals['_GETCLASSIFICATIONSREQUEST']._serialized_end = 1393
|
|
48
|
+
_globals['_GETCLASSIFICATIONSRESPONSE']._serialized_start = 1395
|
|
49
|
+
_globals['_GETCLASSIFICATIONSRESPONSE']._serialized_end = 1505
|
|
50
|
+
_globals['_GETCLASSIFICATIONSFROMCAMERAREQUEST']._serialized_start = 1508
|
|
51
|
+
_globals['_GETCLASSIFICATIONSFROMCAMERAREQUEST']._serialized_end = 1659
|
|
52
|
+
_globals['_GETCLASSIFICATIONSFROMCAMERARESPONSE']._serialized_start = 1661
|
|
53
|
+
_globals['_GETCLASSIFICATIONSFROMCAMERARESPONSE']._serialized_end = 1781
|
|
54
|
+
_globals['_CLASSIFICATION']._serialized_start = 1783
|
|
55
|
+
_globals['_CLASSIFICATION']._serialized_end = 1862
|
|
56
|
+
_globals['_GETOBJECTPOINTCLOUDSREQUEST']._serialized_start = 1865
|
|
57
|
+
_globals['_GETOBJECTPOINTCLOUDSREQUEST']._serialized_end = 2023
|
|
58
|
+
_globals['_GETOBJECTPOINTCLOUDSRESPONSE']._serialized_start = 2025
|
|
59
|
+
_globals['_GETOBJECTPOINTCLOUDSRESPONSE']._serialized_end = 2144
|
|
60
|
+
_globals['_GETPROPERTIESREQUEST']._serialized_start = 2146
|
|
61
|
+
_globals['_GETPROPERTIESREQUEST']._serialized_end = 2235
|
|
62
|
+
_globals['_CAPTUREALLFROMCAMERAREQUEST']._serialized_start = 2238
|
|
63
|
+
_globals['_CAPTUREALLFROMCAMERAREQUEST']._serialized_end = 2563
|
|
64
|
+
_globals['_CAPTUREALLFROMCAMERARESPONSE']._serialized_start = 2566
|
|
65
|
+
_globals['_CAPTUREALLFROMCAMERARESPONSE']._serialized_end = 2907
|
|
66
|
+
_globals['_GETPROPERTIESRESPONSE']._serialized_start = 2910
|
|
67
|
+
_globals['_GETPROPERTIESRESPONSE']._serialized_end = 3112
|
|
68
|
+
_globals['_VISIONSERVICE']._serialized_start = 3115
|
|
69
|
+
_globals['_VISIONSERVICE']._serialized_end = 4600
|
|
@@ -113,6 +113,10 @@ class Detection(google.protobuf.message.Message):
|
|
|
113
113
|
Y_MAX_FIELD_NUMBER: builtins.int
|
|
114
114
|
CONFIDENCE_FIELD_NUMBER: builtins.int
|
|
115
115
|
CLASS_NAME_FIELD_NUMBER: builtins.int
|
|
116
|
+
X_MIN_NORMALIZED_FIELD_NUMBER: builtins.int
|
|
117
|
+
Y_MIN_NORMALIZED_FIELD_NUMBER: builtins.int
|
|
118
|
+
X_MAX_NORMALIZED_FIELD_NUMBER: builtins.int
|
|
119
|
+
Y_MAX_NORMALIZED_FIELD_NUMBER: builtins.int
|
|
116
120
|
x_min: builtins.int
|
|
117
121
|
'the four corners of the box'
|
|
118
122
|
y_min: builtins.int
|
|
@@ -122,31 +126,52 @@ class Detection(google.protobuf.message.Message):
|
|
|
122
126
|
'the confidence of the detection'
|
|
123
127
|
class_name: builtins.str
|
|
124
128
|
'label associated with the detected object'
|
|
129
|
+
x_min_normalized: builtins.float
|
|
130
|
+
'the four corners of the box, in proportion to the respective image dimension'
|
|
131
|
+
y_min_normalized: builtins.float
|
|
132
|
+
x_max_normalized: builtins.float
|
|
133
|
+
y_max_normalized: builtins.float
|
|
125
134
|
|
|
126
|
-
def __init__(self, *, x_min: builtins.int | None=..., y_min: builtins.int | None=..., x_max: builtins.int | None=..., y_max: builtins.int | None=..., confidence: builtins.float=..., class_name: builtins.str=...) -> None:
|
|
135
|
+
def __init__(self, *, x_min: builtins.int | None=..., y_min: builtins.int | None=..., x_max: builtins.int | None=..., y_max: builtins.int | None=..., confidence: builtins.float=..., class_name: builtins.str=..., x_min_normalized: builtins.float | None=..., y_min_normalized: builtins.float | None=..., x_max_normalized: builtins.float | None=..., y_max_normalized: builtins.float | None=...) -> None:
|
|
127
136
|
...
|
|
128
137
|
|
|
129
|
-
def HasField(self, field_name: typing.Literal['_x_max', b'_x_max', '_x_min', b'_x_min', '_y_max', b'_y_max', '_y_min', b'_y_min', 'x_max', b'x_max', 'x_min', b'x_min', 'y_max', b'y_max', 'y_min', b'y_min']) -> builtins.bool:
|
|
138
|
+
def HasField(self, field_name: typing.Literal['_x_max', b'_x_max', '_x_max_normalized', b'_x_max_normalized', '_x_min', b'_x_min', '_x_min_normalized', b'_x_min_normalized', '_y_max', b'_y_max', '_y_max_normalized', b'_y_max_normalized', '_y_min', b'_y_min', '_y_min_normalized', b'_y_min_normalized', 'x_max', b'x_max', 'x_max_normalized', b'x_max_normalized', 'x_min', b'x_min', 'x_min_normalized', b'x_min_normalized', 'y_max', b'y_max', 'y_max_normalized', b'y_max_normalized', 'y_min', b'y_min', 'y_min_normalized', b'y_min_normalized']) -> builtins.bool:
|
|
130
139
|
...
|
|
131
140
|
|
|
132
|
-
def ClearField(self, field_name: typing.Literal['_x_max', b'_x_max', '_x_min', b'_x_min', '_y_max', b'_y_max', '_y_min', b'_y_min', 'class_name', b'class_name', 'confidence', b'confidence', 'x_max', b'x_max', 'x_min', b'x_min', 'y_max', b'y_max', 'y_min', b'y_min']) -> None:
|
|
141
|
+
def ClearField(self, field_name: typing.Literal['_x_max', b'_x_max', '_x_max_normalized', b'_x_max_normalized', '_x_min', b'_x_min', '_x_min_normalized', b'_x_min_normalized', '_y_max', b'_y_max', '_y_max_normalized', b'_y_max_normalized', '_y_min', b'_y_min', '_y_min_normalized', b'_y_min_normalized', 'class_name', b'class_name', 'confidence', b'confidence', 'x_max', b'x_max', 'x_max_normalized', b'x_max_normalized', 'x_min', b'x_min', 'x_min_normalized', b'x_min_normalized', 'y_max', b'y_max', 'y_max_normalized', b'y_max_normalized', 'y_min', b'y_min', 'y_min_normalized', b'y_min_normalized']) -> None:
|
|
133
142
|
...
|
|
134
143
|
|
|
135
144
|
@typing.overload
|
|
136
145
|
def WhichOneof(self, oneof_group: typing.Literal['_x_max', b'_x_max']) -> typing.Literal['x_max'] | None:
|
|
137
146
|
...
|
|
138
147
|
|
|
148
|
+
@typing.overload
|
|
149
|
+
def WhichOneof(self, oneof_group: typing.Literal['_x_max_normalized', b'_x_max_normalized']) -> typing.Literal['x_max_normalized'] | None:
|
|
150
|
+
...
|
|
151
|
+
|
|
139
152
|
@typing.overload
|
|
140
153
|
def WhichOneof(self, oneof_group: typing.Literal['_x_min', b'_x_min']) -> typing.Literal['x_min'] | None:
|
|
141
154
|
...
|
|
142
155
|
|
|
156
|
+
@typing.overload
|
|
157
|
+
def WhichOneof(self, oneof_group: typing.Literal['_x_min_normalized', b'_x_min_normalized']) -> typing.Literal['x_min_normalized'] | None:
|
|
158
|
+
...
|
|
159
|
+
|
|
143
160
|
@typing.overload
|
|
144
161
|
def WhichOneof(self, oneof_group: typing.Literal['_y_max', b'_y_max']) -> typing.Literal['y_max'] | None:
|
|
145
162
|
...
|
|
146
163
|
|
|
164
|
+
@typing.overload
|
|
165
|
+
def WhichOneof(self, oneof_group: typing.Literal['_y_max_normalized', b'_y_max_normalized']) -> typing.Literal['y_max_normalized'] | None:
|
|
166
|
+
...
|
|
167
|
+
|
|
147
168
|
@typing.overload
|
|
148
169
|
def WhichOneof(self, oneof_group: typing.Literal['_y_min', b'_y_min']) -> typing.Literal['y_min'] | None:
|
|
149
170
|
...
|
|
171
|
+
|
|
172
|
+
@typing.overload
|
|
173
|
+
def WhichOneof(self, oneof_group: typing.Literal['_y_min_normalized', b'_y_min_normalized']) -> typing.Literal['y_min_normalized'] | None:
|
|
174
|
+
...
|
|
150
175
|
global___Detection = Detection
|
|
151
176
|
|
|
152
177
|
@typing.final
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import abc
|
|
2
|
+
import typing
|
|
3
|
+
import grpclib.const
|
|
4
|
+
import grpclib.client
|
|
5
|
+
import grpclib.exceptions
|
|
6
|
+
if typing.TYPE_CHECKING:
|
|
7
|
+
import grpclib.server
|
|
8
|
+
from .... import common
|
|
9
|
+
import google.api.annotations_pb2
|
|
10
|
+
import google.protobuf.field_mask_pb2
|
|
11
|
+
import google.protobuf.struct_pb2
|
|
12
|
+
from .... import service
|
|
13
|
+
|
|
14
|
+
class WorldStateStoreServiceBase(abc.ABC):
|
|
15
|
+
|
|
16
|
+
@abc.abstractmethod
|
|
17
|
+
async def ListUUIDs(self, stream: 'grpclib.server.Stream[service.worldstatestore.v1.world_state_store_pb2.ListUUIDsRequest, service.worldstatestore.v1.world_state_store_pb2.ListUUIDsResponse]') -> None:
|
|
18
|
+
pass
|
|
19
|
+
|
|
20
|
+
@abc.abstractmethod
|
|
21
|
+
async def GetTransform(self, stream: 'grpclib.server.Stream[service.worldstatestore.v1.world_state_store_pb2.GetTransformRequest, service.worldstatestore.v1.world_state_store_pb2.GetTransformResponse]') -> None:
|
|
22
|
+
pass
|
|
23
|
+
|
|
24
|
+
@abc.abstractmethod
|
|
25
|
+
async def StreamTransformChanges(self, stream: 'grpclib.server.Stream[service.worldstatestore.v1.world_state_store_pb2.StreamTransformChangesRequest, service.worldstatestore.v1.world_state_store_pb2.StreamTransformChangesResponse]') -> None:
|
|
26
|
+
pass
|
|
27
|
+
|
|
28
|
+
@abc.abstractmethod
|
|
29
|
+
async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None:
|
|
30
|
+
pass
|
|
31
|
+
|
|
32
|
+
def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]:
|
|
33
|
+
return {'/viam.service.worldstatestore.v1.WorldStateStoreService/ListUUIDs': grpclib.const.Handler(self.ListUUIDs, grpclib.const.Cardinality.UNARY_UNARY, service.worldstatestore.v1.world_state_store_pb2.ListUUIDsRequest, service.worldstatestore.v1.world_state_store_pb2.ListUUIDsResponse), '/viam.service.worldstatestore.v1.WorldStateStoreService/GetTransform': grpclib.const.Handler(self.GetTransform, grpclib.const.Cardinality.UNARY_UNARY, service.worldstatestore.v1.world_state_store_pb2.GetTransformRequest, service.worldstatestore.v1.world_state_store_pb2.GetTransformResponse), '/viam.service.worldstatestore.v1.WorldStateStoreService/StreamTransformChanges': grpclib.const.Handler(self.StreamTransformChanges, grpclib.const.Cardinality.UNARY_STREAM, service.worldstatestore.v1.world_state_store_pb2.StreamTransformChangesRequest, service.worldstatestore.v1.world_state_store_pb2.StreamTransformChangesResponse), '/viam.service.worldstatestore.v1.WorldStateStoreService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)}
|
|
34
|
+
|
|
35
|
+
class UnimplementedWorldStateStoreServiceBase(WorldStateStoreServiceBase):
|
|
36
|
+
|
|
37
|
+
async def ListUUIDs(self, stream: 'grpclib.server.Stream[service.worldstatestore.v1.world_state_store_pb2.ListUUIDsRequest, service.worldstatestore.v1.world_state_store_pb2.ListUUIDsResponse]') -> None:
|
|
38
|
+
raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
|
|
39
|
+
|
|
40
|
+
async def GetTransform(self, stream: 'grpclib.server.Stream[service.worldstatestore.v1.world_state_store_pb2.GetTransformRequest, service.worldstatestore.v1.world_state_store_pb2.GetTransformResponse]') -> None:
|
|
41
|
+
raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
|
|
42
|
+
|
|
43
|
+
async def StreamTransformChanges(self, stream: 'grpclib.server.Stream[service.worldstatestore.v1.world_state_store_pb2.StreamTransformChangesRequest, service.worldstatestore.v1.world_state_store_pb2.StreamTransformChangesResponse]') -> None:
|
|
44
|
+
raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
|
|
45
|
+
|
|
46
|
+
async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None:
|
|
47
|
+
raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
|
|
48
|
+
|
|
49
|
+
class WorldStateStoreServiceStub:
|
|
50
|
+
|
|
51
|
+
def __init__(self, channel: grpclib.client.Channel) -> None:
|
|
52
|
+
self.ListUUIDs = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.worldstatestore.v1.WorldStateStoreService/ListUUIDs', service.worldstatestore.v1.world_state_store_pb2.ListUUIDsRequest, service.worldstatestore.v1.world_state_store_pb2.ListUUIDsResponse)
|
|
53
|
+
self.GetTransform = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.worldstatestore.v1.WorldStateStoreService/GetTransform', service.worldstatestore.v1.world_state_store_pb2.GetTransformRequest, service.worldstatestore.v1.world_state_store_pb2.GetTransformResponse)
|
|
54
|
+
self.StreamTransformChanges = grpclib.client.UnaryStreamMethod(channel, '/viam.service.worldstatestore.v1.WorldStateStoreService/StreamTransformChanges', service.worldstatestore.v1.world_state_store_pb2.StreamTransformChangesRequest, service.worldstatestore.v1.world_state_store_pb2.StreamTransformChangesResponse)
|
|
55
|
+
self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.worldstatestore.v1.WorldStateStoreService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"""Generated protocol buffer code."""
|
|
2
|
+
from google.protobuf import descriptor as _descriptor
|
|
3
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
4
|
+
from google.protobuf import runtime_version as _runtime_version
|
|
5
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
6
|
+
from google.protobuf.internal import builder as _builder
|
|
7
|
+
_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 5, 29, 2, '', 'service/worldstatestore/v1/world_state_store.proto')
|
|
8
|
+
_sym_db = _symbol_database.Default()
|
|
9
|
+
from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2
|
|
10
|
+
from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
|
|
11
|
+
from google.protobuf import field_mask_pb2 as google_dot_protobuf_dot_field__mask__pb2
|
|
12
|
+
from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
|
|
13
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n2service/worldstatestore/v1/world_state_store.proto\x12\x1fviam.service.worldstatestore.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a google/protobuf/field_mask.proto\x1a\x1cgoogle/protobuf/struct.proto"U\n\x10ListUUIDsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra")\n\x11ListUUIDsResponse\x12\x14\n\x05uuids\x18\x01 \x03(\x0cR\x05uuids"l\n\x13GetTransformRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04uuid\x18\x02 \x01(\x0cR\x04uuid\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"O\n\x14GetTransformResponse\x127\n\ttransform\x18\x02 \x01(\x0b2\x19.viam.common.v1.TransformR\ttransform"b\n\x1dStreamTransformChangesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\xf3\x01\n\x1eStreamTransformChangesResponse\x12U\n\x0bchange_type\x18\x01 \x01(\x0e24.viam.service.worldstatestore.v1.TransformChangeTypeR\nchangeType\x127\n\ttransform\x18\x02 \x01(\x0b2\x19.viam.common.v1.TransformR\ttransform\x12A\n\x0eupdated_fields\x18\x03 \x01(\x0b2\x1a.google.protobuf.FieldMaskR\rupdatedFields*\xa3\x01\n\x13TransformChangeType\x12%\n!TRANSFORM_CHANGE_TYPE_UNSPECIFIED\x10\x00\x12\x1f\n\x1bTRANSFORM_CHANGE_TYPE_ADDED\x10\x01\x12!\n\x1dTRANSFORM_CHANGE_TYPE_REMOVED\x10\x02\x12!\n\x1dTRANSFORM_CHANGE_TYPE_UPDATED\x10\x032\x8c\x05\n\x16WorldStateStoreService\x12t\n\tListUUIDs\x121.viam.service.worldstatestore.v1.ListUUIDsRequest\x1a2.viam.service.worldstatestore.v1.ListUUIDsResponse"\x00\x12}\n\x0cGetTransform\x124.viam.service.worldstatestore.v1.GetTransformRequest\x1a5.viam.service.worldstatestore.v1.GetTransformResponse"\x00\x12\xe9\x01\n\x16StreamTransformChanges\x12>.viam.service.worldstatestore.v1.StreamTransformChangesRequest\x1a?.viam.service.worldstatestore.v1.StreamTransformChangesResponse"L\x82\xd3\xe4\x93\x02F\x12D/viam/api/v1/service/worldstatestore/{name}/stream_transform_changes0\x01\x12\x90\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse">\x82\xd3\xe4\x93\x028"6/viam/api/v1/service/worldstatestore/{name}/do_commandBQ\n#com.viam.service.worldstatestore.v1Z*go.viam.com/api/service/worldstatestore/v1b\x06proto3')
|
|
14
|
+
_globals = globals()
|
|
15
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
16
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'service.worldstatestore.v1.world_state_store_pb2', _globals)
|
|
17
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
18
|
+
_globals['DESCRIPTOR']._loaded_options = None
|
|
19
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n#com.viam.service.worldstatestore.v1Z*go.viam.com/api/service/worldstatestore/v1'
|
|
20
|
+
_globals['_WORLDSTATESTORESERVICE'].methods_by_name['StreamTransformChanges']._loaded_options = None
|
|
21
|
+
_globals['_WORLDSTATESTORESERVICE'].methods_by_name['StreamTransformChanges']._serialized_options = b'\x82\xd3\xe4\x93\x02F\x12D/viam/api/v1/service/worldstatestore/{name}/stream_transform_changes'
|
|
22
|
+
_globals['_WORLDSTATESTORESERVICE'].methods_by_name['DoCommand']._loaded_options = None
|
|
23
|
+
_globals['_WORLDSTATESTORESERVICE'].methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x028"6/viam/api/v1/service/worldstatestore/{name}/do_command'
|
|
24
|
+
_globals['_TRANSFORMCHANGETYPE']._serialized_start = 873
|
|
25
|
+
_globals['_TRANSFORMCHANGETYPE']._serialized_end = 1036
|
|
26
|
+
_globals['_LISTUUIDSREQUEST']._serialized_start = 205
|
|
27
|
+
_globals['_LISTUUIDSREQUEST']._serialized_end = 290
|
|
28
|
+
_globals['_LISTUUIDSRESPONSE']._serialized_start = 292
|
|
29
|
+
_globals['_LISTUUIDSRESPONSE']._serialized_end = 333
|
|
30
|
+
_globals['_GETTRANSFORMREQUEST']._serialized_start = 335
|
|
31
|
+
_globals['_GETTRANSFORMREQUEST']._serialized_end = 443
|
|
32
|
+
_globals['_GETTRANSFORMRESPONSE']._serialized_start = 445
|
|
33
|
+
_globals['_GETTRANSFORMRESPONSE']._serialized_end = 524
|
|
34
|
+
_globals['_STREAMTRANSFORMCHANGESREQUEST']._serialized_start = 526
|
|
35
|
+
_globals['_STREAMTRANSFORMCHANGESREQUEST']._serialized_end = 624
|
|
36
|
+
_globals['_STREAMTRANSFORMCHANGESRESPONSE']._serialized_start = 627
|
|
37
|
+
_globals['_STREAMTRANSFORMCHANGESRESPONSE']._serialized_end = 870
|
|
38
|
+
_globals['_WORLDSTATESTORESERVICE']._serialized_start = 1039
|
|
39
|
+
_globals['_WORLDSTATESTORESERVICE']._serialized_end = 1691
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"""
|
|
2
|
+
@generated by mypy-protobuf. Do not edit manually!
|
|
3
|
+
isort:skip_file
|
|
4
|
+
"""
|
|
5
|
+
import builtins
|
|
6
|
+
import collections.abc
|
|
7
|
+
from .... import common
|
|
8
|
+
import google.protobuf.descriptor
|
|
9
|
+
import google.protobuf.field_mask_pb2
|
|
10
|
+
import google.protobuf.internal.containers
|
|
11
|
+
import google.protobuf.internal.enum_type_wrapper
|
|
12
|
+
import google.protobuf.message
|
|
13
|
+
import google.protobuf.struct_pb2
|
|
14
|
+
import sys
|
|
15
|
+
import typing
|
|
16
|
+
if sys.version_info >= (3, 10):
|
|
17
|
+
import typing as typing_extensions
|
|
18
|
+
else:
|
|
19
|
+
import typing_extensions
|
|
20
|
+
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
|
|
21
|
+
|
|
22
|
+
class _TransformChangeType:
|
|
23
|
+
ValueType = typing.NewType('ValueType', builtins.int)
|
|
24
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
25
|
+
|
|
26
|
+
class _TransformChangeTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_TransformChangeType.ValueType], builtins.type):
|
|
27
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
28
|
+
TRANSFORM_CHANGE_TYPE_UNSPECIFIED: _TransformChangeType.ValueType
|
|
29
|
+
TRANSFORM_CHANGE_TYPE_ADDED: _TransformChangeType.ValueType
|
|
30
|
+
TRANSFORM_CHANGE_TYPE_REMOVED: _TransformChangeType.ValueType
|
|
31
|
+
TRANSFORM_CHANGE_TYPE_UPDATED: _TransformChangeType.ValueType
|
|
32
|
+
|
|
33
|
+
class TransformChangeType(_TransformChangeType, metaclass=_TransformChangeTypeEnumTypeWrapper):
|
|
34
|
+
...
|
|
35
|
+
TRANSFORM_CHANGE_TYPE_UNSPECIFIED: TransformChangeType.ValueType
|
|
36
|
+
TRANSFORM_CHANGE_TYPE_ADDED: TransformChangeType.ValueType
|
|
37
|
+
TRANSFORM_CHANGE_TYPE_REMOVED: TransformChangeType.ValueType
|
|
38
|
+
TRANSFORM_CHANGE_TYPE_UPDATED: TransformChangeType.ValueType
|
|
39
|
+
global___TransformChangeType = TransformChangeType
|
|
40
|
+
|
|
41
|
+
@typing.final
|
|
42
|
+
class ListUUIDsRequest(google.protobuf.message.Message):
|
|
43
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
44
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
45
|
+
EXTRA_FIELD_NUMBER: builtins.int
|
|
46
|
+
name: builtins.str
|
|
47
|
+
'Name of the world object store service'
|
|
48
|
+
|
|
49
|
+
@property
|
|
50
|
+
def extra(self) -> google.protobuf.struct_pb2.Struct:
|
|
51
|
+
"""Additional arguments to the method"""
|
|
52
|
+
|
|
53
|
+
def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
|
|
54
|
+
...
|
|
55
|
+
|
|
56
|
+
def HasField(self, field_name: typing.Literal['extra', b'extra']) -> builtins.bool:
|
|
57
|
+
...
|
|
58
|
+
|
|
59
|
+
def ClearField(self, field_name: typing.Literal['extra', b'extra', 'name', b'name']) -> None:
|
|
60
|
+
...
|
|
61
|
+
global___ListUUIDsRequest = ListUUIDsRequest
|
|
62
|
+
|
|
63
|
+
@typing.final
|
|
64
|
+
class ListUUIDsResponse(google.protobuf.message.Message):
|
|
65
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
66
|
+
UUIDS_FIELD_NUMBER: builtins.int
|
|
67
|
+
|
|
68
|
+
@property
|
|
69
|
+
def uuids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]:
|
|
70
|
+
...
|
|
71
|
+
|
|
72
|
+
def __init__(self, *, uuids: collections.abc.Iterable[builtins.bytes] | None=...) -> None:
|
|
73
|
+
...
|
|
74
|
+
|
|
75
|
+
def ClearField(self, field_name: typing.Literal['uuids', b'uuids']) -> None:
|
|
76
|
+
...
|
|
77
|
+
global___ListUUIDsResponse = ListUUIDsResponse
|
|
78
|
+
|
|
79
|
+
@typing.final
|
|
80
|
+
class GetTransformRequest(google.protobuf.message.Message):
|
|
81
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
82
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
83
|
+
UUID_FIELD_NUMBER: builtins.int
|
|
84
|
+
EXTRA_FIELD_NUMBER: builtins.int
|
|
85
|
+
name: builtins.str
|
|
86
|
+
'Name of the world object store service'
|
|
87
|
+
uuid: builtins.bytes
|
|
88
|
+
|
|
89
|
+
@property
|
|
90
|
+
def extra(self) -> google.protobuf.struct_pb2.Struct:
|
|
91
|
+
"""Additional arguments to the method"""
|
|
92
|
+
|
|
93
|
+
def __init__(self, *, name: builtins.str=..., uuid: builtins.bytes=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
|
|
94
|
+
...
|
|
95
|
+
|
|
96
|
+
def HasField(self, field_name: typing.Literal['extra', b'extra']) -> builtins.bool:
|
|
97
|
+
...
|
|
98
|
+
|
|
99
|
+
def ClearField(self, field_name: typing.Literal['extra', b'extra', 'name', b'name', 'uuid', b'uuid']) -> None:
|
|
100
|
+
...
|
|
101
|
+
global___GetTransformRequest = GetTransformRequest
|
|
102
|
+
|
|
103
|
+
@typing.final
|
|
104
|
+
class GetTransformResponse(google.protobuf.message.Message):
|
|
105
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
106
|
+
TRANSFORM_FIELD_NUMBER: builtins.int
|
|
107
|
+
|
|
108
|
+
@property
|
|
109
|
+
def transform(self) -> common.v1.common_pb2.Transform:
|
|
110
|
+
...
|
|
111
|
+
|
|
112
|
+
def __init__(self, *, transform: common.v1.common_pb2.Transform | None=...) -> None:
|
|
113
|
+
...
|
|
114
|
+
|
|
115
|
+
def HasField(self, field_name: typing.Literal['transform', b'transform']) -> builtins.bool:
|
|
116
|
+
...
|
|
117
|
+
|
|
118
|
+
def ClearField(self, field_name: typing.Literal['transform', b'transform']) -> None:
|
|
119
|
+
...
|
|
120
|
+
global___GetTransformResponse = GetTransformResponse
|
|
121
|
+
|
|
122
|
+
@typing.final
|
|
123
|
+
class StreamTransformChangesRequest(google.protobuf.message.Message):
|
|
124
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
125
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
126
|
+
EXTRA_FIELD_NUMBER: builtins.int
|
|
127
|
+
name: builtins.str
|
|
128
|
+
'Name of the world object store service'
|
|
129
|
+
|
|
130
|
+
@property
|
|
131
|
+
def extra(self) -> google.protobuf.struct_pb2.Struct:
|
|
132
|
+
"""Additional arguments to the method"""
|
|
133
|
+
|
|
134
|
+
def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
|
|
135
|
+
...
|
|
136
|
+
|
|
137
|
+
def HasField(self, field_name: typing.Literal['extra', b'extra']) -> builtins.bool:
|
|
138
|
+
...
|
|
139
|
+
|
|
140
|
+
def ClearField(self, field_name: typing.Literal['extra', b'extra', 'name', b'name']) -> None:
|
|
141
|
+
...
|
|
142
|
+
global___StreamTransformChangesRequest = StreamTransformChangesRequest
|
|
143
|
+
|
|
144
|
+
@typing.final
|
|
145
|
+
class StreamTransformChangesResponse(google.protobuf.message.Message):
|
|
146
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
147
|
+
CHANGE_TYPE_FIELD_NUMBER: builtins.int
|
|
148
|
+
TRANSFORM_FIELD_NUMBER: builtins.int
|
|
149
|
+
UPDATED_FIELDS_FIELD_NUMBER: builtins.int
|
|
150
|
+
change_type: global___TransformChangeType.ValueType
|
|
151
|
+
|
|
152
|
+
@property
|
|
153
|
+
def transform(self) -> common.v1.common_pb2.Transform:
|
|
154
|
+
...
|
|
155
|
+
|
|
156
|
+
@property
|
|
157
|
+
def updated_fields(self) -> google.protobuf.field_mask_pb2.FieldMask:
|
|
158
|
+
"""The field mask of the transform that has changed, if any. For added transforms, this will be empty. For updated
|
|
159
|
+
transforms, this will be the fields that have changed. For removed transforms, this will be the transform's UUID
|
|
160
|
+
path.
|
|
161
|
+
"""
|
|
162
|
+
|
|
163
|
+
def __init__(self, *, change_type: global___TransformChangeType.ValueType=..., transform: common.v1.common_pb2.Transform | None=..., updated_fields: google.protobuf.field_mask_pb2.FieldMask | None=...) -> None:
|
|
164
|
+
...
|
|
165
|
+
|
|
166
|
+
def HasField(self, field_name: typing.Literal['transform', b'transform', 'updated_fields', b'updated_fields']) -> builtins.bool:
|
|
167
|
+
...
|
|
168
|
+
|
|
169
|
+
def ClearField(self, field_name: typing.Literal['change_type', b'change_type', 'transform', b'transform', 'updated_fields', b'updated_fields']) -> None:
|
|
170
|
+
...
|
|
171
|
+
global___StreamTransformChangesResponse = StreamTransformChangesResponse
|
viam/gen/stream/v1/stream_pb2.py
CHANGED
|
@@ -4,7 +4,7 @@ from google.protobuf import descriptor_pool as _descriptor_pool
|
|
|
4
4
|
from google.protobuf import runtime_version as _runtime_version
|
|
5
5
|
from google.protobuf import symbol_database as _symbol_database
|
|
6
6
|
from google.protobuf.internal import builder as _builder
|
|
7
|
-
_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 5, 29,
|
|
7
|
+
_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 5, 29, 2, '', 'stream/v1/stream.proto')
|
|
8
8
|
_sym_db = _symbol_database.Default()
|
|
9
9
|
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16stream/v1/stream.proto\x12\x0fproto.stream.v1"\x14\n\x12ListStreamsRequest"+\n\x13ListStreamsResponse\x12\x14\n\x05names\x18\x01 \x03(\tR\x05names"&\n\x10AddStreamRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x13\n\x11AddStreamResponse")\n\x13RemoveStreamRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x16\n\x14RemoveStreamResponse":\n\nResolution\x12\x14\n\x05width\x18\x01 \x01(\x05R\x05width\x12\x16\n\x06height\x18\x02 \x01(\x05R\x06height"-\n\x17GetStreamOptionsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"Y\n\x18GetStreamOptionsResponse\x12=\n\x0bresolutions\x18\x01 \x03(\x0b2\x1b.proto.stream.v1.ResolutionR\x0bresolutions"j\n\x17SetStreamOptionsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12;\n\nresolution\x18\x02 \x01(\x0b2\x1b.proto.stream.v1.ResolutionR\nresolution"\x1a\n\x18SetStreamOptionsResponse2\xec\x03\n\rStreamService\x12X\n\x0bListStreams\x12#.proto.stream.v1.ListStreamsRequest\x1a$.proto.stream.v1.ListStreamsResponse\x12R\n\tAddStream\x12!.proto.stream.v1.AddStreamRequest\x1a".proto.stream.v1.AddStreamResponse\x12g\n\x10GetStreamOptions\x12(.proto.stream.v1.GetStreamOptionsRequest\x1a).proto.stream.v1.GetStreamOptionsResponse\x12g\n\x10SetStreamOptions\x12(.proto.stream.v1.SetStreamOptionsRequest\x1a).proto.stream.v1.SetStreamOptionsResponse\x12[\n\x0cRemoveStream\x12$.proto.stream.v1.RemoveStreamRequest\x1a%.proto.stream.v1.RemoveStreamResponseB.Z,github.com/edaniels/gostream/proto/stream/v1b\x06proto3')
|
|
10
10
|
_globals = globals()
|
viam/gen/tagger/v1/tagger_pb2.py
CHANGED
|
@@ -4,7 +4,7 @@ from google.protobuf import descriptor_pool as _descriptor_pool
|
|
|
4
4
|
from google.protobuf import runtime_version as _runtime_version
|
|
5
5
|
from google.protobuf import symbol_database as _symbol_database
|
|
6
6
|
from google.protobuf.internal import builder as _builder
|
|
7
|
-
_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 5, 29,
|
|
7
|
+
_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 5, 29, 2, '', 'tagger/v1/tagger.proto')
|
|
8
8
|
_sym_db = _symbol_database.Default()
|
|
9
9
|
from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2
|
|
10
10
|
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16tagger/v1/tagger.proto\x12\ttagger.v1\x1a google/protobuf/descriptor.proto:3\n\x04tags\x12\x1d.google.protobuf.FieldOptions\x18\xc3\xe03 \x01(\tR\x04tags:>\n\noneof_tags\x12\x1d.google.protobuf.OneofOptions\x18\xc3\xe03 \x01(\tR\toneofTagsB4Z2github.com/srikrsna/protoc-gen-gotag/tagger;taggerb\x06proto3')
|
viam/logging.py
CHANGED
|
@@ -4,7 +4,7 @@ import sys
|
|
|
4
4
|
from copy import copy
|
|
5
5
|
from datetime import datetime
|
|
6
6
|
from logging import DEBUG, ERROR, FATAL, INFO, WARN, WARNING # noqa: F401
|
|
7
|
-
from threading import Lock, Thread
|
|
7
|
+
from threading import Event, Lock, Thread
|
|
8
8
|
from typing import TYPE_CHECKING, Dict, Iterable, List, Optional, Union
|
|
9
9
|
|
|
10
10
|
from grpclib.exceptions import StreamTerminatedError
|
|
@@ -23,8 +23,10 @@ _MODULE_PARENT: Optional["RobotClient"] = None
|
|
|
23
23
|
class _SingletonEventLoopThread:
|
|
24
24
|
_instance = None
|
|
25
25
|
_lock = Lock()
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
# We use a threading.Event instead of an asyncio.Event because the latter are not thread safe,
|
|
27
|
+
# and this is set in a separate thread than it is waited on.
|
|
28
|
+
_ready_event = Event()
|
|
29
|
+
_loop: asyncio.AbstractEventLoop
|
|
28
30
|
_thread: Thread
|
|
29
31
|
|
|
30
32
|
def __new__(cls):
|
|
@@ -33,13 +35,12 @@ class _SingletonEventLoopThread:
|
|
|
33
35
|
with cls._lock:
|
|
34
36
|
if cls._instance is None:
|
|
35
37
|
cls._instance = super(_SingletonEventLoopThread, cls).__new__(cls)
|
|
36
|
-
cls._instance._loop =
|
|
38
|
+
cls._instance._loop = asyncio.new_event_loop()
|
|
37
39
|
cls._instance._thread = Thread(target=cls._instance._run)
|
|
38
40
|
cls._instance._thread.start()
|
|
39
41
|
return cls._instance
|
|
40
42
|
|
|
41
43
|
def _run(self):
|
|
42
|
-
self._loop = asyncio.new_event_loop()
|
|
43
44
|
asyncio.set_event_loop(self._loop)
|
|
44
45
|
self._ready_event.set()
|
|
45
46
|
self._loop.run_forever()
|
|
@@ -54,8 +55,8 @@ class _SingletonEventLoopThread:
|
|
|
54
55
|
raise RuntimeError("Event loop is None. Did you call .start() and .wait_until_ready()?")
|
|
55
56
|
return self._loop
|
|
56
57
|
|
|
57
|
-
|
|
58
|
-
|
|
58
|
+
def wait_until_ready(self):
|
|
59
|
+
self._ready_event.wait()
|
|
59
60
|
|
|
60
61
|
|
|
61
62
|
class _ModuleHandler(logging.Handler):
|
|
@@ -101,7 +102,7 @@ class _ModuleHandler(logging.Handler):
|
|
|
101
102
|
self._logger.log(record.levelno, message)
|
|
102
103
|
|
|
103
104
|
async def _asynchronously_emit(self, record: logging.LogRecord, name: str, message: str, stack: str, time: datetime):
|
|
104
|
-
|
|
105
|
+
self._worker.wait_until_ready()
|
|
105
106
|
task = self._worker.get_loop().create_task(
|
|
106
107
|
self._parent.log(name, record.levelname, time, message, stack),
|
|
107
108
|
name=f"{viam._TASK_PREFIX}-LOG-{record.created}",
|
viam/media/audio.py
CHANGED
|
@@ -1,16 +1,28 @@
|
|
|
1
|
-
from
|
|
1
|
+
from enum import Enum
|
|
2
2
|
|
|
3
|
-
from viam.proto.component.audioinput import AudioChunk, AudioChunkInfo
|
|
4
|
-
from viam.streams import Stream, StreamReader
|
|
5
3
|
|
|
4
|
+
class AudioCodec(str, Enum):
|
|
5
|
+
"""Common audio codec identifiers.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
"""A block of audio data containing information about the block and the audio data"""
|
|
7
|
+
These constants represent commonly supported audio codecs
|
|
8
|
+
for audioin and audioout components.
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
chunk: AudioChunk
|
|
10
|
+
Example::
|
|
13
11
|
|
|
12
|
+
from viam.components.codecs import AudioCodec
|
|
13
|
+
from viam.proto.common import AudioInfo
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
audio_info = AudioInfo(
|
|
16
|
+
codec=AudioCodec.PCM16,
|
|
17
|
+
sample_rate_hz=44100,
|
|
18
|
+
num_channels=2
|
|
19
|
+
)
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
PCM16 = "pcm16"
|
|
23
|
+
PCM32 = "pcm32"
|
|
24
|
+
PCM32_FLOAT = "pcm32_float"
|
|
25
|
+
MP3 = "mp3"
|
|
26
|
+
AAC = "aac"
|
|
27
|
+
OPUS = "opus"
|
|
28
|
+
FLAC = "flac"
|