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.

Files changed (452) hide show
  1. viam/__init__.py +29 -2
  2. viam/app/_logs.py +34 -0
  3. viam/app/app_client.py +2696 -0
  4. viam/app/billing_client.py +185 -0
  5. viam/app/data_client.py +2231 -0
  6. viam/app/ml_training_client.py +249 -0
  7. viam/app/provisioning_client.py +93 -0
  8. viam/app/viam_client.py +275 -0
  9. viam/components/arm/__init__.py +3 -26
  10. viam/components/arm/arm.py +123 -8
  11. viam/components/arm/client.py +37 -24
  12. viam/components/arm/service.py +35 -32
  13. viam/components/audio_in/__init__.py +24 -0
  14. viam/components/audio_in/audio_in.py +74 -0
  15. viam/components/audio_in/client.py +76 -0
  16. viam/components/audio_in/service.py +83 -0
  17. viam/components/audio_out/__init__.py +21 -0
  18. viam/components/audio_out/audio_out.py +72 -0
  19. viam/components/audio_out/client.py +67 -0
  20. viam/components/audio_out/service.py +63 -0
  21. viam/components/base/__init__.py +6 -11
  22. viam/components/base/base.py +134 -8
  23. viam/components/base/client.py +51 -23
  24. viam/components/base/service.py +33 -30
  25. viam/components/board/__init__.py +3 -12
  26. viam/components/board/board.py +247 -91
  27. viam/components/board/client.py +149 -83
  28. viam/components/board/service.py +63 -33
  29. viam/components/button/__init__.py +10 -0
  30. viam/components/button/button.py +41 -0
  31. viam/components/button/client.py +52 -0
  32. viam/components/button/service.py +46 -0
  33. viam/components/camera/__init__.py +3 -3
  34. viam/components/camera/camera.py +62 -27
  35. viam/components/camera/client.py +59 -27
  36. viam/components/camera/service.py +42 -65
  37. viam/components/component_base.py +28 -5
  38. viam/components/encoder/__init__.py +1 -1
  39. viam/components/encoder/client.py +25 -14
  40. viam/components/encoder/encoder.py +48 -10
  41. viam/components/encoder/service.py +14 -18
  42. viam/components/gantry/__init__.py +1 -13
  43. viam/components/gantry/client.py +80 -25
  44. viam/components/gantry/gantry.py +123 -9
  45. viam/components/gantry/service.py +51 -29
  46. viam/components/generic/__init__.py +1 -1
  47. viam/components/generic/client.py +21 -8
  48. viam/components/generic/generic.py +10 -2
  49. viam/components/generic/service.py +12 -7
  50. viam/components/gripper/__init__.py +3 -13
  51. viam/components/gripper/client.py +69 -21
  52. viam/components/gripper/gripper.py +123 -3
  53. viam/components/gripper/service.py +44 -22
  54. viam/components/input/__init__.py +1 -14
  55. viam/components/input/client.py +55 -23
  56. viam/components/input/input.py +106 -3
  57. viam/components/input/service.py +16 -21
  58. viam/components/motor/__init__.py +1 -21
  59. viam/components/motor/client.py +56 -33
  60. viam/components/motor/motor.py +127 -4
  61. viam/components/motor/service.py +33 -44
  62. viam/components/movement_sensor/__init__.py +1 -1
  63. viam/components/movement_sensor/client.py +102 -45
  64. viam/components/movement_sensor/movement_sensor.py +130 -61
  65. viam/components/movement_sensor/service.py +38 -41
  66. viam/components/pose_tracker/__init__.py +1 -1
  67. viam/components/pose_tracker/client.py +18 -7
  68. viam/components/pose_tracker/pose_tracker.py +4 -2
  69. viam/components/pose_tracker/service.py +12 -10
  70. viam/components/power_sensor/__init__.py +17 -0
  71. viam/components/power_sensor/client.py +86 -0
  72. viam/components/power_sensor/power_sensor.py +104 -0
  73. viam/components/power_sensor/service.py +72 -0
  74. viam/components/sensor/__init__.py +2 -1
  75. viam/components/sensor/client.py +26 -10
  76. viam/components/sensor/sensor.py +22 -4
  77. viam/components/sensor/service.py +20 -11
  78. viam/components/servo/__init__.py +1 -13
  79. viam/components/servo/client.py +47 -21
  80. viam/components/servo/service.py +15 -22
  81. viam/components/servo/servo.py +61 -2
  82. viam/components/switch/__init__.py +10 -0
  83. viam/components/switch/client.py +83 -0
  84. viam/components/switch/service.py +72 -0
  85. viam/components/switch/switch.py +98 -0
  86. viam/errors.py +10 -0
  87. viam/gen/app/agent/v1/agent_grpc.py +29 -0
  88. viam/gen/app/agent/v1/agent_pb2.py +47 -0
  89. viam/gen/app/agent/v1/agent_pb2.pyi +280 -0
  90. viam/gen/app/cloudslam/v1/__init__.py +0 -0
  91. viam/gen/app/cloudslam/v1/cloud_slam_grpc.py +70 -0
  92. viam/gen/app/cloudslam/v1/cloud_slam_pb2.py +54 -0
  93. viam/gen/app/cloudslam/v1/cloud_slam_pb2.pyi +384 -0
  94. viam/gen/app/data/v1/data_grpc.py +197 -8
  95. viam/gen/app/data/v1/data_pb2.py +238 -99
  96. viam/gen/app/data/v1/data_pb2.pyi +1222 -259
  97. viam/gen/app/datapipelines/__init__.py +0 -0
  98. viam/gen/app/datapipelines/v1/__init__.py +0 -0
  99. viam/gen/app/datapipelines/v1/data_pipelines_grpc.py +84 -0
  100. viam/gen/app/datapipelines/v1/data_pipelines_pb2.py +57 -0
  101. viam/gen/app/datapipelines/v1/data_pipelines_pb2.pyi +387 -0
  102. viam/gen/app/dataset/__init__.py +0 -0
  103. viam/gen/app/dataset/v1/__init__.py +0 -0
  104. viam/gen/app/dataset/v1/dataset_grpc.py +68 -0
  105. viam/gen/app/dataset/v1/dataset_pb2.py +44 -0
  106. viam/gen/app/dataset/v1/dataset_pb2.pyi +214 -0
  107. viam/gen/app/datasync/v1/data_sync_grpc.py +21 -4
  108. viam/gen/app/datasync/v1/data_sync_pb2.py +62 -128
  109. viam/gen/app/datasync/v1/data_sync_pb2.pyi +156 -199
  110. viam/gen/app/mlinference/__init__.py +0 -0
  111. viam/gen/app/mlinference/v1/__init__.py +0 -0
  112. viam/gen/app/mlinference/v1/ml_inference_grpc.py +28 -0
  113. viam/gen/app/mlinference/v1/ml_inference_pb2.py +23 -0
  114. viam/gen/app/mlinference/v1/ml_inference_pb2.pyi +63 -0
  115. viam/gen/app/mltraining/v1/ml_training_grpc.py +51 -3
  116. viam/gen/app/mltraining/v1/ml_training_pb2.py +135 -58
  117. viam/gen/app/mltraining/v1/ml_training_pb2.pyi +328 -39
  118. viam/gen/app/packages/v1/packages_grpc.py +15 -1
  119. viam/gen/app/packages/v1/packages_pb2.py +44 -64
  120. viam/gen/app/packages/v1/packages_pb2.pyi +75 -85
  121. viam/gen/app/v1/app_grpc.py +644 -3
  122. viam/gen/app/v1/app_pb2.py +695 -295
  123. viam/gen/app/v1/app_pb2.pyi +4488 -635
  124. viam/gen/app/v1/billing_grpc.py +53 -11
  125. viam/gen/app/v1/billing_pb2.py +94 -39
  126. viam/gen/app/v1/billing_pb2.pyi +391 -191
  127. viam/gen/app/v1/end_user_grpc.py +59 -0
  128. viam/gen/app/v1/end_user_pb2.py +55 -0
  129. viam/gen/app/v1/end_user_pb2.pyi +181 -0
  130. viam/gen/app/v1/robot_grpc.py +16 -1
  131. viam/gen/app/v1/robot_pb2.py +122 -94
  132. viam/gen/app/v1/robot_pb2.pyi +463 -123
  133. viam/gen/common/v1/common_pb2.py +87 -58
  134. viam/gen/common/v1/common_pb2.pyi +456 -149
  135. viam/gen/component/arm/v1/arm_grpc.py +58 -2
  136. viam/gen/component/arm/v1/arm_pb2.py +68 -51
  137. viam/gen/component/arm/v1/arm_pb2.pyi +108 -42
  138. viam/gen/component/audioin/__init__.py +0 -0
  139. viam/gen/component/audioin/v1/__init__.py +0 -0
  140. viam/gen/component/audioin/v1/audioin_grpc.py +54 -0
  141. viam/gen/component/audioin/v1/audioin_pb2.py +34 -0
  142. viam/gen/component/audioin/v1/audioin_pb2.pyi +94 -0
  143. viam/gen/component/audioinput/v1/audioinput_grpc.py +25 -2
  144. viam/gen/component/audioinput/v1/audioinput_pb2.py +36 -31
  145. viam/gen/component/audioinput/v1/audioinput_pb2.pyi +22 -22
  146. viam/gen/component/audioout/__init__.py +0 -0
  147. viam/gen/component/audioout/v1/__init__.py +0 -0
  148. viam/gen/component/audioout/v1/audioout_grpc.py +54 -0
  149. viam/gen/component/audioout/v1/audioout_pb2.py +32 -0
  150. viam/gen/component/audioout/v1/audioout_pb2.pyi +47 -0
  151. viam/gen/component/base/v1/base_grpc.py +42 -2
  152. viam/gen/component/base/v1/base_pb2.py +58 -47
  153. viam/gen/component/base/v1/base_pb2.pyi +65 -30
  154. viam/gen/component/board/v1/board_grpc.py +59 -7
  155. viam/gen/component/board/v1/board_pb2.py +94 -73
  156. viam/gen/component/board/v1/board_pb2.pyi +165 -68
  157. viam/gen/component/button/__init__.py +0 -0
  158. viam/gen/component/button/v1/__init__.py +0 -0
  159. viam/gen/component/button/v1/button_grpc.py +38 -0
  160. viam/gen/component/button/v1/button_pb2.py +28 -0
  161. viam/gen/component/button/v1/button_pb2.pyi +39 -0
  162. viam/gen/component/camera/v1/camera_grpc.py +38 -2
  163. viam/gen/component/camera/v1/camera_pb2.py +60 -43
  164. viam/gen/component/camera/v1/camera_pb2.pyi +191 -37
  165. viam/gen/component/encoder/v1/encoder_grpc.py +25 -2
  166. viam/gen/component/encoder/v1/encoder_pb2.py +36 -31
  167. viam/gen/component/encoder/v1/encoder_pb2.pyi +15 -15
  168. viam/gen/component/gantry/v1/gantry_grpc.py +47 -2
  169. viam/gen/component/gantry/v1/gantry_pb2.py +56 -43
  170. viam/gen/component/gantry/v1/gantry_pb2.pyi +67 -31
  171. viam/gen/component/generic/v1/generic_grpc.py +16 -2
  172. viam/gen/component/generic/v1/generic_pb2.py +16 -11
  173. viam/gen/component/gripper/v1/gripper_grpc.py +44 -2
  174. viam/gen/component/gripper/v1/gripper_pb2.py +48 -35
  175. viam/gen/component/gripper/v1/gripper_pb2.pyi +62 -24
  176. viam/gen/component/inputcontroller/v1/input_controller_grpc.py +28 -2
  177. viam/gen/component/inputcontroller/v1/input_controller_pb2.py +46 -41
  178. viam/gen/component/inputcontroller/v1/input_controller_pb2.pyi +32 -36
  179. viam/gen/component/motor/v1/motor_grpc.py +51 -2
  180. viam/gen/component/motor/v1/motor_pb2.py +78 -67
  181. viam/gen/component/motor/v1/motor_pb2.pyi +75 -46
  182. viam/gen/component/movementsensor/v1/movementsensor_grpc.py +48 -2
  183. viam/gen/component/movementsensor/v1/movementsensor_pb2.py +70 -63
  184. viam/gen/component/movementsensor/v1/movementsensor_pb2.pyi +84 -57
  185. viam/gen/component/posetracker/v1/pose_tracker_grpc.py +19 -2
  186. viam/gen/component/posetracker/v1/pose_tracker_pb2.py +26 -21
  187. viam/gen/component/posetracker/v1/pose_tracker_pb2.pyi +9 -13
  188. viam/gen/component/powersensor/__init__.py +0 -0
  189. viam/gen/component/powersensor/v1/__init__.py +0 -0
  190. viam/gen/component/powersensor/v1/powersensor_grpc.py +62 -0
  191. viam/gen/component/powersensor/v1/powersensor_pb2.py +42 -0
  192. viam/gen/component/powersensor/v1/powersensor_pb2.pyi +124 -0
  193. viam/gen/component/sensor/v1/sensor_grpc.py +21 -5
  194. viam/gen/component/sensor/v1/sensor_pb2.py +18 -22
  195. viam/gen/component/sensor/v1/sensor_pb2.pyi +1 -69
  196. viam/gen/component/servo/v1/servo_grpc.py +28 -2
  197. viam/gen/component/servo/v1/servo_pb2.py +42 -37
  198. viam/gen/component/servo/v1/servo_pb2.pyi +22 -26
  199. viam/gen/component/switch/__init__.py +0 -0
  200. viam/gen/component/switch/v1/__init__.py +0 -0
  201. viam/gen/component/switch/v1/switch_grpc.py +54 -0
  202. viam/gen/component/switch/v1/switch_pb2.py +40 -0
  203. viam/gen/component/switch/v1/switch_pb2.pyi +116 -0
  204. viam/gen/component/testecho/v1/testecho_grpc.py +15 -0
  205. viam/gen/component/testecho/v1/testecho_pb2.py +29 -26
  206. viam/gen/component/testecho/v1/testecho_pb2.pyi +16 -20
  207. viam/gen/module/v1/module_grpc.py +18 -0
  208. viam/gen/module/v1/module_pb2.py +36 -33
  209. viam/gen/module/v1/module_pb2.pyi +39 -34
  210. viam/gen/opentelemetry/__init__.py +0 -0
  211. viam/gen/opentelemetry/proto/__init__.py +0 -0
  212. viam/gen/opentelemetry/proto/common/__init__.py +0 -0
  213. viam/gen/opentelemetry/proto/common/v1/__init__.py +0 -0
  214. viam/gen/opentelemetry/proto/common/v1/common_grpc.py +0 -0
  215. viam/gen/opentelemetry/proto/common/v1/common_pb2.py +27 -0
  216. viam/gen/opentelemetry/proto/common/v1/common_pb2.pyi +208 -0
  217. viam/gen/opentelemetry/proto/resource/__init__.py +0 -0
  218. viam/gen/opentelemetry/proto/resource/v1/__init__.py +0 -0
  219. viam/gen/opentelemetry/proto/resource/v1/resource_grpc.py +0 -0
  220. viam/gen/opentelemetry/proto/resource/v1/resource_pb2.py +18 -0
  221. viam/gen/opentelemetry/proto/resource/v1/resource_pb2.pyi +59 -0
  222. viam/gen/opentelemetry/proto/trace/__init__.py +0 -0
  223. viam/gen/opentelemetry/proto/trace/v1/__init__.py +0 -0
  224. viam/gen/opentelemetry/proto/trace/v1/trace_grpc.py +0 -0
  225. viam/gen/opentelemetry/proto/trace/v1/trace_pb2.py +37 -0
  226. viam/gen/opentelemetry/proto/trace/v1/trace_pb2.pyi +402 -0
  227. viam/gen/proto/rpc/examples/echo/v1/echo_grpc.py +12 -0
  228. viam/gen/proto/rpc/examples/echo/v1/echo_pb2.py +25 -22
  229. viam/gen/proto/rpc/examples/echo/v1/echo_pb2.pyi +13 -17
  230. viam/gen/proto/rpc/examples/echoresource/v1/echoresource_grpc.py +12 -0
  231. viam/gen/proto/rpc/examples/echoresource/v1/echoresource_pb2.py +23 -20
  232. viam/gen/proto/rpc/examples/echoresource/v1/echoresource_pb2.pyi +13 -17
  233. viam/gen/proto/rpc/v1/auth_grpc.py +11 -0
  234. viam/gen/proto/rpc/v1/auth_pb2.py +27 -24
  235. viam/gen/proto/rpc/v1/auth_pb2.pyi +12 -16
  236. viam/gen/proto/rpc/webrtc/v1/grpc_pb2.py +35 -32
  237. viam/gen/proto/rpc/webrtc/v1/grpc_pb2.pyi +37 -41
  238. viam/gen/proto/rpc/webrtc/v1/signaling_grpc.py +15 -0
  239. viam/gen/proto/rpc/webrtc/v1/signaling_pb2.py +62 -57
  240. viam/gen/proto/rpc/webrtc/v1/signaling_pb2.pyi +78 -69
  241. viam/gen/provisioning/__init__.py +0 -0
  242. viam/gen/provisioning/v1/__init__.py +0 -0
  243. viam/gen/provisioning/v1/provisioning_grpc.py +59 -0
  244. viam/gen/provisioning/v1/provisioning_pb2.py +45 -0
  245. viam/gen/provisioning/v1/provisioning_pb2.pyi +229 -0
  246. viam/gen/robot/v1/robot_grpc.py +144 -15
  247. viam/gen/robot/v1/robot_pb2.py +193 -119
  248. viam/gen/robot/v1/robot_pb2.pyi +565 -137
  249. viam/gen/service/datamanager/v1/data_manager_grpc.py +20 -2
  250. viam/gen/service/datamanager/v1/data_manager_pb2.py +27 -17
  251. viam/gen/service/datamanager/v1/data_manager_pb2.pyi +52 -10
  252. viam/gen/service/discovery/__init__.py +0 -0
  253. viam/gen/service/discovery/v1/__init__.py +0 -0
  254. viam/gen/service/discovery/v1/discovery_grpc.py +39 -0
  255. viam/gen/service/discovery/v1/discovery_pb2.py +29 -0
  256. viam/gen/service/discovery/v1/discovery_pb2.pyi +51 -0
  257. viam/gen/service/generic/__init__.py +0 -0
  258. viam/gen/service/generic/v1/__init__.py +0 -0
  259. viam/gen/service/generic/v1/generic_grpc.py +29 -0
  260. viam/gen/service/generic/v1/generic_pb2.py +21 -0
  261. viam/gen/service/generic/v1/generic_pb2.pyi +6 -0
  262. viam/gen/service/mlmodel/v1/mlmodel_grpc.py +9 -0
  263. viam/gen/service/mlmodel/v1/mlmodel_pb2.py +76 -29
  264. viam/gen/service/mlmodel/v1/mlmodel_pb2.pyi +307 -28
  265. viam/gen/service/motion/v1/motion_grpc.py +42 -4
  266. viam/gen/service/motion/v1/motion_pb2.py +119 -51
  267. viam/gen/service/motion/v1/motion_pb2.pyi +595 -120
  268. viam/gen/service/navigation/v1/navigation_grpc.py +49 -1
  269. viam/gen/service/navigation/v1/navigation_pb2.py +76 -51
  270. viam/gen/service/navigation/v1/navigation_pb2.pyi +188 -33
  271. viam/gen/service/sensors/v1/sensors_grpc.py +12 -0
  272. viam/gen/service/sensors/v1/sensors_pb2.py +60 -29
  273. viam/gen/service/sensors/v1/sensors_pb2.pyi +18 -21
  274. viam/gen/service/shell/v1/shell_grpc.py +27 -1
  275. viam/gen/service/shell/v1/shell_pb2.py +37 -15
  276. viam/gen/service/shell/v1/shell_pb2.pyi +260 -7
  277. viam/gen/service/slam/v1/slam_grpc.py +24 -2
  278. viam/gen/service/slam/v1/slam_pb2.py +44 -30
  279. viam/gen/service/slam/v1/slam_pb2.pyi +128 -27
  280. viam/gen/service/video/__init__.py +0 -0
  281. viam/gen/service/video/v1/__init__.py +0 -0
  282. viam/gen/service/video/v1/video_grpc.py +39 -0
  283. viam/gen/service/video/v1/video_pb2.py +29 -0
  284. viam/gen/service/video/v1/video_pb2.pyi +72 -0
  285. viam/gen/service/vision/v1/vision_grpc.py +39 -1
  286. viam/gen/service/vision/v1/vision_pb2.py +61 -45
  287. viam/gen/service/vision/v1/vision_pb2.pyi +180 -41
  288. viam/gen/service/worldstatestore/__init__.py +0 -0
  289. viam/gen/service/worldstatestore/v1/__init__.py +0 -0
  290. viam/gen/service/worldstatestore/v1/world_state_store_grpc.py +55 -0
  291. viam/gen/service/worldstatestore/v1/world_state_store_pb2.py +39 -0
  292. viam/gen/service/worldstatestore/v1/world_state_store_pb2.pyi +171 -0
  293. viam/gen/stream/__init__.py +0 -0
  294. viam/gen/stream/v1/__init__.py +0 -0
  295. viam/gen/stream/v1/stream_grpc.py +59 -0
  296. viam/gen/stream/v1/stream_pb2.py +39 -0
  297. viam/gen/stream/v1/stream_pb2.pyi +161 -0
  298. viam/gen/tagger/v1/tagger_pb2.py +9 -8
  299. viam/logging.py +160 -17
  300. viam/media/__init__.py +0 -9
  301. viam/media/audio.py +22 -10
  302. viam/media/utils/__init__.py +0 -0
  303. viam/media/utils/pil/__init__.py +55 -0
  304. viam/media/{viam_rgba_plugin.py → utils/pil/viam_rgba_plugin.py} +10 -16
  305. viam/media/viam_rgba.py +10 -0
  306. viam/media/video.py +197 -73
  307. viam/module/module.py +191 -44
  308. viam/module/resource_data_consumer.py +41 -0
  309. viam/module/service.py +9 -1
  310. viam/module/types.py +4 -5
  311. viam/operations.py +4 -3
  312. viam/proto/app/__init__.py +361 -5
  313. viam/proto/app/agent/__init__.py +28 -0
  314. viam/proto/app/billing.py +51 -27
  315. viam/proto/app/cloudslam/__init__.py +48 -0
  316. viam/proto/app/data/__init__.py +103 -17
  317. viam/proto/app/datapipelines/__init__.py +56 -0
  318. viam/proto/app/dataset/__init__.py +40 -0
  319. viam/proto/app/datasync/__init__.py +11 -5
  320. viam/proto/app/end_user.py +34 -0
  321. viam/proto/app/mlinference/__init__.py +15 -0
  322. viam/proto/app/mltraining/__init__.py +25 -1
  323. viam/proto/app/packages/__init__.py +3 -3
  324. viam/proto/app/robot.py +19 -1
  325. viam/proto/common/__init__.py +35 -8
  326. viam/proto/component/arm/__init__.py +9 -1
  327. viam/proto/component/audioin/__init__.py +16 -0
  328. viam/proto/component/audioinput/__init__.py +3 -1
  329. viam/proto/component/audioout/__init__.py +15 -0
  330. viam/proto/component/base/__init__.py +7 -1
  331. viam/proto/component/board/__init__.py +13 -5
  332. viam/proto/component/button/__init__.py +15 -0
  333. viam/proto/component/camera/__init__.py +9 -1
  334. viam/proto/component/encoder/__init__.py +3 -1
  335. viam/proto/component/gantry/__init__.py +7 -1
  336. viam/proto/component/generic/__init__.py +3 -1
  337. viam/proto/component/gripper/__init__.py +7 -1
  338. viam/proto/component/inputcontroller/__init__.py +7 -1
  339. viam/proto/component/motor/__init__.py +7 -1
  340. viam/proto/component/movementsensor/__init__.py +7 -1
  341. viam/proto/component/posetracker/__init__.py +7 -1
  342. viam/proto/component/powersensor/__init__.py +30 -0
  343. viam/proto/component/sensor/__init__.py +3 -4
  344. viam/proto/component/servo/__init__.py +3 -1
  345. viam/proto/component/switch/__init__.py +26 -0
  346. viam/proto/component/testecho/__init__.py +3 -1
  347. viam/proto/module/__init__.py +3 -1
  348. viam/proto/opentelemetry/__init__.py +0 -0
  349. viam/proto/opentelemetry/proto/__init__.py +0 -0
  350. viam/proto/opentelemetry/proto/common/__init__.py +15 -0
  351. viam/proto/opentelemetry/proto/resource/__init__.py +10 -0
  352. viam/proto/opentelemetry/proto/trace/__init__.py +15 -0
  353. viam/proto/provisioning/__init__.py +42 -0
  354. viam/proto/robot/__init__.py +57 -9
  355. viam/proto/rpc/auth.py +11 -1
  356. viam/proto/rpc/examples/echo/__init__.py +3 -1
  357. viam/proto/rpc/examples/echoresource/__init__.py +7 -1
  358. viam/proto/rpc/webrtc/grpc.py +3 -1
  359. viam/proto/rpc/webrtc/signaling.py +5 -1
  360. viam/proto/service/datamanager/__init__.py +15 -2
  361. viam/proto/service/discovery/__init__.py +15 -0
  362. viam/proto/service/generic/__init__.py +12 -0
  363. viam/proto/service/mlmodel/__init__.py +27 -1
  364. viam/proto/service/motion/__init__.py +35 -5
  365. viam/proto/service/navigation/__init__.py +19 -1
  366. viam/proto/service/sensors/__init__.py +3 -1
  367. viam/proto/service/shell/__init__.py +25 -2
  368. viam/proto/service/slam/__init__.py +13 -1
  369. viam/proto/service/video/__init__.py +15 -0
  370. viam/proto/service/vision/__init__.py +11 -1
  371. viam/proto/service/worldstatestore/__init__.py +32 -0
  372. viam/proto/stream/__init__.py +36 -0
  373. viam/py.typed +0 -0
  374. viam/resource/base.py +45 -8
  375. viam/resource/easy_resource.py +149 -0
  376. viam/resource/manager.py +35 -14
  377. viam/resource/registry.py +40 -52
  378. viam/resource/rpc_client_base.py +33 -1
  379. viam/resource/rpc_service_base.py +15 -8
  380. viam/resource/types.py +39 -26
  381. viam/robot/client.py +458 -91
  382. viam/robot/service.py +13 -107
  383. viam/rpc/dial.py +133 -15
  384. viam/rpc/libviam_rust_utils.so +0 -0
  385. viam/rpc/server.py +59 -15
  386. viam/rpc/types.py +2 -4
  387. viam/services/discovery/__init__.py +12 -0
  388. viam/services/discovery/client.py +55 -0
  389. viam/services/discovery/discovery.py +52 -0
  390. viam/services/discovery/service.py +43 -0
  391. viam/services/generic/__init__.py +18 -0
  392. viam/services/generic/client.py +58 -0
  393. viam/services/generic/generic.py +58 -0
  394. viam/services/generic/service.py +29 -0
  395. viam/services/mlmodel/__init__.py +15 -1
  396. viam/services/mlmodel/client.py +20 -15
  397. viam/services/mlmodel/mlmodel.py +44 -7
  398. viam/services/mlmodel/service.py +9 -13
  399. viam/services/mlmodel/utils.py +101 -0
  400. viam/services/motion/__init__.py +15 -3
  401. viam/services/motion/client.py +109 -150
  402. viam/services/motion/motion.py +380 -0
  403. viam/services/motion/service.py +132 -0
  404. viam/services/navigation/__init__.py +11 -0
  405. viam/services/navigation/client.py +99 -0
  406. viam/services/navigation/navigation.py +250 -0
  407. viam/services/navigation/service.py +137 -0
  408. viam/services/service_base.py +43 -4
  409. viam/services/service_client_base.py +4 -4
  410. viam/services/slam/__init__.py +4 -1
  411. viam/services/slam/client.py +21 -11
  412. viam/services/slam/service.py +16 -19
  413. viam/services/slam/slam.py +66 -5
  414. viam/services/vision/__init__.py +8 -0
  415. viam/services/vision/client.py +115 -111
  416. viam/services/vision/service.py +143 -0
  417. viam/services/vision/vision.py +317 -0
  418. viam/services/worldstatestore/__init__.py +18 -0
  419. viam/services/worldstatestore/client.py +94 -0
  420. viam/services/worldstatestore/service.py +55 -0
  421. viam/services/worldstatestore/worldstatestore.py +90 -0
  422. viam/sessions_client.py +254 -0
  423. viam/streams.py +44 -0
  424. viam/utils.py +143 -15
  425. viam/version_metadata.py +4 -0
  426. viam_sdk-0.66.0.dist-info/METADATA +157 -0
  427. viam_sdk-0.66.0.dist-info/RECORD +531 -0
  428. {viam_sdk-0.3.0.dist-info → viam_sdk-0.66.0.dist-info}/WHEEL +1 -1
  429. viam/components/audio_input/__init__.py +0 -18
  430. viam/components/audio_input/audio_input.py +0 -79
  431. viam/components/audio_input/client.py +0 -60
  432. viam/components/audio_input/service.py +0 -118
  433. viam/components/types.py +0 -5
  434. viam/gen/app/model/v1/model_grpc.py +0 -39
  435. viam/gen/app/model/v1/model_pb2.py +0 -71
  436. viam/gen/app/model/v1/model_pb2.pyi +0 -285
  437. viam/gen/proto/rpc/examples/fileupload/v1/fileupload_grpc.py +0 -21
  438. viam/gen/proto/rpc/examples/fileupload/v1/fileupload_pb2.py +0 -18
  439. viam/gen/proto/rpc/examples/fileupload/v1/fileupload_pb2.pyi +0 -49
  440. viam/media/media.py +0 -53
  441. viam/proto/app/model/__init__.py +0 -40
  442. viam/proto/rpc/examples/fileupload/__init__.py +0 -13
  443. viam/services/sensors/__init__.py +0 -5
  444. viam/services/sensors/client.py +0 -63
  445. viam_sdk-0.3.0.dist-info/LICENSE +0 -202
  446. viam_sdk-0.3.0.dist-info/METADATA +0 -122
  447. viam_sdk-0.3.0.dist-info/RECORD +0 -372
  448. /viam/{gen/app/model → app}/__init__.py +0 -0
  449. /viam/gen/app/{model/v1 → agent}/__init__.py +0 -0
  450. /viam/gen/{proto/rpc/examples/fileupload → app/agent/v1}/__init__.py +0 -0
  451. /viam/gen/{proto/rpc/examples/fileupload/v1 → app/cloudslam}/__init__.py +0 -0
  452. /LICENSE → /viam_sdk-0.66.0.dist-info/licenses/LICENSE +0 -0
@@ -2,6 +2,7 @@
2
2
  @generated by mypy-protobuf. Do not edit manually!
3
3
  isort:skip_file
4
4
  """
5
+ from .... import app
5
6
  import builtins
6
7
  import collections.abc
7
8
  import google.protobuf.any_pb2
@@ -19,6 +20,27 @@ else:
19
20
  import typing_extensions
20
21
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
21
22
 
23
+ class _MimeType:
24
+ ValueType = typing.NewType('ValueType', builtins.int)
25
+ V: typing_extensions.TypeAlias = ValueType
26
+
27
+ class _MimeTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MimeType.ValueType], builtins.type):
28
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
29
+ MIME_TYPE_UNSPECIFIED: _MimeType.ValueType
30
+ MIME_TYPE_IMAGE_JPEG: _MimeType.ValueType
31
+ MIME_TYPE_IMAGE_PNG: _MimeType.ValueType
32
+ MIME_TYPE_APPLICATION_PCD: _MimeType.ValueType
33
+ MIME_TYPE_VIDEO_MP4: _MimeType.ValueType
34
+
35
+ class MimeType(_MimeType, metaclass=_MimeTypeEnumTypeWrapper):
36
+ ...
37
+ MIME_TYPE_UNSPECIFIED: MimeType.ValueType
38
+ MIME_TYPE_IMAGE_JPEG: MimeType.ValueType
39
+ MIME_TYPE_IMAGE_PNG: MimeType.ValueType
40
+ MIME_TYPE_APPLICATION_PCD: MimeType.ValueType
41
+ MIME_TYPE_VIDEO_MP4: MimeType.ValueType
42
+ global___MimeType = MimeType
43
+
22
44
  class _DataType:
23
45
  ValueType = typing.NewType('ValueType', builtins.int)
24
46
  V: typing_extensions.TypeAlias = ValueType
@@ -31,15 +53,16 @@ class _DataTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumT
31
53
  DATA_TYPE_FILE: _DataType.ValueType
32
54
 
33
55
  class DataType(_DataType, metaclass=_DataTypeEnumTypeWrapper):
34
- ...
56
+ """DataType specifies the type of data uploaded."""
35
57
  DATA_TYPE_UNSPECIFIED: DataType.ValueType
36
58
  DATA_TYPE_BINARY_SENSOR: DataType.ValueType
37
59
  DATA_TYPE_TABULAR_SENSOR: DataType.ValueType
38
60
  DATA_TYPE_FILE: DataType.ValueType
39
61
  global___DataType = DataType
40
62
 
41
- @typing_extensions.final
63
+ @typing.final
42
64
  class DataCaptureUploadRequest(google.protobuf.message.Message):
65
+ """DataCaptureUploadRequest requests to upload the contents and metadata for tabular data."""
43
66
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
44
67
  METADATA_FIELD_NUMBER: builtins.int
45
68
  SENSOR_CONTENTS_FIELD_NUMBER: builtins.int
@@ -55,23 +78,34 @@ class DataCaptureUploadRequest(google.protobuf.message.Message):
55
78
  def __init__(self, *, metadata: global___UploadMetadata | None=..., sensor_contents: collections.abc.Iterable[global___SensorData] | None=...) -> None:
56
79
  ...
57
80
 
58
- def HasField(self, field_name: typing_extensions.Literal['metadata', b'metadata']) -> builtins.bool:
81
+ def HasField(self, field_name: typing.Literal['metadata', b'metadata']) -> builtins.bool:
59
82
  ...
60
83
 
61
- def ClearField(self, field_name: typing_extensions.Literal['metadata', b'metadata', 'sensor_contents', b'sensor_contents']) -> None:
84
+ def ClearField(self, field_name: typing.Literal['metadata', b'metadata', 'sensor_contents', b'sensor_contents']) -> None:
62
85
  ...
63
86
  global___DataCaptureUploadRequest = DataCaptureUploadRequest
64
87
 
65
- @typing_extensions.final
88
+ @typing.final
66
89
  class DataCaptureUploadResponse(google.protobuf.message.Message):
90
+ """DataCaptureUploadResponse returns the file id of the uploaded contents and metadata for tabular data."""
67
91
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
92
+ FILE_ID_FIELD_NUMBER: builtins.int
93
+ BINARY_DATA_ID_FIELD_NUMBER: builtins.int
94
+ file_id: builtins.str
95
+ binary_data_id: builtins.str
96
+
97
+ def __init__(self, *, file_id: builtins.str=..., binary_data_id: builtins.str=...) -> None:
98
+ ...
68
99
 
69
- def __init__(self) -> None:
100
+ def ClearField(self, field_name: typing.Literal['binary_data_id', b'binary_data_id', 'file_id', b'file_id']) -> None:
70
101
  ...
71
102
  global___DataCaptureUploadResponse = DataCaptureUploadResponse
72
103
 
73
- @typing_extensions.final
104
+ @typing.final
74
105
  class FileUploadRequest(google.protobuf.message.Message):
106
+ """FileUploadRequest requests to upload the contents and metadata for binary (image + file) data.
107
+ The first packet must be the UploadMetadata associated with the binary data.
108
+ """
75
109
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
76
110
  METADATA_FIELD_NUMBER: builtins.int
77
111
  FILE_CONTENTS_FIELD_NUMBER: builtins.int
@@ -87,29 +121,86 @@ class FileUploadRequest(google.protobuf.message.Message):
87
121
  def __init__(self, *, metadata: global___UploadMetadata | None=..., file_contents: global___FileData | None=...) -> None:
88
122
  ...
89
123
 
90
- def HasField(self, field_name: typing_extensions.Literal['file_contents', b'file_contents', 'metadata', b'metadata', 'upload_packet', b'upload_packet']) -> builtins.bool:
124
+ def HasField(self, field_name: typing.Literal['file_contents', b'file_contents', 'metadata', b'metadata', 'upload_packet', b'upload_packet']) -> builtins.bool:
91
125
  ...
92
126
 
93
- def ClearField(self, field_name: typing_extensions.Literal['file_contents', b'file_contents', 'metadata', b'metadata', 'upload_packet', b'upload_packet']) -> None:
127
+ def ClearField(self, field_name: typing.Literal['file_contents', b'file_contents', 'metadata', b'metadata', 'upload_packet', b'upload_packet']) -> None:
94
128
  ...
95
129
 
96
- def WhichOneof(self, oneof_group: typing_extensions.Literal['upload_packet', b'upload_packet']) -> typing_extensions.Literal['metadata', 'file_contents'] | None:
130
+ def WhichOneof(self, oneof_group: typing.Literal['upload_packet', b'upload_packet']) -> typing.Literal['metadata', 'file_contents'] | None:
97
131
  ...
98
132
  global___FileUploadRequest = FileUploadRequest
99
133
 
100
- @typing_extensions.final
134
+ @typing.final
101
135
  class FileUploadResponse(google.protobuf.message.Message):
136
+ """FileUploadResponse returns the file id of the uploaded contents and metadata for binary (image + file) data."""
102
137
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
138
+ FILE_ID_FIELD_NUMBER: builtins.int
139
+ BINARY_DATA_ID_FIELD_NUMBER: builtins.int
140
+ file_id: builtins.str
141
+ binary_data_id: builtins.str
103
142
 
104
- def __init__(self) -> None:
143
+ def __init__(self, *, file_id: builtins.str=..., binary_data_id: builtins.str=...) -> None:
144
+ ...
145
+
146
+ def ClearField(self, field_name: typing.Literal['binary_data_id', b'binary_data_id', 'file_id', b'file_id']) -> None:
105
147
  ...
106
148
  global___FileUploadResponse = FileUploadResponse
107
149
 
108
- @typing_extensions.final
150
+ @typing.final
151
+ class StreamingDataCaptureUploadRequest(google.protobuf.message.Message):
152
+ """StreamingDataCaptureUploadRequest requests to upload the contents and metadata for streaming binary (image + file) data.
153
+ The first packet must be the DataCaptureUploadMetadata associated with the data.
154
+ """
155
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
156
+ METADATA_FIELD_NUMBER: builtins.int
157
+ DATA_FIELD_NUMBER: builtins.int
158
+ data: builtins.bytes
159
+
160
+ @property
161
+ def metadata(self) -> global___DataCaptureUploadMetadata:
162
+ ...
163
+
164
+ def __init__(self, *, metadata: global___DataCaptureUploadMetadata | None=..., data: builtins.bytes=...) -> None:
165
+ ...
166
+
167
+ def HasField(self, field_name: typing.Literal['data', b'data', 'metadata', b'metadata', 'upload_packet', b'upload_packet']) -> builtins.bool:
168
+ ...
169
+
170
+ def ClearField(self, field_name: typing.Literal['data', b'data', 'metadata', b'metadata', 'upload_packet', b'upload_packet']) -> None:
171
+ ...
172
+
173
+ def WhichOneof(self, oneof_group: typing.Literal['upload_packet', b'upload_packet']) -> typing.Literal['metadata', 'data'] | None:
174
+ ...
175
+ global___StreamingDataCaptureUploadRequest = StreamingDataCaptureUploadRequest
176
+
177
+ @typing.final
178
+ class StreamingDataCaptureUploadResponse(google.protobuf.message.Message):
179
+ """StreamingDataCaptureUploadResponse returns the file id of the uploaded contents and metadata for streaming binary (image + file) data."""
180
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
181
+ FILE_ID_FIELD_NUMBER: builtins.int
182
+ BINARY_DATA_ID_FIELD_NUMBER: builtins.int
183
+ file_id: builtins.str
184
+ binary_data_id: builtins.str
185
+
186
+ def __init__(self, *, file_id: builtins.str=..., binary_data_id: builtins.str=...) -> None:
187
+ ...
188
+
189
+ def ClearField(self, field_name: typing.Literal['binary_data_id', b'binary_data_id', 'file_id', b'file_id']) -> None:
190
+ ...
191
+ global___StreamingDataCaptureUploadResponse = StreamingDataCaptureUploadResponse
192
+
193
+ @typing.final
109
194
  class SensorMetadata(google.protobuf.message.Message):
195
+ """SensorMetadata contains the time the sensor data was requested and was
196
+ received.
197
+ """
110
198
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
111
199
  TIME_REQUESTED_FIELD_NUMBER: builtins.int
112
200
  TIME_RECEIVED_FIELD_NUMBER: builtins.int
201
+ MIME_TYPE_FIELD_NUMBER: builtins.int
202
+ ANNOTATIONS_FIELD_NUMBER: builtins.int
203
+ mime_type: global___MimeType.ValueType
113
204
 
114
205
  @property
115
206
  def time_requested(self) -> google.protobuf.timestamp_pb2.Timestamp:
@@ -119,22 +210,28 @@ class SensorMetadata(google.protobuf.message.Message):
119
210
  def time_received(self) -> google.protobuf.timestamp_pb2.Timestamp:
120
211
  ...
121
212
 
122
- def __init__(self, *, time_requested: google.protobuf.timestamp_pb2.Timestamp | None=..., time_received: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None:
213
+ @property
214
+ def annotations(self) -> app.data.v1.data_pb2.Annotations:
215
+ ...
216
+
217
+ def __init__(self, *, time_requested: google.protobuf.timestamp_pb2.Timestamp | None=..., time_received: google.protobuf.timestamp_pb2.Timestamp | None=..., mime_type: global___MimeType.ValueType=..., annotations: app.data.v1.data_pb2.Annotations | None=...) -> None:
123
218
  ...
124
219
 
125
- def HasField(self, field_name: typing_extensions.Literal['time_received', b'time_received', 'time_requested', b'time_requested']) -> builtins.bool:
220
+ def HasField(self, field_name: typing.Literal['annotations', b'annotations', 'time_received', b'time_received', 'time_requested', b'time_requested']) -> builtins.bool:
126
221
  ...
127
222
 
128
- def ClearField(self, field_name: typing_extensions.Literal['time_received', b'time_received', 'time_requested', b'time_requested']) -> None:
223
+ def ClearField(self, field_name: typing.Literal['annotations', b'annotations', 'mime_type', b'mime_type', 'time_received', b'time_received', 'time_requested', b'time_requested']) -> None:
129
224
  ...
130
225
  global___SensorMetadata = SensorMetadata
131
226
 
132
- @typing_extensions.final
227
+ @typing.final
133
228
  class SensorData(google.protobuf.message.Message):
229
+ """SensorData contains the contents and metadata for tabular data."""
134
230
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
135
231
  METADATA_FIELD_NUMBER: builtins.int
136
232
  STRUCT_FIELD_NUMBER: builtins.int
137
233
  BINARY_FIELD_NUMBER: builtins.int
234
+ binary: builtins.bytes
138
235
 
139
236
  @property
140
237
  def metadata(self) -> global___SensorMetadata:
@@ -143,23 +240,23 @@ class SensorData(google.protobuf.message.Message):
143
240
  @property
144
241
  def struct(self) -> google.protobuf.struct_pb2.Struct:
145
242
  ...
146
- binary: builtins.bytes
147
243
 
148
244
  def __init__(self, *, metadata: global___SensorMetadata | None=..., struct: google.protobuf.struct_pb2.Struct | None=..., binary: builtins.bytes=...) -> None:
149
245
  ...
150
246
 
151
- def HasField(self, field_name: typing_extensions.Literal['binary', b'binary', 'data', b'data', 'metadata', b'metadata', 'struct', b'struct']) -> builtins.bool:
247
+ def HasField(self, field_name: typing.Literal['binary', b'binary', 'data', b'data', 'metadata', b'metadata', 'struct', b'struct']) -> builtins.bool:
152
248
  ...
153
249
 
154
- def ClearField(self, field_name: typing_extensions.Literal['binary', b'binary', 'data', b'data', 'metadata', b'metadata', 'struct', b'struct']) -> None:
250
+ def ClearField(self, field_name: typing.Literal['binary', b'binary', 'data', b'data', 'metadata', b'metadata', 'struct', b'struct']) -> None:
155
251
  ...
156
252
 
157
- def WhichOneof(self, oneof_group: typing_extensions.Literal['data', b'data']) -> typing_extensions.Literal['struct', 'binary'] | None:
253
+ def WhichOneof(self, oneof_group: typing.Literal['data', b'data']) -> typing.Literal['struct', 'binary'] | None:
158
254
  ...
159
255
  global___SensorData = SensorData
160
256
 
161
- @typing_extensions.final
257
+ @typing.final
162
258
  class FileData(google.protobuf.message.Message):
259
+ """FileData contains the contents of binary (image + file) data."""
163
260
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
164
261
  DATA_FIELD_NUMBER: builtins.int
165
262
  data: builtins.bytes
@@ -167,15 +264,16 @@ class FileData(google.protobuf.message.Message):
167
264
  def __init__(self, *, data: builtins.bytes=...) -> None:
168
265
  ...
169
266
 
170
- def ClearField(self, field_name: typing_extensions.Literal['data', b'data']) -> None:
267
+ def ClearField(self, field_name: typing.Literal['data', b'data']) -> None:
171
268
  ...
172
269
  global___FileData = FileData
173
270
 
174
- @typing_extensions.final
271
+ @typing.final
175
272
  class UploadMetadata(google.protobuf.message.Message):
273
+ """UploadMetadata contains the metadata for binary (image + file) data."""
176
274
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
177
275
 
178
- @typing_extensions.final
276
+ @typing.final
179
277
  class MethodParametersEntry(google.protobuf.message.Message):
180
278
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
181
279
  KEY_FIELD_NUMBER: builtins.int
@@ -189,49 +287,51 @@ class UploadMetadata(google.protobuf.message.Message):
189
287
  def __init__(self, *, key: builtins.str=..., value: google.protobuf.any_pb2.Any | None=...) -> None:
190
288
  ...
191
289
 
192
- def HasField(self, field_name: typing_extensions.Literal['value', b'value']) -> builtins.bool:
290
+ def HasField(self, field_name: typing.Literal['value', b'value']) -> builtins.bool:
193
291
  ...
194
292
 
195
- def ClearField(self, field_name: typing_extensions.Literal['key', b'key', 'value', b'value']) -> None:
293
+ def ClearField(self, field_name: typing.Literal['key', b'key', 'value', b'value']) -> None:
196
294
  ...
197
295
  PART_ID_FIELD_NUMBER: builtins.int
198
296
  COMPONENT_TYPE_FIELD_NUMBER: builtins.int
199
297
  COMPONENT_NAME_FIELD_NUMBER: builtins.int
200
- COMPONENT_MODEL_FIELD_NUMBER: builtins.int
201
298
  METHOD_NAME_FIELD_NUMBER: builtins.int
202
299
  TYPE_FIELD_NUMBER: builtins.int
203
300
  FILE_NAME_FIELD_NUMBER: builtins.int
204
301
  METHOD_PARAMETERS_FIELD_NUMBER: builtins.int
205
302
  FILE_EXTENSION_FIELD_NUMBER: builtins.int
206
303
  TAGS_FIELD_NUMBER: builtins.int
207
- SESSION_ID_FIELD_NUMBER: builtins.int
304
+ DATASET_IDS_FIELD_NUMBER: builtins.int
208
305
  part_id: builtins.str
209
306
  component_type: builtins.str
210
307
  component_name: builtins.str
211
- component_model: builtins.str
212
308
  method_name: builtins.str
213
309
  type: global___DataType.ValueType
214
310
  file_name: builtins.str
311
+ file_extension: builtins.str
215
312
 
216
313
  @property
217
314
  def method_parameters(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, google.protobuf.any_pb2.Any]:
218
315
  ...
219
- file_extension: builtins.str
220
316
 
221
317
  @property
222
318
  def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
223
319
  ...
224
- session_id: builtins.str
225
320
 
226
- def __init__(self, *, part_id: builtins.str=..., component_type: builtins.str=..., component_name: builtins.str=..., component_model: builtins.str=..., method_name: builtins.str=..., type: global___DataType.ValueType=..., file_name: builtins.str=..., method_parameters: collections.abc.Mapping[builtins.str, google.protobuf.any_pb2.Any] | None=..., file_extension: builtins.str=..., tags: collections.abc.Iterable[builtins.str] | None=..., session_id: builtins.str=...) -> None:
321
+ @property
322
+ def dataset_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
227
323
  ...
228
324
 
229
- def ClearField(self, field_name: typing_extensions.Literal['component_model', b'component_model', 'component_name', b'component_name', 'component_type', b'component_type', 'file_extension', b'file_extension', 'file_name', b'file_name', 'method_name', b'method_name', 'method_parameters', b'method_parameters', 'part_id', b'part_id', 'session_id', b'session_id', 'tags', b'tags', 'type', b'type']) -> None:
325
+ def __init__(self, *, part_id: builtins.str=..., component_type: builtins.str=..., component_name: builtins.str=..., method_name: builtins.str=..., type: global___DataType.ValueType=..., file_name: builtins.str=..., method_parameters: collections.abc.Mapping[builtins.str, google.protobuf.any_pb2.Any] | None=..., file_extension: builtins.str=..., tags: collections.abc.Iterable[builtins.str] | None=..., dataset_ids: collections.abc.Iterable[builtins.str] | None=...) -> None:
326
+ ...
327
+
328
+ def ClearField(self, field_name: typing.Literal['component_name', b'component_name', 'component_type', b'component_type', 'dataset_ids', b'dataset_ids', 'file_extension', b'file_extension', 'file_name', b'file_name', 'method_name', b'method_name', 'method_parameters', b'method_parameters', 'part_id', b'part_id', 'tags', b'tags', 'type', b'type']) -> None:
230
329
  ...
231
330
  global___UploadMetadata = UploadMetadata
232
331
 
233
- @typing_extensions.final
332
+ @typing.final
234
333
  class CaptureInterval(google.protobuf.message.Message):
334
+ """CaptureInterval specifies the start and end times of the data capture."""
235
335
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
236
336
  START_FIELD_NUMBER: builtins.int
237
337
  END_FIELD_NUMBER: builtins.int
@@ -247,18 +347,19 @@ class CaptureInterval(google.protobuf.message.Message):
247
347
  def __init__(self, *, start: google.protobuf.timestamp_pb2.Timestamp | None=..., end: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None:
248
348
  ...
249
349
 
250
- def HasField(self, field_name: typing_extensions.Literal['end', b'end', 'start', b'start']) -> builtins.bool:
350
+ def HasField(self, field_name: typing.Literal['end', b'end', 'start', b'start']) -> builtins.bool:
251
351
  ...
252
352
 
253
- def ClearField(self, field_name: typing_extensions.Literal['end', b'end', 'start', b'start']) -> None:
353
+ def ClearField(self, field_name: typing.Literal['end', b'end', 'start', b'start']) -> None:
254
354
  ...
255
355
  global___CaptureInterval = CaptureInterval
256
356
 
257
- @typing_extensions.final
357
+ @typing.final
258
358
  class DataCaptureMetadata(google.protobuf.message.Message):
359
+ """DataCaptureMetadata contains the metadata for data captured by collectors."""
259
360
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
260
361
 
261
- @typing_extensions.final
362
+ @typing.final
262
363
  class MethodParametersEntry(google.protobuf.message.Message):
263
364
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
264
365
  KEY_FIELD_NUMBER: builtins.int
@@ -272,204 +373,60 @@ class DataCaptureMetadata(google.protobuf.message.Message):
272
373
  def __init__(self, *, key: builtins.str=..., value: google.protobuf.any_pb2.Any | None=...) -> None:
273
374
  ...
274
375
 
275
- def HasField(self, field_name: typing_extensions.Literal['value', b'value']) -> builtins.bool:
376
+ def HasField(self, field_name: typing.Literal['value', b'value']) -> builtins.bool:
276
377
  ...
277
378
 
278
- def ClearField(self, field_name: typing_extensions.Literal['key', b'key', 'value', b'value']) -> None:
379
+ def ClearField(self, field_name: typing.Literal['key', b'key', 'value', b'value']) -> None:
279
380
  ...
280
381
  COMPONENT_TYPE_FIELD_NUMBER: builtins.int
281
382
  COMPONENT_NAME_FIELD_NUMBER: builtins.int
282
- COMPONENT_MODEL_FIELD_NUMBER: builtins.int
283
383
  METHOD_NAME_FIELD_NUMBER: builtins.int
284
384
  TYPE_FIELD_NUMBER: builtins.int
285
385
  METHOD_PARAMETERS_FIELD_NUMBER: builtins.int
286
386
  FILE_EXTENSION_FIELD_NUMBER: builtins.int
287
387
  TAGS_FIELD_NUMBER: builtins.int
288
- SESSION_ID_FIELD_NUMBER: builtins.int
289
388
  component_type: builtins.str
290
389
  component_name: builtins.str
291
- component_model: builtins.str
292
390
  method_name: builtins.str
293
391
  type: global___DataType.ValueType
294
-
295
- @property
296
- def method_parameters(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, google.protobuf.any_pb2.Any]:
297
- ...
298
392
  file_extension: builtins.str
299
393
 
300
- @property
301
- def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
302
- ...
303
- session_id: builtins.str
304
-
305
- def __init__(self, *, component_type: builtins.str=..., component_name: builtins.str=..., component_model: builtins.str=..., method_name: builtins.str=..., type: global___DataType.ValueType=..., method_parameters: collections.abc.Mapping[builtins.str, google.protobuf.any_pb2.Any] | None=..., file_extension: builtins.str=..., tags: collections.abc.Iterable[builtins.str] | None=..., session_id: builtins.str=...) -> None:
306
- ...
307
-
308
- def ClearField(self, field_name: typing_extensions.Literal['component_model', b'component_model', 'component_name', b'component_name', 'component_type', b'component_type', 'file_extension', b'file_extension', 'method_name', b'method_name', 'method_parameters', b'method_parameters', 'session_id', b'session_id', 'tags', b'tags', 'type', b'type']) -> None:
309
- ...
310
- global___DataCaptureMetadata = DataCaptureMetadata
311
-
312
- @typing_extensions.final
313
- class TabularCapture(google.protobuf.message.Message):
314
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
315
-
316
- @typing_extensions.final
317
- class MethodParametersEntry(google.protobuf.message.Message):
318
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
319
- KEY_FIELD_NUMBER: builtins.int
320
- VALUE_FIELD_NUMBER: builtins.int
321
- key: builtins.str
322
-
323
- @property
324
- def value(self) -> google.protobuf.any_pb2.Any:
325
- ...
326
-
327
- def __init__(self, *, key: builtins.str=..., value: google.protobuf.any_pb2.Any | None=...) -> None:
328
- ...
329
-
330
- def HasField(self, field_name: typing_extensions.Literal['value', b'value']) -> builtins.bool:
331
- ...
332
-
333
- def ClearField(self, field_name: typing_extensions.Literal['key', b'key', 'value', b'value']) -> None:
334
- ...
335
- INTERVAL_FIELD_NUMBER: builtins.int
336
- ORG_ID_FIELD_NUMBER: builtins.int
337
- ROBOT_ID_FIELD_NUMBER: builtins.int
338
- PART_ID_FIELD_NUMBER: builtins.int
339
- LOCATION_ID_FIELD_NUMBER: builtins.int
340
- COMPONENT_NAME_FIELD_NUMBER: builtins.int
341
- COMPONENT_TYPE_FIELD_NUMBER: builtins.int
342
- COMPONENT_MODEL_FIELD_NUMBER: builtins.int
343
- METHOD_NAME_FIELD_NUMBER: builtins.int
344
- BLOB_PATH_FIELD_NUMBER: builtins.int
345
- COLUMN_NAMES_FIELD_NUMBER: builtins.int
346
- METHOD_PARAMETERS_FIELD_NUMBER: builtins.int
347
- FILE_ID_FIELD_NUMBER: builtins.int
348
- TAGS_FIELD_NUMBER: builtins.int
349
- MESSAGE_COUNT_FIELD_NUMBER: builtins.int
350
- FILE_SIZE_BYTES_FIELD_NUMBER: builtins.int
351
- SESSION_ID_FIELD_NUMBER: builtins.int
352
- MIME_TYPE_FIELD_NUMBER: builtins.int
353
- ID_FIELD_NUMBER: builtins.int
354
-
355
- @property
356
- def interval(self) -> global___CaptureInterval:
357
- ...
358
- org_id: builtins.str
359
- robot_id: builtins.str
360
- part_id: builtins.str
361
- location_id: builtins.str
362
- component_name: builtins.str
363
- component_type: builtins.str
364
- component_model: builtins.str
365
- method_name: builtins.str
366
- blob_path: builtins.str
367
-
368
- @property
369
- def column_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
370
- ...
371
-
372
394
  @property
373
395
  def method_parameters(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, google.protobuf.any_pb2.Any]:
374
396
  ...
375
- file_id: builtins.str
376
397
 
377
398
  @property
378
399
  def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
379
400
  ...
380
- message_count: builtins.int
381
- file_size_bytes: builtins.int
382
- session_id: builtins.str
383
- mime_type: builtins.str
384
- id: builtins.str
385
401
 
386
- def __init__(self, *, interval: global___CaptureInterval | None=..., org_id: builtins.str=..., robot_id: builtins.str=..., part_id: builtins.str=..., location_id: builtins.str=..., component_name: builtins.str=..., component_type: builtins.str=..., component_model: builtins.str=..., method_name: builtins.str=..., blob_path: builtins.str=..., column_names: collections.abc.Iterable[builtins.str] | None=..., method_parameters: collections.abc.Mapping[builtins.str, google.protobuf.any_pb2.Any] | None=..., file_id: builtins.str=..., tags: collections.abc.Iterable[builtins.str] | None=..., message_count: builtins.int=..., file_size_bytes: builtins.int=..., session_id: builtins.str=..., mime_type: builtins.str=..., id: builtins.str=...) -> None:
402
+ def __init__(self, *, component_type: builtins.str=..., component_name: builtins.str=..., method_name: builtins.str=..., type: global___DataType.ValueType=..., method_parameters: collections.abc.Mapping[builtins.str, google.protobuf.any_pb2.Any] | None=..., file_extension: builtins.str=..., tags: collections.abc.Iterable[builtins.str] | None=...) -> None:
387
403
  ...
388
404
 
389
- def HasField(self, field_name: typing_extensions.Literal['interval', b'interval']) -> builtins.bool:
405
+ def ClearField(self, field_name: typing.Literal['component_name', b'component_name', 'component_type', b'component_type', 'file_extension', b'file_extension', 'method_name', b'method_name', 'method_parameters', b'method_parameters', 'tags', b'tags', 'type', b'type']) -> None:
390
406
  ...
407
+ global___DataCaptureMetadata = DataCaptureMetadata
391
408
 
392
- def ClearField(self, field_name: typing_extensions.Literal['blob_path', b'blob_path', 'column_names', b'column_names', 'component_model', b'component_model', 'component_name', b'component_name', 'component_type', b'component_type', 'file_id', b'file_id', 'file_size_bytes', b'file_size_bytes', 'id', b'id', 'interval', b'interval', 'location_id', b'location_id', 'message_count', b'message_count', 'method_name', b'method_name', 'method_parameters', b'method_parameters', 'mime_type', b'mime_type', 'org_id', b'org_id', 'part_id', b'part_id', 'robot_id', b'robot_id', 'session_id', b'session_id', 'tags', b'tags']) -> None:
393
- ...
394
- global___TabularCapture = TabularCapture
395
-
396
- @typing_extensions.final
397
- class BinaryCapture(google.protobuf.message.Message):
409
+ @typing.final
410
+ class DataCaptureUploadMetadata(google.protobuf.message.Message):
411
+ """DataCaptureUploadMetadata contains the metadata for streaming binary (image + file) data."""
398
412
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
399
-
400
- @typing_extensions.final
401
- class MethodParametersEntry(google.protobuf.message.Message):
402
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
403
- KEY_FIELD_NUMBER: builtins.int
404
- VALUE_FIELD_NUMBER: builtins.int
405
- key: builtins.str
406
-
407
- @property
408
- def value(self) -> google.protobuf.any_pb2.Any:
409
- ...
410
-
411
- def __init__(self, *, key: builtins.str=..., value: google.protobuf.any_pb2.Any | None=...) -> None:
412
- ...
413
-
414
- def HasField(self, field_name: typing_extensions.Literal['value', b'value']) -> builtins.bool:
415
- ...
416
-
417
- def ClearField(self, field_name: typing_extensions.Literal['key', b'key', 'value', b'value']) -> None:
418
- ...
419
- INTERVAL_FIELD_NUMBER: builtins.int
420
- ORG_ID_FIELD_NUMBER: builtins.int
421
- ROBOT_ID_FIELD_NUMBER: builtins.int
422
- PART_ID_FIELD_NUMBER: builtins.int
423
- LOCATION_ID_FIELD_NUMBER: builtins.int
424
- COMPONENT_NAME_FIELD_NUMBER: builtins.int
425
- COMPONENT_TYPE_FIELD_NUMBER: builtins.int
426
- COMPONENT_MODEL_FIELD_NUMBER: builtins.int
427
- METHOD_NAME_FIELD_NUMBER: builtins.int
428
- BLOB_PATH_FIELD_NUMBER: builtins.int
429
- METHOD_PARAMETERS_FIELD_NUMBER: builtins.int
430
- FILE_ID_FIELD_NUMBER: builtins.int
431
- TAGS_FIELD_NUMBER: builtins.int
432
- FILE_SIZE_BYTES_FIELD_NUMBER: builtins.int
433
- SESSION_ID_FIELD_NUMBER: builtins.int
434
- MIME_TYPE_FIELD_NUMBER: builtins.int
435
- FILE_NAME_FIELD_NUMBER: builtins.int
436
- FILE_EXT_FIELD_NUMBER: builtins.int
437
- ID_FIELD_NUMBER: builtins.int
413
+ UPLOAD_METADATA_FIELD_NUMBER: builtins.int
414
+ SENSOR_METADATA_FIELD_NUMBER: builtins.int
438
415
 
439
416
  @property
440
- def interval(self) -> global___CaptureInterval:
417
+ def upload_metadata(self) -> global___UploadMetadata:
441
418
  ...
442
- org_id: builtins.str
443
- robot_id: builtins.str
444
- part_id: builtins.str
445
- location_id: builtins.str
446
- component_name: builtins.str
447
- component_type: builtins.str
448
- component_model: builtins.str
449
- method_name: builtins.str
450
- blob_path: builtins.str
451
-
452
- @property
453
- def method_parameters(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, google.protobuf.any_pb2.Any]:
454
- ...
455
- file_id: builtins.str
456
419
 
457
420
  @property
458
- def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
421
+ def sensor_metadata(self) -> global___SensorMetadata:
459
422
  ...
460
- file_size_bytes: builtins.int
461
- session_id: builtins.str
462
- mime_type: builtins.str
463
- file_name: builtins.str
464
- file_ext: builtins.str
465
- id: builtins.str
466
423
 
467
- def __init__(self, *, interval: global___CaptureInterval | None=..., org_id: builtins.str=..., robot_id: builtins.str=..., part_id: builtins.str=..., location_id: builtins.str=..., component_name: builtins.str=..., component_type: builtins.str=..., component_model: builtins.str=..., method_name: builtins.str=..., blob_path: builtins.str=..., method_parameters: collections.abc.Mapping[builtins.str, google.protobuf.any_pb2.Any] | None=..., file_id: builtins.str=..., tags: collections.abc.Iterable[builtins.str] | None=..., file_size_bytes: builtins.int=..., session_id: builtins.str=..., mime_type: builtins.str=..., file_name: builtins.str=..., file_ext: builtins.str=..., id: builtins.str=...) -> None:
424
+ def __init__(self, *, upload_metadata: global___UploadMetadata | None=..., sensor_metadata: global___SensorMetadata | None=...) -> None:
468
425
  ...
469
426
 
470
- def HasField(self, field_name: typing_extensions.Literal['interval', b'interval']) -> builtins.bool:
427
+ def HasField(self, field_name: typing.Literal['sensor_metadata', b'sensor_metadata', 'upload_metadata', b'upload_metadata']) -> builtins.bool:
471
428
  ...
472
429
 
473
- def ClearField(self, field_name: typing_extensions.Literal['blob_path', b'blob_path', 'component_model', b'component_model', 'component_name', b'component_name', 'component_type', b'component_type', 'file_ext', b'file_ext', 'file_id', b'file_id', 'file_name', b'file_name', 'file_size_bytes', b'file_size_bytes', 'id', b'id', 'interval', b'interval', 'location_id', b'location_id', 'method_name', b'method_name', 'method_parameters', b'method_parameters', 'mime_type', b'mime_type', 'org_id', b'org_id', 'part_id', b'part_id', 'robot_id', b'robot_id', 'session_id', b'session_id', 'tags', b'tags']) -> None:
430
+ def ClearField(self, field_name: typing.Literal['sensor_metadata', b'sensor_metadata', 'upload_metadata', b'upload_metadata']) -> None:
474
431
  ...
475
- global___BinaryCapture = BinaryCapture
432
+ global___DataCaptureUploadMetadata = DataCaptureUploadMetadata
File without changes
File without changes
@@ -0,0 +1,28 @@
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 app
9
+ from .... import service
10
+
11
+ class MLInferenceServiceBase(abc.ABC):
12
+
13
+ @abc.abstractmethod
14
+ async def GetInference(self, stream: 'grpclib.server.Stream[app.mlinference.v1.ml_inference_pb2.GetInferenceRequest, app.mlinference.v1.ml_inference_pb2.GetInferenceResponse]') -> None:
15
+ pass
16
+
17
+ def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]:
18
+ return {'/viam.app.mlinference.v1.MLInferenceService/GetInference': grpclib.const.Handler(self.GetInference, grpclib.const.Cardinality.UNARY_UNARY, app.mlinference.v1.ml_inference_pb2.GetInferenceRequest, app.mlinference.v1.ml_inference_pb2.GetInferenceResponse)}
19
+
20
+ class UnimplementedMLInferenceServiceBase(MLInferenceServiceBase):
21
+
22
+ async def GetInference(self, stream: 'grpclib.server.Stream[app.mlinference.v1.ml_inference_pb2.GetInferenceRequest, app.mlinference.v1.ml_inference_pb2.GetInferenceResponse]') -> None:
23
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
24
+
25
+ class MLInferenceServiceStub:
26
+
27
+ def __init__(self, channel: grpclib.client.Channel) -> None:
28
+ self.GetInference = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.mlinference.v1.MLInferenceService/GetInference', app.mlinference.v1.ml_inference_pb2.GetInferenceRequest, app.mlinference.v1.ml_inference_pb2.GetInferenceResponse)
@@ -0,0 +1,23 @@
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, '', 'app/mlinference/v1/ml_inference.proto')
8
+ _sym_db = _symbol_database.Default()
9
+ from ....app.data.v1 import data_pb2 as app_dot_data_dot_v1_dot_data__pb2
10
+ from ....service.mlmodel.v1 import mlmodel_pb2 as service_dot_mlmodel_dot_v1_dot_mlmodel__pb2
11
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%app/mlinference/v1/ml_inference.proto\x12\x17viam.app.mlinference.v1\x1a\x16app/data/v1/data.proto\x1a service/mlmodel/v1/mlmodel.proto"\xfb\x01\n\x13GetInferenceRequest\x12(\n\x10registry_item_id\x18\x01 \x01(\tR\x0eregistryItemId\x122\n\x15registry_item_version\x18\x02 \x01(\tR\x13registryItemVersion\x127\n\tbinary_id\x18\x03 \x01(\x0b2\x1a.viam.app.data.v1.BinaryIDR\x08binaryId\x12$\n\x0ebinary_data_id\x18\x05 \x01(\tR\x0cbinaryDataId\x12\'\n\x0forganization_id\x18\x04 \x01(\tR\x0eorganizationId"\xa4\x01\n\x14GetInferenceResponse\x12K\n\x0eoutput_tensors\x18\x01 \x01(\x0b2$.viam.service.mlmodel.v1.FlatTensorsR\routputTensors\x12?\n\x0bannotations\x18\x02 \x01(\x0b2\x1d.viam.app.data.v1.AnnotationsR\x0bannotations2\x81\x01\n\x12MLInferenceService\x12k\n\x0cGetInference\x12,.viam.app.mlinference.v1.GetInferenceRequest\x1a-.viam.app.mlinference.v1.GetInferenceResponseB$Z"go.viam.com/api/app/mlinference/v1b\x06proto3')
12
+ _globals = globals()
13
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
14
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.mlinference.v1.ml_inference_pb2', _globals)
15
+ if not _descriptor._USE_C_DESCRIPTORS:
16
+ _globals['DESCRIPTOR']._loaded_options = None
17
+ _globals['DESCRIPTOR']._serialized_options = b'Z"go.viam.com/api/app/mlinference/v1'
18
+ _globals['_GETINFERENCEREQUEST']._serialized_start = 125
19
+ _globals['_GETINFERENCEREQUEST']._serialized_end = 376
20
+ _globals['_GETINFERENCERESPONSE']._serialized_start = 379
21
+ _globals['_GETINFERENCERESPONSE']._serialized_end = 543
22
+ _globals['_MLINFERENCESERVICE']._serialized_start = 546
23
+ _globals['_MLINFERENCESERVICE']._serialized_end = 675