viam-sdk 0.3.0__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/__init__.py +29 -2
- viam/app/_logs.py +34 -0
- viam/app/app_client.py +2696 -0
- viam/app/billing_client.py +185 -0
- viam/app/data_client.py +2231 -0
- viam/app/ml_training_client.py +249 -0
- viam/app/provisioning_client.py +93 -0
- viam/app/viam_client.py +275 -0
- viam/components/arm/__init__.py +3 -26
- viam/components/arm/arm.py +123 -8
- viam/components/arm/client.py +37 -24
- viam/components/arm/service.py +35 -32
- 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/__init__.py +6 -11
- viam/components/base/base.py +134 -8
- viam/components/base/client.py +51 -23
- viam/components/base/service.py +33 -30
- viam/components/board/__init__.py +3 -12
- viam/components/board/board.py +247 -91
- viam/components/board/client.py +149 -83
- viam/components/board/service.py +63 -33
- 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/__init__.py +3 -3
- viam/components/camera/camera.py +62 -27
- viam/components/camera/client.py +59 -27
- viam/components/camera/service.py +42 -65
- viam/components/component_base.py +28 -5
- viam/components/encoder/__init__.py +1 -1
- viam/components/encoder/client.py +25 -14
- viam/components/encoder/encoder.py +48 -10
- viam/components/encoder/service.py +14 -18
- viam/components/gantry/__init__.py +1 -13
- viam/components/gantry/client.py +80 -25
- viam/components/gantry/gantry.py +123 -9
- viam/components/gantry/service.py +51 -29
- viam/components/generic/__init__.py +1 -1
- viam/components/generic/client.py +21 -8
- viam/components/generic/generic.py +10 -2
- viam/components/generic/service.py +12 -7
- viam/components/gripper/__init__.py +3 -13
- viam/components/gripper/client.py +69 -21
- viam/components/gripper/gripper.py +123 -3
- viam/components/gripper/service.py +44 -22
- viam/components/input/__init__.py +1 -14
- viam/components/input/client.py +55 -23
- viam/components/input/input.py +106 -3
- viam/components/input/service.py +16 -21
- viam/components/motor/__init__.py +1 -21
- viam/components/motor/client.py +56 -33
- viam/components/motor/motor.py +127 -4
- viam/components/motor/service.py +33 -44
- viam/components/movement_sensor/__init__.py +1 -1
- viam/components/movement_sensor/client.py +102 -45
- viam/components/movement_sensor/movement_sensor.py +130 -61
- viam/components/movement_sensor/service.py +38 -41
- viam/components/pose_tracker/__init__.py +1 -1
- viam/components/pose_tracker/client.py +18 -7
- viam/components/pose_tracker/pose_tracker.py +4 -2
- viam/components/pose_tracker/service.py +12 -10
- viam/components/power_sensor/__init__.py +17 -0
- viam/components/power_sensor/client.py +86 -0
- viam/components/power_sensor/power_sensor.py +104 -0
- viam/components/power_sensor/service.py +72 -0
- viam/components/sensor/__init__.py +2 -1
- viam/components/sensor/client.py +26 -10
- viam/components/sensor/sensor.py +22 -4
- viam/components/sensor/service.py +20 -11
- viam/components/servo/__init__.py +1 -13
- viam/components/servo/client.py +47 -21
- viam/components/servo/service.py +15 -22
- viam/components/servo/servo.py +61 -2
- 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/errors.py +10 -0
- viam/gen/app/agent/v1/agent_grpc.py +29 -0
- viam/gen/app/agent/v1/agent_pb2.py +47 -0
- viam/gen/app/agent/v1/agent_pb2.pyi +280 -0
- viam/gen/app/cloudslam/v1/__init__.py +0 -0
- viam/gen/app/cloudslam/v1/cloud_slam_grpc.py +70 -0
- viam/gen/app/cloudslam/v1/cloud_slam_pb2.py +54 -0
- viam/gen/app/cloudslam/v1/cloud_slam_pb2.pyi +384 -0
- viam/gen/app/data/v1/data_grpc.py +197 -8
- viam/gen/app/data/v1/data_pb2.py +238 -99
- viam/gen/app/data/v1/data_pb2.pyi +1222 -259
- 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/__init__.py +0 -0
- viam/gen/app/dataset/v1/__init__.py +0 -0
- viam/gen/app/dataset/v1/dataset_grpc.py +68 -0
- viam/gen/app/dataset/v1/dataset_pb2.py +44 -0
- viam/gen/app/dataset/v1/dataset_pb2.pyi +214 -0
- viam/gen/app/datasync/v1/data_sync_grpc.py +21 -4
- viam/gen/app/datasync/v1/data_sync_pb2.py +62 -128
- viam/gen/app/datasync/v1/data_sync_pb2.pyi +156 -199
- viam/gen/app/mlinference/__init__.py +0 -0
- viam/gen/app/mlinference/v1/__init__.py +0 -0
- viam/gen/app/mlinference/v1/ml_inference_grpc.py +28 -0
- viam/gen/app/mlinference/v1/ml_inference_pb2.py +23 -0
- viam/gen/app/mlinference/v1/ml_inference_pb2.pyi +63 -0
- viam/gen/app/mltraining/v1/ml_training_grpc.py +51 -3
- viam/gen/app/mltraining/v1/ml_training_pb2.py +135 -58
- viam/gen/app/mltraining/v1/ml_training_pb2.pyi +328 -39
- viam/gen/app/packages/v1/packages_grpc.py +15 -1
- viam/gen/app/packages/v1/packages_pb2.py +44 -64
- viam/gen/app/packages/v1/packages_pb2.pyi +75 -85
- viam/gen/app/v1/app_grpc.py +644 -3
- viam/gen/app/v1/app_pb2.py +695 -295
- viam/gen/app/v1/app_pb2.pyi +4488 -635
- viam/gen/app/v1/billing_grpc.py +53 -11
- viam/gen/app/v1/billing_pb2.py +94 -39
- viam/gen/app/v1/billing_pb2.pyi +391 -191
- viam/gen/app/v1/end_user_grpc.py +59 -0
- viam/gen/app/v1/end_user_pb2.py +55 -0
- viam/gen/app/v1/end_user_pb2.pyi +181 -0
- viam/gen/app/v1/robot_grpc.py +16 -1
- viam/gen/app/v1/robot_pb2.py +122 -94
- viam/gen/app/v1/robot_pb2.pyi +463 -123
- viam/gen/common/v1/common_pb2.py +87 -58
- viam/gen/common/v1/common_pb2.pyi +456 -149
- viam/gen/component/arm/v1/arm_grpc.py +58 -2
- viam/gen/component/arm/v1/arm_pb2.py +68 -51
- viam/gen/component/arm/v1/arm_pb2.pyi +108 -42
- 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_grpc.py +25 -2
- viam/gen/component/audioinput/v1/audioinput_pb2.py +36 -31
- viam/gen/component/audioinput/v1/audioinput_pb2.pyi +22 -22
- 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_grpc.py +42 -2
- viam/gen/component/base/v1/base_pb2.py +58 -47
- viam/gen/component/base/v1/base_pb2.pyi +65 -30
- viam/gen/component/board/v1/board_grpc.py +59 -7
- viam/gen/component/board/v1/board_pb2.py +94 -73
- viam/gen/component/board/v1/board_pb2.pyi +165 -68
- viam/gen/component/button/__init__.py +0 -0
- viam/gen/component/button/v1/__init__.py +0 -0
- viam/gen/component/button/v1/button_grpc.py +38 -0
- viam/gen/component/button/v1/button_pb2.py +28 -0
- viam/gen/component/button/v1/button_pb2.pyi +39 -0
- viam/gen/component/camera/v1/camera_grpc.py +38 -2
- viam/gen/component/camera/v1/camera_pb2.py +60 -43
- viam/gen/component/camera/v1/camera_pb2.pyi +191 -37
- viam/gen/component/encoder/v1/encoder_grpc.py +25 -2
- viam/gen/component/encoder/v1/encoder_pb2.py +36 -31
- viam/gen/component/encoder/v1/encoder_pb2.pyi +15 -15
- viam/gen/component/gantry/v1/gantry_grpc.py +47 -2
- viam/gen/component/gantry/v1/gantry_pb2.py +56 -43
- viam/gen/component/gantry/v1/gantry_pb2.pyi +67 -31
- viam/gen/component/generic/v1/generic_grpc.py +16 -2
- viam/gen/component/generic/v1/generic_pb2.py +16 -11
- viam/gen/component/gripper/v1/gripper_grpc.py +44 -2
- viam/gen/component/gripper/v1/gripper_pb2.py +48 -35
- viam/gen/component/gripper/v1/gripper_pb2.pyi +62 -24
- viam/gen/component/inputcontroller/v1/input_controller_grpc.py +28 -2
- viam/gen/component/inputcontroller/v1/input_controller_pb2.py +46 -41
- viam/gen/component/inputcontroller/v1/input_controller_pb2.pyi +32 -36
- viam/gen/component/motor/v1/motor_grpc.py +51 -2
- viam/gen/component/motor/v1/motor_pb2.py +78 -67
- viam/gen/component/motor/v1/motor_pb2.pyi +75 -46
- viam/gen/component/movementsensor/v1/movementsensor_grpc.py +48 -2
- viam/gen/component/movementsensor/v1/movementsensor_pb2.py +70 -63
- viam/gen/component/movementsensor/v1/movementsensor_pb2.pyi +84 -57
- viam/gen/component/posetracker/v1/pose_tracker_grpc.py +19 -2
- viam/gen/component/posetracker/v1/pose_tracker_pb2.py +26 -21
- viam/gen/component/posetracker/v1/pose_tracker_pb2.pyi +9 -13
- viam/gen/component/powersensor/__init__.py +0 -0
- viam/gen/component/powersensor/v1/__init__.py +0 -0
- viam/gen/component/powersensor/v1/powersensor_grpc.py +62 -0
- viam/gen/component/powersensor/v1/powersensor_pb2.py +42 -0
- viam/gen/component/powersensor/v1/powersensor_pb2.pyi +124 -0
- viam/gen/component/sensor/v1/sensor_grpc.py +21 -5
- viam/gen/component/sensor/v1/sensor_pb2.py +18 -22
- viam/gen/component/sensor/v1/sensor_pb2.pyi +1 -69
- viam/gen/component/servo/v1/servo_grpc.py +28 -2
- viam/gen/component/servo/v1/servo_pb2.py +42 -37
- viam/gen/component/servo/v1/servo_pb2.pyi +22 -26
- viam/gen/component/switch/__init__.py +0 -0
- viam/gen/component/switch/v1/__init__.py +0 -0
- viam/gen/component/switch/v1/switch_grpc.py +54 -0
- viam/gen/component/switch/v1/switch_pb2.py +40 -0
- viam/gen/component/switch/v1/switch_pb2.pyi +116 -0
- viam/gen/component/testecho/v1/testecho_grpc.py +15 -0
- viam/gen/component/testecho/v1/testecho_pb2.py +29 -26
- viam/gen/component/testecho/v1/testecho_pb2.pyi +16 -20
- viam/gen/module/v1/module_grpc.py +18 -0
- viam/gen/module/v1/module_pb2.py +36 -33
- viam/gen/module/v1/module_pb2.pyi +39 -34
- 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_grpc.py +12 -0
- viam/gen/proto/rpc/examples/echo/v1/echo_pb2.py +25 -22
- viam/gen/proto/rpc/examples/echo/v1/echo_pb2.pyi +13 -17
- viam/gen/proto/rpc/examples/echoresource/v1/echoresource_grpc.py +12 -0
- viam/gen/proto/rpc/examples/echoresource/v1/echoresource_pb2.py +23 -20
- viam/gen/proto/rpc/examples/echoresource/v1/echoresource_pb2.pyi +13 -17
- viam/gen/proto/rpc/v1/auth_grpc.py +11 -0
- viam/gen/proto/rpc/v1/auth_pb2.py +27 -24
- viam/gen/proto/rpc/v1/auth_pb2.pyi +12 -16
- viam/gen/proto/rpc/webrtc/v1/grpc_pb2.py +35 -32
- viam/gen/proto/rpc/webrtc/v1/grpc_pb2.pyi +37 -41
- viam/gen/proto/rpc/webrtc/v1/signaling_grpc.py +15 -0
- viam/gen/proto/rpc/webrtc/v1/signaling_pb2.py +62 -57
- viam/gen/proto/rpc/webrtc/v1/signaling_pb2.pyi +78 -69
- viam/gen/provisioning/__init__.py +0 -0
- viam/gen/provisioning/v1/__init__.py +0 -0
- viam/gen/provisioning/v1/provisioning_grpc.py +59 -0
- viam/gen/provisioning/v1/provisioning_pb2.py +45 -0
- viam/gen/provisioning/v1/provisioning_pb2.pyi +229 -0
- viam/gen/robot/v1/robot_grpc.py +144 -15
- viam/gen/robot/v1/robot_pb2.py +193 -119
- viam/gen/robot/v1/robot_pb2.pyi +565 -137
- viam/gen/service/datamanager/v1/data_manager_grpc.py +20 -2
- viam/gen/service/datamanager/v1/data_manager_pb2.py +27 -17
- viam/gen/service/datamanager/v1/data_manager_pb2.pyi +52 -10
- viam/gen/service/discovery/__init__.py +0 -0
- viam/gen/service/discovery/v1/__init__.py +0 -0
- viam/gen/service/discovery/v1/discovery_grpc.py +39 -0
- viam/gen/service/discovery/v1/discovery_pb2.py +29 -0
- viam/gen/service/discovery/v1/discovery_pb2.pyi +51 -0
- viam/gen/service/generic/__init__.py +0 -0
- viam/gen/service/generic/v1/__init__.py +0 -0
- viam/gen/service/generic/v1/generic_grpc.py +29 -0
- viam/gen/service/generic/v1/generic_pb2.py +21 -0
- viam/gen/service/generic/v1/generic_pb2.pyi +6 -0
- viam/gen/service/mlmodel/v1/mlmodel_grpc.py +9 -0
- viam/gen/service/mlmodel/v1/mlmodel_pb2.py +76 -29
- viam/gen/service/mlmodel/v1/mlmodel_pb2.pyi +307 -28
- viam/gen/service/motion/v1/motion_grpc.py +42 -4
- viam/gen/service/motion/v1/motion_pb2.py +119 -51
- viam/gen/service/motion/v1/motion_pb2.pyi +595 -120
- viam/gen/service/navigation/v1/navigation_grpc.py +49 -1
- viam/gen/service/navigation/v1/navigation_pb2.py +76 -51
- viam/gen/service/navigation/v1/navigation_pb2.pyi +188 -33
- viam/gen/service/sensors/v1/sensors_grpc.py +12 -0
- viam/gen/service/sensors/v1/sensors_pb2.py +60 -29
- viam/gen/service/sensors/v1/sensors_pb2.pyi +18 -21
- viam/gen/service/shell/v1/shell_grpc.py +27 -1
- viam/gen/service/shell/v1/shell_pb2.py +37 -15
- viam/gen/service/shell/v1/shell_pb2.pyi +260 -7
- viam/gen/service/slam/v1/slam_grpc.py +24 -2
- viam/gen/service/slam/v1/slam_pb2.py +44 -30
- viam/gen/service/slam/v1/slam_pb2.pyi +128 -27
- 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_grpc.py +39 -1
- viam/gen/service/vision/v1/vision_pb2.py +61 -45
- viam/gen/service/vision/v1/vision_pb2.pyi +180 -41
- 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/__init__.py +0 -0
- viam/gen/stream/v1/__init__.py +0 -0
- viam/gen/stream/v1/stream_grpc.py +59 -0
- viam/gen/stream/v1/stream_pb2.py +39 -0
- viam/gen/stream/v1/stream_pb2.pyi +161 -0
- viam/gen/tagger/v1/tagger_pb2.py +9 -8
- viam/logging.py +160 -17
- viam/media/__init__.py +0 -9
- viam/media/audio.py +22 -10
- viam/media/utils/__init__.py +0 -0
- viam/media/utils/pil/__init__.py +55 -0
- viam/media/{viam_rgba_plugin.py → utils/pil/viam_rgba_plugin.py} +10 -16
- viam/media/viam_rgba.py +10 -0
- viam/media/video.py +197 -73
- viam/module/module.py +191 -44
- viam/module/resource_data_consumer.py +41 -0
- viam/module/service.py +9 -1
- viam/module/types.py +4 -5
- viam/operations.py +4 -3
- viam/proto/app/__init__.py +361 -5
- viam/proto/app/agent/__init__.py +28 -0
- viam/proto/app/billing.py +51 -27
- viam/proto/app/cloudslam/__init__.py +48 -0
- viam/proto/app/data/__init__.py +103 -17
- viam/proto/app/datapipelines/__init__.py +56 -0
- viam/proto/app/dataset/__init__.py +40 -0
- viam/proto/app/datasync/__init__.py +11 -5
- viam/proto/app/end_user.py +34 -0
- viam/proto/app/mlinference/__init__.py +15 -0
- viam/proto/app/mltraining/__init__.py +25 -1
- viam/proto/app/packages/__init__.py +3 -3
- viam/proto/app/robot.py +19 -1
- viam/proto/common/__init__.py +35 -8
- viam/proto/component/arm/__init__.py +9 -1
- viam/proto/component/audioin/__init__.py +16 -0
- viam/proto/component/audioinput/__init__.py +3 -1
- viam/proto/component/audioout/__init__.py +15 -0
- viam/proto/component/base/__init__.py +7 -1
- viam/proto/component/board/__init__.py +13 -5
- viam/proto/component/button/__init__.py +15 -0
- viam/proto/component/camera/__init__.py +9 -1
- viam/proto/component/encoder/__init__.py +3 -1
- viam/proto/component/gantry/__init__.py +7 -1
- viam/proto/component/generic/__init__.py +3 -1
- viam/proto/component/gripper/__init__.py +7 -1
- viam/proto/component/inputcontroller/__init__.py +7 -1
- viam/proto/component/motor/__init__.py +7 -1
- viam/proto/component/movementsensor/__init__.py +7 -1
- viam/proto/component/posetracker/__init__.py +7 -1
- viam/proto/component/powersensor/__init__.py +30 -0
- viam/proto/component/sensor/__init__.py +3 -4
- viam/proto/component/servo/__init__.py +3 -1
- viam/proto/component/switch/__init__.py +26 -0
- viam/proto/component/testecho/__init__.py +3 -1
- viam/proto/module/__init__.py +3 -1
- 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 +42 -0
- viam/proto/robot/__init__.py +57 -9
- viam/proto/rpc/auth.py +11 -1
- viam/proto/rpc/examples/echo/__init__.py +3 -1
- viam/proto/rpc/examples/echoresource/__init__.py +7 -1
- viam/proto/rpc/webrtc/grpc.py +3 -1
- viam/proto/rpc/webrtc/signaling.py +5 -1
- viam/proto/service/datamanager/__init__.py +15 -2
- viam/proto/service/discovery/__init__.py +15 -0
- viam/proto/service/generic/__init__.py +12 -0
- viam/proto/service/mlmodel/__init__.py +27 -1
- viam/proto/service/motion/__init__.py +35 -5
- viam/proto/service/navigation/__init__.py +19 -1
- viam/proto/service/sensors/__init__.py +3 -1
- viam/proto/service/shell/__init__.py +25 -2
- viam/proto/service/slam/__init__.py +13 -1
- viam/proto/service/video/__init__.py +15 -0
- viam/proto/service/vision/__init__.py +11 -1
- viam/proto/service/worldstatestore/__init__.py +32 -0
- viam/proto/stream/__init__.py +36 -0
- viam/py.typed +0 -0
- viam/resource/base.py +45 -8
- viam/resource/easy_resource.py +149 -0
- viam/resource/manager.py +35 -14
- viam/resource/registry.py +40 -52
- viam/resource/rpc_client_base.py +33 -1
- viam/resource/rpc_service_base.py +15 -8
- viam/resource/types.py +39 -26
- viam/robot/client.py +458 -91
- viam/robot/service.py +13 -107
- viam/rpc/dial.py +133 -15
- viam/rpc/libviam_rust_utils.so +0 -0
- viam/rpc/server.py +59 -15
- viam/rpc/types.py +2 -4
- viam/services/discovery/__init__.py +12 -0
- viam/services/discovery/client.py +55 -0
- viam/services/discovery/discovery.py +52 -0
- viam/services/discovery/service.py +43 -0
- viam/services/generic/__init__.py +18 -0
- viam/services/generic/client.py +58 -0
- viam/services/generic/generic.py +58 -0
- viam/services/generic/service.py +29 -0
- viam/services/mlmodel/__init__.py +15 -1
- viam/services/mlmodel/client.py +20 -15
- viam/services/mlmodel/mlmodel.py +44 -7
- viam/services/mlmodel/service.py +9 -13
- viam/services/mlmodel/utils.py +101 -0
- viam/services/motion/__init__.py +15 -3
- viam/services/motion/client.py +109 -150
- viam/services/motion/motion.py +380 -0
- viam/services/motion/service.py +132 -0
- viam/services/navigation/__init__.py +11 -0
- viam/services/navigation/client.py +99 -0
- viam/services/navigation/navigation.py +250 -0
- viam/services/navigation/service.py +137 -0
- viam/services/service_base.py +43 -4
- viam/services/service_client_base.py +4 -4
- viam/services/slam/__init__.py +4 -1
- viam/services/slam/client.py +21 -11
- viam/services/slam/service.py +16 -19
- viam/services/slam/slam.py +66 -5
- viam/services/vision/__init__.py +8 -0
- viam/services/vision/client.py +115 -111
- viam/services/vision/service.py +143 -0
- viam/services/vision/vision.py +317 -0
- 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 +254 -0
- viam/streams.py +44 -0
- viam/utils.py +143 -15
- viam/version_metadata.py +4 -0
- viam_sdk-0.66.0.dist-info/METADATA +157 -0
- viam_sdk-0.66.0.dist-info/RECORD +531 -0
- {viam_sdk-0.3.0.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 -79
- viam/components/audio_input/client.py +0 -60
- viam/components/audio_input/service.py +0 -118
- viam/components/types.py +0 -5
- viam/gen/app/model/v1/model_grpc.py +0 -39
- viam/gen/app/model/v1/model_pb2.py +0 -71
- viam/gen/app/model/v1/model_pb2.pyi +0 -285
- viam/gen/proto/rpc/examples/fileupload/v1/fileupload_grpc.py +0 -21
- viam/gen/proto/rpc/examples/fileupload/v1/fileupload_pb2.py +0 -18
- viam/gen/proto/rpc/examples/fileupload/v1/fileupload_pb2.pyi +0 -49
- viam/media/media.py +0 -53
- viam/proto/app/model/__init__.py +0 -40
- viam/proto/rpc/examples/fileupload/__init__.py +0 -13
- viam/services/sensors/__init__.py +0 -5
- viam/services/sensors/client.py +0 -63
- viam_sdk-0.3.0.dist-info/LICENSE +0 -202
- viam_sdk-0.3.0.dist-info/METADATA +0 -122
- viam_sdk-0.3.0.dist-info/RECORD +0 -372
- /viam/{gen/app/model → app}/__init__.py +0 -0
- /viam/gen/app/{model/v1 → agent}/__init__.py +0 -0
- /viam/gen/{proto/rpc/examples/fileupload → app/agent/v1}/__init__.py +0 -0
- /viam/gen/{proto/rpc/examples/fileupload/v1 → app/cloudslam}/__init__.py +0 -0
- /LICENSE → /viam_sdk-0.66.0.dist-info/licenses/LICENSE +0 -0
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import abc
|
|
2
|
-
from dataclasses import dataclass
|
|
3
|
-
from datetime import timedelta
|
|
4
|
-
from typing import Final, Optional
|
|
5
|
-
|
|
6
|
-
from google.protobuf.duration_pb2 import Duration
|
|
7
|
-
from typing_extensions import Self
|
|
8
|
-
|
|
9
|
-
from viam.media import MediaSource
|
|
10
|
-
from viam.media.audio import Audio, AudioStream
|
|
11
|
-
from viam.proto.component.audioinput import PropertiesResponse
|
|
12
|
-
from viam.resource.types import RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, Subtype
|
|
13
|
-
|
|
14
|
-
from ..component_base import ComponentBase
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
class AudioInput(ComponentBase, MediaSource[Audio]):
|
|
18
|
-
"""AudioInput represents a component that can capture audio.
|
|
19
|
-
|
|
20
|
-
This acts as an abstract base class for any drivers representing specific
|
|
21
|
-
audio input implementations. This cannot be used on its own. If the ``__init__()`` function is
|
|
22
|
-
overridden, it must call the ``super().__init__()`` function.
|
|
23
|
-
"""
|
|
24
|
-
|
|
25
|
-
SUBTYPE: Final = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "audio_input")
|
|
26
|
-
|
|
27
|
-
@dataclass
|
|
28
|
-
class Properties:
|
|
29
|
-
channel_count: int
|
|
30
|
-
latency: timedelta
|
|
31
|
-
sample_rate: int
|
|
32
|
-
sample_size: int
|
|
33
|
-
is_big_endian: bool
|
|
34
|
-
is_float: bool
|
|
35
|
-
is_interleaved: bool
|
|
36
|
-
|
|
37
|
-
@property
|
|
38
|
-
def proto(self) -> PropertiesResponse:
|
|
39
|
-
latency = Duration()
|
|
40
|
-
latency.FromTimedelta(self.latency)
|
|
41
|
-
return PropertiesResponse(
|
|
42
|
-
channel_count=self.channel_count,
|
|
43
|
-
latency=latency,
|
|
44
|
-
sample_rate=self.sample_rate,
|
|
45
|
-
sample_size=self.sample_size,
|
|
46
|
-
is_big_endian=self.is_big_endian,
|
|
47
|
-
is_float=self.is_float,
|
|
48
|
-
is_interleaved=self.is_interleaved,
|
|
49
|
-
)
|
|
50
|
-
|
|
51
|
-
@classmethod
|
|
52
|
-
def from_proto(cls, proto: PropertiesResponse) -> Self:
|
|
53
|
-
return cls(
|
|
54
|
-
channel_count=proto.channel_count,
|
|
55
|
-
latency=proto.latency.ToTimedelta(),
|
|
56
|
-
sample_rate=proto.sample_rate,
|
|
57
|
-
sample_size=proto.sample_size,
|
|
58
|
-
is_big_endian=proto.is_big_endian,
|
|
59
|
-
is_float=proto.is_float,
|
|
60
|
-
is_interleaved=proto.is_interleaved,
|
|
61
|
-
)
|
|
62
|
-
|
|
63
|
-
@abc.abstractmethod
|
|
64
|
-
async def stream(self, *, timeout: Optional[float] = None, **kwargs) -> AudioStream:
|
|
65
|
-
"""Stream audio samples from the audio input of the underlying robot
|
|
66
|
-
|
|
67
|
-
Returns:
|
|
68
|
-
MediaStream[Audio]: The stream of audio chunks
|
|
69
|
-
"""
|
|
70
|
-
...
|
|
71
|
-
|
|
72
|
-
@abc.abstractmethod
|
|
73
|
-
async def get_properties(self, *, timeout: Optional[float] = None, **kwargs) -> Properties:
|
|
74
|
-
"""Get the properties of the audio input of the underlying robot
|
|
75
|
-
|
|
76
|
-
Returns:
|
|
77
|
-
Properties: The audio input properties
|
|
78
|
-
"""
|
|
79
|
-
...
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
from typing import AsyncIterator, Mapping, Optional, Union
|
|
2
|
-
|
|
3
|
-
from grpclib.client import Channel
|
|
4
|
-
|
|
5
|
-
from viam.media import MediaStream, MediaStreamWithIterator
|
|
6
|
-
from viam.media.audio import Audio
|
|
7
|
-
from viam.proto.common import DoCommandRequest, DoCommandResponse
|
|
8
|
-
from viam.proto.component.audioinput import (
|
|
9
|
-
AudioInputServiceStub,
|
|
10
|
-
ChunksRequest,
|
|
11
|
-
ChunksResponse,
|
|
12
|
-
PropertiesRequest,
|
|
13
|
-
PropertiesResponse,
|
|
14
|
-
SampleFormat,
|
|
15
|
-
)
|
|
16
|
-
from viam.resource.rpc_client_base import ReconfigurableResourceRPCClientBase
|
|
17
|
-
from viam.utils import ValueTypes, dict_to_struct, struct_to_dict
|
|
18
|
-
|
|
19
|
-
from .audio_input import AudioInput
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
class AudioInputClient(AudioInput, ReconfigurableResourceRPCClientBase):
|
|
23
|
-
"""
|
|
24
|
-
gRPC client for the AudioInput component.
|
|
25
|
-
"""
|
|
26
|
-
|
|
27
|
-
def __init__(self, name: str, channel: Channel):
|
|
28
|
-
self.channel = channel
|
|
29
|
-
self.client = AudioInputServiceStub(channel)
|
|
30
|
-
super().__init__(name)
|
|
31
|
-
|
|
32
|
-
async def stream(self, *, timeout: Optional[float] = None) -> MediaStream[Audio]:
|
|
33
|
-
async def read() -> AsyncIterator[Audio]:
|
|
34
|
-
async with self.client.Chunks.open(timeout=timeout) as chunks_stream:
|
|
35
|
-
await chunks_stream.send_message(
|
|
36
|
-
ChunksRequest(name=self.name, sample_format=SampleFormat.SAMPLE_FORMAT_FLOAT32_INTERLEAVED), end=True
|
|
37
|
-
)
|
|
38
|
-
response: Union[ChunksResponse, None] = await chunks_stream.recv_message()
|
|
39
|
-
assert response is not None and response.HasField("info")
|
|
40
|
-
info = response.info
|
|
41
|
-
|
|
42
|
-
while True:
|
|
43
|
-
response = await chunks_stream.recv_message()
|
|
44
|
-
if response is None:
|
|
45
|
-
break
|
|
46
|
-
assert response.HasField("chunk")
|
|
47
|
-
audio = Audio(info=info, chunk=response.chunk)
|
|
48
|
-
yield audio
|
|
49
|
-
|
|
50
|
-
return MediaStreamWithIterator(read())
|
|
51
|
-
|
|
52
|
-
async def get_properties(self, *, timeout: Optional[float] = None) -> AudioInput.Properties:
|
|
53
|
-
request = PropertiesRequest(name=self.name)
|
|
54
|
-
response: PropertiesResponse = await self.client.Properties(request, timeout=timeout)
|
|
55
|
-
return AudioInput.Properties.from_proto(response)
|
|
56
|
-
|
|
57
|
-
async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None) -> Mapping[str, ValueTypes]:
|
|
58
|
-
request = DoCommandRequest(name=self.name, command=dict_to_struct(command))
|
|
59
|
-
response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout)
|
|
60
|
-
return struct_to_dict(response.result)
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import wave
|
|
2
|
-
from datetime import timedelta
|
|
3
|
-
from io import BytesIO
|
|
4
|
-
|
|
5
|
-
from google.api.httpbody_pb2 import HttpBody
|
|
6
|
-
from grpclib import GRPCError, Status
|
|
7
|
-
from grpclib.server import Stream
|
|
8
|
-
|
|
9
|
-
from viam.errors import NotSupportedError, ResourceNotFoundError
|
|
10
|
-
from viam.proto.common import DoCommandRequest, DoCommandResponse
|
|
11
|
-
from viam.proto.component.audioinput import (
|
|
12
|
-
AudioInputServiceBase,
|
|
13
|
-
ChunksRequest,
|
|
14
|
-
ChunksResponse,
|
|
15
|
-
PropertiesRequest,
|
|
16
|
-
PropertiesResponse,
|
|
17
|
-
RecordRequest,
|
|
18
|
-
SampleFormat,
|
|
19
|
-
)
|
|
20
|
-
from viam.resource.rpc_service_base import ResourceRPCServiceBase
|
|
21
|
-
from viam.utils import dict_to_struct, struct_to_dict
|
|
22
|
-
|
|
23
|
-
from .audio_input import AudioInput
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
class AudioInputRPCService(AudioInputServiceBase, ResourceRPCServiceBase[AudioInput]):
|
|
27
|
-
"""
|
|
28
|
-
gRPC Service for a generic AudioInput
|
|
29
|
-
"""
|
|
30
|
-
|
|
31
|
-
RESOURCE_TYPE = AudioInput
|
|
32
|
-
|
|
33
|
-
async def Chunks(self, stream: Stream[ChunksRequest, ChunksResponse]) -> None:
|
|
34
|
-
request = await stream.recv_message()
|
|
35
|
-
assert request is not None
|
|
36
|
-
try:
|
|
37
|
-
audio_input = self.get_resource(request.name)
|
|
38
|
-
except ResourceNotFoundError as e:
|
|
39
|
-
raise e.grpc_error
|
|
40
|
-
|
|
41
|
-
timeout = stream.deadline.time_remaining() if stream.deadline else None
|
|
42
|
-
audio_stream = await audio_input.stream(timeout=timeout, metadata=stream.metadata)
|
|
43
|
-
first_chunk = await audio_stream.__anext__()
|
|
44
|
-
await stream.send_message(ChunksResponse(info=first_chunk.info))
|
|
45
|
-
await stream.send_message(ChunksResponse(chunk=first_chunk.chunk))
|
|
46
|
-
|
|
47
|
-
async for audio in audio_stream:
|
|
48
|
-
await stream.send_message(ChunksResponse(chunk=audio.chunk))
|
|
49
|
-
|
|
50
|
-
async def Properties(self, stream: Stream[PropertiesRequest, PropertiesResponse]) -> None:
|
|
51
|
-
request = await stream.recv_message()
|
|
52
|
-
assert request is not None
|
|
53
|
-
try:
|
|
54
|
-
audio_input = self.get_resource(request.name)
|
|
55
|
-
except ResourceNotFoundError as e:
|
|
56
|
-
raise e.grpc_error
|
|
57
|
-
timeout = stream.deadline.time_remaining() if stream.deadline else None
|
|
58
|
-
response = (await audio_input.get_properties(timeout=timeout, metadata=stream.metadata)).proto
|
|
59
|
-
await stream.send_message(response)
|
|
60
|
-
|
|
61
|
-
async def Record(self, stream: Stream[RecordRequest, HttpBody]) -> None:
|
|
62
|
-
raise NotSupportedError("Recording audio input is not supported").grpc_error
|
|
63
|
-
|
|
64
|
-
# TODO: Eventually implement recording
|
|
65
|
-
request = await stream.recv_message()
|
|
66
|
-
assert request is not None
|
|
67
|
-
duration = request.duration.ToTimedelta()
|
|
68
|
-
if duration.total_seconds() == 0:
|
|
69
|
-
duration = timedelta(seconds=1)
|
|
70
|
-
if duration.total_seconds() > 5:
|
|
71
|
-
raise GRPCError(Status.INVALID_ARGUMENT, "Can only record up to 5 seconds")
|
|
72
|
-
|
|
73
|
-
try:
|
|
74
|
-
audio_input = self.get_resource(request.name)
|
|
75
|
-
except ResourceNotFoundError as e:
|
|
76
|
-
raise e.grpc_error
|
|
77
|
-
audio_stream = await audio_input.stream()
|
|
78
|
-
first_chunk = await audio_stream.__anext__()
|
|
79
|
-
num_chunks = int(duration.total_seconds() * float(first_chunk.info.sampling_rate / first_chunk.chunk.length))
|
|
80
|
-
|
|
81
|
-
sample_width: int
|
|
82
|
-
if first_chunk.info.sample_format == SampleFormat.SAMPLE_FORMAT_INT16_INTERLEAVED:
|
|
83
|
-
sample_width = 2
|
|
84
|
-
elif first_chunk.info.sample_format == SampleFormat.SAMPLE_FORMAT_FLOAT32_INTERLEAVED:
|
|
85
|
-
sample_width = 4
|
|
86
|
-
else:
|
|
87
|
-
raise GRPCError(Status.INVALID_ARGUMENT, "Unspecified type of audio buffer")
|
|
88
|
-
|
|
89
|
-
output = BytesIO()
|
|
90
|
-
wav_file = wave.open(output, "w")
|
|
91
|
-
wav_file.setnchannels(first_chunk.info.channels)
|
|
92
|
-
wav_file.setframerate(first_chunk.info.sampling_rate)
|
|
93
|
-
wav_file.setsampwidth(sample_width)
|
|
94
|
-
try:
|
|
95
|
-
wav_file.writeframes(first_chunk.chunk.data)
|
|
96
|
-
for _ in range(num_chunks - 1):
|
|
97
|
-
chunk = await audio_stream.__anext__()
|
|
98
|
-
wav_file.writeframes(chunk.chunk.data)
|
|
99
|
-
finally:
|
|
100
|
-
wav_file.close()
|
|
101
|
-
output.close()
|
|
102
|
-
|
|
103
|
-
output.seek(0)
|
|
104
|
-
response = HttpBody(data=output.read(), content_type="audio/wav")
|
|
105
|
-
|
|
106
|
-
await stream.send_message(response)
|
|
107
|
-
|
|
108
|
-
async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None:
|
|
109
|
-
request = await stream.recv_message()
|
|
110
|
-
assert request is not None
|
|
111
|
-
try:
|
|
112
|
-
audio_input = self.get_resource(request.name)
|
|
113
|
-
except ResourceNotFoundError as e:
|
|
114
|
-
raise e.grpc_error
|
|
115
|
-
timeout = stream.deadline.time_remaining() if stream.deadline else None
|
|
116
|
-
result = await audio_input.do_command(command=struct_to_dict(request.command), timeout=timeout, metadata=stream.metadata)
|
|
117
|
-
response = DoCommandResponse(result=dict_to_struct(result))
|
|
118
|
-
await stream.send_message(response)
|
viam/components/types.py
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import abc
|
|
2
|
-
import typing
|
|
3
|
-
import grpclib.const
|
|
4
|
-
import grpclib.client
|
|
5
|
-
if typing.TYPE_CHECKING:
|
|
6
|
-
import grpclib.server
|
|
7
|
-
import google.api.annotations_pb2
|
|
8
|
-
import google.protobuf.timestamp_pb2
|
|
9
|
-
from .... import tagger
|
|
10
|
-
from .... import app
|
|
11
|
-
|
|
12
|
-
class ModelServiceBase(abc.ABC):
|
|
13
|
-
|
|
14
|
-
@abc.abstractmethod
|
|
15
|
-
async def Upload(self, stream: 'grpclib.server.Stream[app.model.v1.model_pb2.UploadRequest, app.model.v1.model_pb2.UploadResponse]') -> None:
|
|
16
|
-
pass
|
|
17
|
-
|
|
18
|
-
@abc.abstractmethod
|
|
19
|
-
async def Delete(self, stream: 'grpclib.server.Stream[app.model.v1.model_pb2.DeleteRequest, app.model.v1.model_pb2.DeleteResponse]') -> None:
|
|
20
|
-
pass
|
|
21
|
-
|
|
22
|
-
@abc.abstractmethod
|
|
23
|
-
async def Deploy(self, stream: 'grpclib.server.Stream[app.model.v1.model_pb2.DeployRequest, app.model.v1.model_pb2.DeployResponse]') -> None:
|
|
24
|
-
pass
|
|
25
|
-
|
|
26
|
-
@abc.abstractmethod
|
|
27
|
-
async def Info(self, stream: 'grpclib.server.Stream[app.model.v1.model_pb2.InfoRequest, app.model.v1.model_pb2.InfoResponse]') -> None:
|
|
28
|
-
pass
|
|
29
|
-
|
|
30
|
-
def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]:
|
|
31
|
-
return {'/viam.app.model.v1.ModelService/Upload': grpclib.const.Handler(self.Upload, grpclib.const.Cardinality.STREAM_UNARY, app.model.v1.model_pb2.UploadRequest, app.model.v1.model_pb2.UploadResponse), '/viam.app.model.v1.ModelService/Delete': grpclib.const.Handler(self.Delete, grpclib.const.Cardinality.UNARY_UNARY, app.model.v1.model_pb2.DeleteRequest, app.model.v1.model_pb2.DeleteResponse), '/viam.app.model.v1.ModelService/Deploy': grpclib.const.Handler(self.Deploy, grpclib.const.Cardinality.UNARY_UNARY, app.model.v1.model_pb2.DeployRequest, app.model.v1.model_pb2.DeployResponse), '/viam.app.model.v1.ModelService/Info': grpclib.const.Handler(self.Info, grpclib.const.Cardinality.UNARY_UNARY, app.model.v1.model_pb2.InfoRequest, app.model.v1.model_pb2.InfoResponse)}
|
|
32
|
-
|
|
33
|
-
class ModelServiceStub:
|
|
34
|
-
|
|
35
|
-
def __init__(self, channel: grpclib.client.Channel) -> None:
|
|
36
|
-
self.Upload = grpclib.client.StreamUnaryMethod(channel, '/viam.app.model.v1.ModelService/Upload', app.model.v1.model_pb2.UploadRequest, app.model.v1.model_pb2.UploadResponse)
|
|
37
|
-
self.Delete = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.model.v1.ModelService/Delete', app.model.v1.model_pb2.DeleteRequest, app.model.v1.model_pb2.DeleteResponse)
|
|
38
|
-
self.Deploy = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.model.v1.ModelService/Deploy', app.model.v1.model_pb2.DeployRequest, app.model.v1.model_pb2.DeployResponse)
|
|
39
|
-
self.Info = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.model.v1.ModelService/Info', app.model.v1.model_pb2.InfoRequest, app.model.v1.model_pb2.InfoResponse)
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"""Generated protocol buffer code."""
|
|
2
|
-
from google.protobuf.internal import builder as _builder
|
|
3
|
-
from google.protobuf import descriptor as _descriptor
|
|
4
|
-
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
5
|
-
from google.protobuf import symbol_database as _symbol_database
|
|
6
|
-
_sym_db = _symbol_database.Default()
|
|
7
|
-
from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
|
|
8
|
-
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
|
9
|
-
from ....tagger.v1 import tagger_pb2 as tagger_dot_v1_dot_tagger__pb2
|
|
10
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18app/model/v1/model.proto\x12\x11viam.app.model.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x16tagger/v1/tagger.proto"\x1e\n\x08FileData\x12\x12\n\x04data\x18\x01 \x01(\x0cR\x04data"\x81\x01\n\x04File\x120\n\x04name\x18\x01 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12G\n\nsize_bytes\x18\x02 \x01(\x03B(\x9a\x84\x9e\x03#bson:"size_bytes" json:"size_bytes"R\tsizeBytes"\xa4\x01\n\x0eUploadMetadata\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1d\n\nmodel_name\x18\x02 \x01(\tR\tmodelName\x12-\n\x12associated_dataset\x18\x03 \x01(\tR\x11associatedDataset\x12-\n\x05files\x18\x04 \x03(\x0b2\x17.viam.app.model.v1.FileR\x05files"\xa5\x01\n\rUploadRequest\x12?\n\x08metadata\x18\x01 \x01(\x0b2!.viam.app.model.v1.UploadMetadataH\x00R\x08metadata\x12B\n\rfile_contents\x18\x02 \x01(\x0b2\x1b.viam.app.model.v1.FileDataH\x00R\x0cfileContentsB\x0f\n\rupload_packet"E\n\rDeleteRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1d\n\nmodel_name\x18\x02 \x01(\tR\tmodelName"E\n\rDeployRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1d\n\nmodel_name\x18\x02 \x01(\tR\tmodelName"\xa8\x01\n\x05Model\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1d\n\nsize_bytes\x18\x02 \x01(\x03R\tsizeBytes\x12-\n\x05files\x18\x03 \x03(\x0b2\x17.viam.app.model.v1.FileR\x05files\x12=\n\x0ctime_created\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0btimeCreated"$\n\x0bInfoRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId">\n\x0cInfoResponse\x12.\n\x05model\x18\x01 \x03(\x0b2\x18.viam.app.model.v1.ModelR\x05model"]\n\x0eUploadResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\x121\n\x06status\x18\x02 \x01(\x0e2\x19.viam.app.model.v1.StatusR\x06status"]\n\x0eDeleteResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\x121\n\x06status\x18\x02 \x01(\x0e2\x19.viam.app.model.v1.StatusR\x06status"]\n\x0eDeployResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\x121\n\x06status\x18\x02 \x01(\x0e2\x19.viam.app.model.v1.StatusR\x06status"\xb6\x04\n\x0bSyncedModel\x127\n\x06org_id\x18\x01 \x01(\tB \x9a\x84\x9e\x03\x1bbson:"org_id" json:"org_id"R\x05orgId\x12G\n\nmodel_name\x18\x02 \x01(\tB(\x9a\x84\x9e\x03#bson:"model_name" json:"model_name"R\tmodelName\x12g\n\x12associated_dataset\x18\x03 \x01(\tB8\x9a\x84\x9e\x033bson:"associated_dataset" json:"associated_dataset"R\x11associatedDataset\x12M\n\x05files\x18\x04 \x03(\x0b2\x17.viam.app.model.v1.FileB\x1e\x9a\x84\x9e\x03\x19bson:"files" json:"files"R\x05files\x12G\n\nsize_bytes\x18\x05 \x01(\x03B(\x9a\x84\x9e\x03#bson:"size_bytes" json:"size_bytes"R\tsizeBytes\x12C\n\tblob_path\x18\x06 \x01(\tB&\x9a\x84\x9e\x03!bson:"blob_path" json:"blob_path"R\x08blobPath\x12_\n\tsync_time\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampB&\x9a\x84\x9e\x03!bson:"sync_time" json:"sync_time"R\x08syncTime*+\n\x06Status\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04FAIL\x10\x01\x12\x06\n\x02OK\x10\x022\xac\x03\n\x0cModelService\x12i\n\x06Upload\x12 .viam.app.model.v1.UploadRequest\x1a!.viam.app.model.v1.UploadResponse"\x18\x82\xd3\xe4\x93\x02\x12"\x10/model/v1/upload(\x01\x12g\n\x06Delete\x12 .viam.app.model.v1.DeleteRequest\x1a!.viam.app.model.v1.DeleteResponse"\x18\x82\xd3\xe4\x93\x02\x12*\x10/model/v1/delete\x12g\n\x06Deploy\x12 .viam.app.model.v1.DeployRequest\x1a!.viam.app.model.v1.DeployResponse"\x18\x82\xd3\xe4\x93\x02\x12"\x10/model/v1/deploy\x12_\n\x04Info\x12\x1e.viam.app.model.v1.InfoRequest\x1a\x1f.viam.app.model.v1.InfoResponse"\x16\x82\xd3\xe4\x93\x02\x10\x12\x0e/model/v1/infoB\x1eZ\x1cgo.viam.com/api/app/model/v1b\x06proto3')
|
|
11
|
-
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
|
|
12
|
-
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.model.v1.model_pb2', globals())
|
|
13
|
-
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
14
|
-
DESCRIPTOR._options = None
|
|
15
|
-
DESCRIPTOR._serialized_options = b'Z\x1cgo.viam.com/api/app/model/v1'
|
|
16
|
-
_FILE.fields_by_name['name']._options = None
|
|
17
|
-
_FILE.fields_by_name['name']._serialized_options = b'\x9a\x84\x9e\x03\x17bson:"name" json:"name"'
|
|
18
|
-
_FILE.fields_by_name['size_bytes']._options = None
|
|
19
|
-
_FILE.fields_by_name['size_bytes']._serialized_options = b'\x9a\x84\x9e\x03#bson:"size_bytes" json:"size_bytes"'
|
|
20
|
-
_SYNCEDMODEL.fields_by_name['org_id']._options = None
|
|
21
|
-
_SYNCEDMODEL.fields_by_name['org_id']._serialized_options = b'\x9a\x84\x9e\x03\x1bbson:"org_id" json:"org_id"'
|
|
22
|
-
_SYNCEDMODEL.fields_by_name['model_name']._options = None
|
|
23
|
-
_SYNCEDMODEL.fields_by_name['model_name']._serialized_options = b'\x9a\x84\x9e\x03#bson:"model_name" json:"model_name"'
|
|
24
|
-
_SYNCEDMODEL.fields_by_name['associated_dataset']._options = None
|
|
25
|
-
_SYNCEDMODEL.fields_by_name['associated_dataset']._serialized_options = b'\x9a\x84\x9e\x033bson:"associated_dataset" json:"associated_dataset"'
|
|
26
|
-
_SYNCEDMODEL.fields_by_name['files']._options = None
|
|
27
|
-
_SYNCEDMODEL.fields_by_name['files']._serialized_options = b'\x9a\x84\x9e\x03\x19bson:"files" json:"files"'
|
|
28
|
-
_SYNCEDMODEL.fields_by_name['size_bytes']._options = None
|
|
29
|
-
_SYNCEDMODEL.fields_by_name['size_bytes']._serialized_options = b'\x9a\x84\x9e\x03#bson:"size_bytes" json:"size_bytes"'
|
|
30
|
-
_SYNCEDMODEL.fields_by_name['blob_path']._options = None
|
|
31
|
-
_SYNCEDMODEL.fields_by_name['blob_path']._serialized_options = b'\x9a\x84\x9e\x03!bson:"blob_path" json:"blob_path"'
|
|
32
|
-
_SYNCEDMODEL.fields_by_name['sync_time']._options = None
|
|
33
|
-
_SYNCEDMODEL.fields_by_name['sync_time']._serialized_options = b'\x9a\x84\x9e\x03!bson:"sync_time" json:"sync_time"'
|
|
34
|
-
_MODELSERVICE.methods_by_name['Upload']._options = None
|
|
35
|
-
_MODELSERVICE.methods_by_name['Upload']._serialized_options = b'\x82\xd3\xe4\x93\x02\x12"\x10/model/v1/upload'
|
|
36
|
-
_MODELSERVICE.methods_by_name['Delete']._options = None
|
|
37
|
-
_MODELSERVICE.methods_by_name['Delete']._serialized_options = b'\x82\xd3\xe4\x93\x02\x12*\x10/model/v1/delete'
|
|
38
|
-
_MODELSERVICE.methods_by_name['Deploy']._options = None
|
|
39
|
-
_MODELSERVICE.methods_by_name['Deploy']._serialized_options = b'\x82\xd3\xe4\x93\x02\x12"\x10/model/v1/deploy'
|
|
40
|
-
_MODELSERVICE.methods_by_name['Info']._options = None
|
|
41
|
-
_MODELSERVICE.methods_by_name['Info']._serialized_options = b'\x82\xd3\xe4\x93\x02\x10\x12\x0e/model/v1/info'
|
|
42
|
-
_STATUS._serialized_start = 1902
|
|
43
|
-
_STATUS._serialized_end = 1945
|
|
44
|
-
_FILEDATA._serialized_start = 134
|
|
45
|
-
_FILEDATA._serialized_end = 164
|
|
46
|
-
_FILE._serialized_start = 167
|
|
47
|
-
_FILE._serialized_end = 296
|
|
48
|
-
_UPLOADMETADATA._serialized_start = 299
|
|
49
|
-
_UPLOADMETADATA._serialized_end = 463
|
|
50
|
-
_UPLOADREQUEST._serialized_start = 466
|
|
51
|
-
_UPLOADREQUEST._serialized_end = 631
|
|
52
|
-
_DELETEREQUEST._serialized_start = 633
|
|
53
|
-
_DELETEREQUEST._serialized_end = 702
|
|
54
|
-
_DEPLOYREQUEST._serialized_start = 704
|
|
55
|
-
_DEPLOYREQUEST._serialized_end = 773
|
|
56
|
-
_MODEL._serialized_start = 776
|
|
57
|
-
_MODEL._serialized_end = 944
|
|
58
|
-
_INFOREQUEST._serialized_start = 946
|
|
59
|
-
_INFOREQUEST._serialized_end = 982
|
|
60
|
-
_INFORESPONSE._serialized_start = 984
|
|
61
|
-
_INFORESPONSE._serialized_end = 1046
|
|
62
|
-
_UPLOADRESPONSE._serialized_start = 1048
|
|
63
|
-
_UPLOADRESPONSE._serialized_end = 1141
|
|
64
|
-
_DELETERESPONSE._serialized_start = 1143
|
|
65
|
-
_DELETERESPONSE._serialized_end = 1236
|
|
66
|
-
_DEPLOYRESPONSE._serialized_start = 1238
|
|
67
|
-
_DEPLOYRESPONSE._serialized_end = 1331
|
|
68
|
-
_SYNCEDMODEL._serialized_start = 1334
|
|
69
|
-
_SYNCEDMODEL._serialized_end = 1900
|
|
70
|
-
_MODELSERVICE._serialized_start = 1948
|
|
71
|
-
_MODELSERVICE._serialized_end = 2376
|
|
@@ -1,285 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
@generated by mypy-protobuf. Do not edit manually!
|
|
3
|
-
isort:skip_file
|
|
4
|
-
"""
|
|
5
|
-
import builtins
|
|
6
|
-
import collections.abc
|
|
7
|
-
import google.protobuf.descriptor
|
|
8
|
-
import google.protobuf.internal.containers
|
|
9
|
-
import google.protobuf.internal.enum_type_wrapper
|
|
10
|
-
import google.protobuf.message
|
|
11
|
-
import google.protobuf.timestamp_pb2
|
|
12
|
-
import sys
|
|
13
|
-
import typing
|
|
14
|
-
if sys.version_info >= (3, 10):
|
|
15
|
-
import typing as typing_extensions
|
|
16
|
-
else:
|
|
17
|
-
import typing_extensions
|
|
18
|
-
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
|
|
19
|
-
|
|
20
|
-
class _Status:
|
|
21
|
-
ValueType = typing.NewType('ValueType', builtins.int)
|
|
22
|
-
V: typing_extensions.TypeAlias = ValueType
|
|
23
|
-
|
|
24
|
-
class _StatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Status.ValueType], builtins.type):
|
|
25
|
-
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
26
|
-
UNSPECIFIED: _Status.ValueType
|
|
27
|
-
'buf:lint:ignore ENUM_VALUE_PREFIX\n buf:lint:ignore ENUM_ZERO_VALUE_SUFFIX\n '
|
|
28
|
-
FAIL: _Status.ValueType
|
|
29
|
-
'buf:lint:ignore ENUM_VALUE_PREFIX'
|
|
30
|
-
OK: _Status.ValueType
|
|
31
|
-
'buf:lint:ignore ENUM_VALUE_PREFIX'
|
|
32
|
-
|
|
33
|
-
class Status(_Status, metaclass=_StatusEnumTypeWrapper):
|
|
34
|
-
...
|
|
35
|
-
UNSPECIFIED: Status.ValueType
|
|
36
|
-
'buf:lint:ignore ENUM_VALUE_PREFIX\nbuf:lint:ignore ENUM_ZERO_VALUE_SUFFIX\n'
|
|
37
|
-
FAIL: Status.ValueType
|
|
38
|
-
'buf:lint:ignore ENUM_VALUE_PREFIX'
|
|
39
|
-
OK: Status.ValueType
|
|
40
|
-
'buf:lint:ignore ENUM_VALUE_PREFIX'
|
|
41
|
-
global___Status = Status
|
|
42
|
-
|
|
43
|
-
@typing_extensions.final
|
|
44
|
-
class FileData(google.protobuf.message.Message):
|
|
45
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
46
|
-
DATA_FIELD_NUMBER: builtins.int
|
|
47
|
-
data: builtins.bytes
|
|
48
|
-
|
|
49
|
-
def __init__(self, *, data: builtins.bytes=...) -> None:
|
|
50
|
-
...
|
|
51
|
-
|
|
52
|
-
def ClearField(self, field_name: typing_extensions.Literal['data', b'data']) -> None:
|
|
53
|
-
...
|
|
54
|
-
global___FileData = FileData
|
|
55
|
-
|
|
56
|
-
@typing_extensions.final
|
|
57
|
-
class File(google.protobuf.message.Message):
|
|
58
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
59
|
-
NAME_FIELD_NUMBER: builtins.int
|
|
60
|
-
SIZE_BYTES_FIELD_NUMBER: builtins.int
|
|
61
|
-
name: builtins.str
|
|
62
|
-
size_bytes: builtins.int
|
|
63
|
-
|
|
64
|
-
def __init__(self, *, name: builtins.str=..., size_bytes: builtins.int=...) -> None:
|
|
65
|
-
...
|
|
66
|
-
|
|
67
|
-
def ClearField(self, field_name: typing_extensions.Literal['name', b'name', 'size_bytes', b'size_bytes']) -> None:
|
|
68
|
-
...
|
|
69
|
-
global___File = File
|
|
70
|
-
|
|
71
|
-
@typing_extensions.final
|
|
72
|
-
class UploadMetadata(google.protobuf.message.Message):
|
|
73
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
74
|
-
ORG_ID_FIELD_NUMBER: builtins.int
|
|
75
|
-
MODEL_NAME_FIELD_NUMBER: builtins.int
|
|
76
|
-
ASSOCIATED_DATASET_FIELD_NUMBER: builtins.int
|
|
77
|
-
FILES_FIELD_NUMBER: builtins.int
|
|
78
|
-
org_id: builtins.str
|
|
79
|
-
model_name: builtins.str
|
|
80
|
-
associated_dataset: builtins.str
|
|
81
|
-
"TODO: Determine the format of the associated dataset. Update when it's decided\n whether it should be by ID or name.\n "
|
|
82
|
-
|
|
83
|
-
@property
|
|
84
|
-
def files(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___File]:
|
|
85
|
-
...
|
|
86
|
-
|
|
87
|
-
def __init__(self, *, org_id: builtins.str=..., model_name: builtins.str=..., associated_dataset: builtins.str=..., files: collections.abc.Iterable[global___File] | None=...) -> None:
|
|
88
|
-
...
|
|
89
|
-
|
|
90
|
-
def ClearField(self, field_name: typing_extensions.Literal['associated_dataset', b'associated_dataset', 'files', b'files', 'model_name', b'model_name', 'org_id', b'org_id']) -> None:
|
|
91
|
-
...
|
|
92
|
-
global___UploadMetadata = UploadMetadata
|
|
93
|
-
|
|
94
|
-
@typing_extensions.final
|
|
95
|
-
class UploadRequest(google.protobuf.message.Message):
|
|
96
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
97
|
-
METADATA_FIELD_NUMBER: builtins.int
|
|
98
|
-
FILE_CONTENTS_FIELD_NUMBER: builtins.int
|
|
99
|
-
|
|
100
|
-
@property
|
|
101
|
-
def metadata(self) -> global___UploadMetadata:
|
|
102
|
-
...
|
|
103
|
-
|
|
104
|
-
@property
|
|
105
|
-
def file_contents(self) -> global___FileData:
|
|
106
|
-
...
|
|
107
|
-
|
|
108
|
-
def __init__(self, *, metadata: global___UploadMetadata | None=..., file_contents: global___FileData | None=...) -> None:
|
|
109
|
-
...
|
|
110
|
-
|
|
111
|
-
def HasField(self, field_name: typing_extensions.Literal['file_contents', b'file_contents', 'metadata', b'metadata', 'upload_packet', b'upload_packet']) -> builtins.bool:
|
|
112
|
-
...
|
|
113
|
-
|
|
114
|
-
def ClearField(self, field_name: typing_extensions.Literal['file_contents', b'file_contents', 'metadata', b'metadata', 'upload_packet', b'upload_packet']) -> None:
|
|
115
|
-
...
|
|
116
|
-
|
|
117
|
-
def WhichOneof(self, oneof_group: typing_extensions.Literal['upload_packet', b'upload_packet']) -> typing_extensions.Literal['metadata', 'file_contents'] | None:
|
|
118
|
-
...
|
|
119
|
-
global___UploadRequest = UploadRequest
|
|
120
|
-
|
|
121
|
-
@typing_extensions.final
|
|
122
|
-
class DeleteRequest(google.protobuf.message.Message):
|
|
123
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
124
|
-
ORG_ID_FIELD_NUMBER: builtins.int
|
|
125
|
-
MODEL_NAME_FIELD_NUMBER: builtins.int
|
|
126
|
-
org_id: builtins.str
|
|
127
|
-
model_name: builtins.str
|
|
128
|
-
|
|
129
|
-
def __init__(self, *, org_id: builtins.str=..., model_name: builtins.str=...) -> None:
|
|
130
|
-
...
|
|
131
|
-
|
|
132
|
-
def ClearField(self, field_name: typing_extensions.Literal['model_name', b'model_name', 'org_id', b'org_id']) -> None:
|
|
133
|
-
...
|
|
134
|
-
global___DeleteRequest = DeleteRequest
|
|
135
|
-
|
|
136
|
-
@typing_extensions.final
|
|
137
|
-
class DeployRequest(google.protobuf.message.Message):
|
|
138
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
139
|
-
ORG_ID_FIELD_NUMBER: builtins.int
|
|
140
|
-
MODEL_NAME_FIELD_NUMBER: builtins.int
|
|
141
|
-
org_id: builtins.str
|
|
142
|
-
model_name: builtins.str
|
|
143
|
-
|
|
144
|
-
def __init__(self, *, org_id: builtins.str=..., model_name: builtins.str=...) -> None:
|
|
145
|
-
...
|
|
146
|
-
|
|
147
|
-
def ClearField(self, field_name: typing_extensions.Literal['model_name', b'model_name', 'org_id', b'org_id']) -> None:
|
|
148
|
-
...
|
|
149
|
-
global___DeployRequest = DeployRequest
|
|
150
|
-
|
|
151
|
-
@typing_extensions.final
|
|
152
|
-
class Model(google.protobuf.message.Message):
|
|
153
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
154
|
-
NAME_FIELD_NUMBER: builtins.int
|
|
155
|
-
SIZE_BYTES_FIELD_NUMBER: builtins.int
|
|
156
|
-
FILES_FIELD_NUMBER: builtins.int
|
|
157
|
-
TIME_CREATED_FIELD_NUMBER: builtins.int
|
|
158
|
-
name: builtins.str
|
|
159
|
-
size_bytes: builtins.int
|
|
160
|
-
|
|
161
|
-
@property
|
|
162
|
-
def files(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___File]:
|
|
163
|
-
...
|
|
164
|
-
|
|
165
|
-
@property
|
|
166
|
-
def time_created(self) -> google.protobuf.timestamp_pb2.Timestamp:
|
|
167
|
-
...
|
|
168
|
-
|
|
169
|
-
def __init__(self, *, name: builtins.str=..., size_bytes: builtins.int=..., files: collections.abc.Iterable[global___File] | None=..., time_created: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None:
|
|
170
|
-
...
|
|
171
|
-
|
|
172
|
-
def HasField(self, field_name: typing_extensions.Literal['time_created', b'time_created']) -> builtins.bool:
|
|
173
|
-
...
|
|
174
|
-
|
|
175
|
-
def ClearField(self, field_name: typing_extensions.Literal['files', b'files', 'name', b'name', 'size_bytes', b'size_bytes', 'time_created', b'time_created']) -> None:
|
|
176
|
-
...
|
|
177
|
-
global___Model = Model
|
|
178
|
-
|
|
179
|
-
@typing_extensions.final
|
|
180
|
-
class InfoRequest(google.protobuf.message.Message):
|
|
181
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
182
|
-
ORG_ID_FIELD_NUMBER: builtins.int
|
|
183
|
-
org_id: builtins.str
|
|
184
|
-
|
|
185
|
-
def __init__(self, *, org_id: builtins.str=...) -> None:
|
|
186
|
-
...
|
|
187
|
-
|
|
188
|
-
def ClearField(self, field_name: typing_extensions.Literal['org_id', b'org_id']) -> None:
|
|
189
|
-
...
|
|
190
|
-
global___InfoRequest = InfoRequest
|
|
191
|
-
|
|
192
|
-
@typing_extensions.final
|
|
193
|
-
class InfoResponse(google.protobuf.message.Message):
|
|
194
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
195
|
-
MODEL_FIELD_NUMBER: builtins.int
|
|
196
|
-
|
|
197
|
-
@property
|
|
198
|
-
def model(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Model]:
|
|
199
|
-
...
|
|
200
|
-
|
|
201
|
-
def __init__(self, *, model: collections.abc.Iterable[global___Model] | None=...) -> None:
|
|
202
|
-
...
|
|
203
|
-
|
|
204
|
-
def ClearField(self, field_name: typing_extensions.Literal['model', b'model']) -> None:
|
|
205
|
-
...
|
|
206
|
-
global___InfoResponse = InfoResponse
|
|
207
|
-
|
|
208
|
-
@typing_extensions.final
|
|
209
|
-
class UploadResponse(google.protobuf.message.Message):
|
|
210
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
211
|
-
MESSAGE_FIELD_NUMBER: builtins.int
|
|
212
|
-
STATUS_FIELD_NUMBER: builtins.int
|
|
213
|
-
message: builtins.str
|
|
214
|
-
status: global___Status.ValueType
|
|
215
|
-
|
|
216
|
-
def __init__(self, *, message: builtins.str=..., status: global___Status.ValueType=...) -> None:
|
|
217
|
-
...
|
|
218
|
-
|
|
219
|
-
def ClearField(self, field_name: typing_extensions.Literal['message', b'message', 'status', b'status']) -> None:
|
|
220
|
-
...
|
|
221
|
-
global___UploadResponse = UploadResponse
|
|
222
|
-
|
|
223
|
-
@typing_extensions.final
|
|
224
|
-
class DeleteResponse(google.protobuf.message.Message):
|
|
225
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
226
|
-
MESSAGE_FIELD_NUMBER: builtins.int
|
|
227
|
-
STATUS_FIELD_NUMBER: builtins.int
|
|
228
|
-
message: builtins.str
|
|
229
|
-
status: global___Status.ValueType
|
|
230
|
-
|
|
231
|
-
def __init__(self, *, message: builtins.str=..., status: global___Status.ValueType=...) -> None:
|
|
232
|
-
...
|
|
233
|
-
|
|
234
|
-
def ClearField(self, field_name: typing_extensions.Literal['message', b'message', 'status', b'status']) -> None:
|
|
235
|
-
...
|
|
236
|
-
global___DeleteResponse = DeleteResponse
|
|
237
|
-
|
|
238
|
-
@typing_extensions.final
|
|
239
|
-
class DeployResponse(google.protobuf.message.Message):
|
|
240
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
241
|
-
MESSAGE_FIELD_NUMBER: builtins.int
|
|
242
|
-
STATUS_FIELD_NUMBER: builtins.int
|
|
243
|
-
message: builtins.str
|
|
244
|
-
status: global___Status.ValueType
|
|
245
|
-
|
|
246
|
-
def __init__(self, *, message: builtins.str=..., status: global___Status.ValueType=...) -> None:
|
|
247
|
-
...
|
|
248
|
-
|
|
249
|
-
def ClearField(self, field_name: typing_extensions.Literal['message', b'message', 'status', b'status']) -> None:
|
|
250
|
-
...
|
|
251
|
-
global___DeployResponse = DeployResponse
|
|
252
|
-
|
|
253
|
-
@typing_extensions.final
|
|
254
|
-
class SyncedModel(google.protobuf.message.Message):
|
|
255
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
256
|
-
ORG_ID_FIELD_NUMBER: builtins.int
|
|
257
|
-
MODEL_NAME_FIELD_NUMBER: builtins.int
|
|
258
|
-
ASSOCIATED_DATASET_FIELD_NUMBER: builtins.int
|
|
259
|
-
FILES_FIELD_NUMBER: builtins.int
|
|
260
|
-
SIZE_BYTES_FIELD_NUMBER: builtins.int
|
|
261
|
-
BLOB_PATH_FIELD_NUMBER: builtins.int
|
|
262
|
-
SYNC_TIME_FIELD_NUMBER: builtins.int
|
|
263
|
-
org_id: builtins.str
|
|
264
|
-
model_name: builtins.str
|
|
265
|
-
associated_dataset: builtins.str
|
|
266
|
-
|
|
267
|
-
@property
|
|
268
|
-
def files(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___File]:
|
|
269
|
-
...
|
|
270
|
-
size_bytes: builtins.int
|
|
271
|
-
blob_path: builtins.str
|
|
272
|
-
|
|
273
|
-
@property
|
|
274
|
-
def sync_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
|
|
275
|
-
...
|
|
276
|
-
|
|
277
|
-
def __init__(self, *, org_id: builtins.str=..., model_name: builtins.str=..., associated_dataset: builtins.str=..., files: collections.abc.Iterable[global___File] | None=..., size_bytes: builtins.int=..., blob_path: builtins.str=..., sync_time: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None:
|
|
278
|
-
...
|
|
279
|
-
|
|
280
|
-
def HasField(self, field_name: typing_extensions.Literal['sync_time', b'sync_time']) -> builtins.bool:
|
|
281
|
-
...
|
|
282
|
-
|
|
283
|
-
def ClearField(self, field_name: typing_extensions.Literal['associated_dataset', b'associated_dataset', 'blob_path', b'blob_path', 'files', b'files', 'model_name', b'model_name', 'org_id', b'org_id', 'size_bytes', b'size_bytes', 'sync_time', b'sync_time']) -> None:
|
|
284
|
-
...
|
|
285
|
-
global___SyncedModel = SyncedModel
|