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
@@ -0,0 +1,34 @@
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, '', 'component/audioin/v1/audioin.proto')
8
+ _sym_db = _symbol_database.Default()
9
+ from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2
10
+ from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
11
+ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
12
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n"component/audioin/v1/audioin.proto\x12\x19viam.component.audioin.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"\xfa\x01\n\x0fGetAudioRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12)\n\x10duration_seconds\x18\x02 \x01(\x02R\x0fdurationSeconds\x12\x14\n\x05codec\x18\x03 \x01(\tR\x05codec\x12\x1d\n\nrequest_id\x18\x04 \x01(\tR\trequestId\x12D\n\x1eprevious_timestamp_nanoseconds\x18\x05 \x01(\x03R\x1cpreviousTimestampNanoseconds\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"n\n\x10GetAudioResponse\x12;\n\x05audio\x18\x01 \x01(\x0b2%.viam.component.audioin.v1.AudioChunkR\x05audio\x12\x1d\n\nrequest_id\x18\x02 \x01(\tR\trequestId"\xfd\x01\n\nAudioChunk\x12\x1d\n\naudio_data\x18\x01 \x01(\x0cR\taudioData\x128\n\naudio_info\x18\x02 \x01(\x0b2\x19.viam.common.v1.AudioInfoR\taudioInfo\x12>\n\x1bstart_timestamp_nanoseconds\x18\x03 \x01(\x03R\x19startTimestampNanoseconds\x12:\n\x19end_timestamp_nanoseconds\x18\x04 \x01(\x03R\x17endTimestampNanoseconds\x12\x1a\n\x08sequence\x18\x05 \x01(\x05R\x08sequence2\xee\x04\n\x0eAudioInService\x12\x9e\x01\n\x08GetAudio\x12*.viam.component.audioin.v1.GetAudioRequest\x1a+.viam.component.audioin.v1.GetAudioResponse"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/audioin/{name}/get_audio0\x01\x12\x96\x01\n\rGetProperties\x12$.viam.common.v1.GetPropertiesRequest\x1a%.viam.common.v1.GetPropertiesResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/audioin/{name}/properties\x12\x88\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/service/audioin/{name}/do_command\x12\x96\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/audioin/{name}/geometriesBE\n\x1dcom.viam.component.audioin.v1Z$go.viam.com/api/component/audioin/v1b\x06proto3')
13
+ _globals = globals()
14
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
15
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.audioin.v1.audioin_pb2', _globals)
16
+ if not _descriptor._USE_C_DESCRIPTORS:
17
+ _globals['DESCRIPTOR']._loaded_options = None
18
+ _globals['DESCRIPTOR']._serialized_options = b'\n\x1dcom.viam.component.audioin.v1Z$go.viam.com/api/component/audioin/v1'
19
+ _globals['_AUDIOINSERVICE'].methods_by_name['GetAudio']._loaded_options = None
20
+ _globals['_AUDIOINSERVICE'].methods_by_name['GetAudio']._serialized_options = b'\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/audioin/{name}/get_audio'
21
+ _globals['_AUDIOINSERVICE'].methods_by_name['GetProperties']._loaded_options = None
22
+ _globals['_AUDIOINSERVICE'].methods_by_name['GetProperties']._serialized_options = b'\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/audioin/{name}/properties'
23
+ _globals['_AUDIOINSERVICE'].methods_by_name['DoCommand']._loaded_options = None
24
+ _globals['_AUDIOINSERVICE'].methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x020"./viam/api/v1/service/audioin/{name}/do_command'
25
+ _globals['_AUDIOINSERVICE'].methods_by_name['GetGeometries']._loaded_options = None
26
+ _globals['_AUDIOINSERVICE'].methods_by_name['GetGeometries']._serialized_options = b'\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/audioin/{name}/geometries'
27
+ _globals['_GETAUDIOREQUEST']._serialized_start = 150
28
+ _globals['_GETAUDIOREQUEST']._serialized_end = 400
29
+ _globals['_GETAUDIORESPONSE']._serialized_start = 402
30
+ _globals['_GETAUDIORESPONSE']._serialized_end = 512
31
+ _globals['_AUDIOCHUNK']._serialized_start = 515
32
+ _globals['_AUDIOCHUNK']._serialized_end = 768
33
+ _globals['_AUDIOINSERVICE']._serialized_start = 771
34
+ _globals['_AUDIOINSERVICE']._serialized_end = 1393
@@ -0,0 +1,94 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+ import builtins
6
+ from .... import common
7
+ import google.protobuf.descriptor
8
+ import google.protobuf.message
9
+ import google.protobuf.struct_pb2
10
+ import typing
11
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
12
+
13
+ @typing.final
14
+ class GetAudioRequest(google.protobuf.message.Message):
15
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
16
+ NAME_FIELD_NUMBER: builtins.int
17
+ DURATION_SECONDS_FIELD_NUMBER: builtins.int
18
+ CODEC_FIELD_NUMBER: builtins.int
19
+ REQUEST_ID_FIELD_NUMBER: builtins.int
20
+ PREVIOUS_TIMESTAMP_NANOSECONDS_FIELD_NUMBER: builtins.int
21
+ EXTRA_FIELD_NUMBER: builtins.int
22
+ name: builtins.str
23
+ duration_seconds: builtins.float
24
+ 'Desired duration of audio stream\n If not set or set to 0, the stream is infinite\n '
25
+ codec: builtins.str
26
+ 'Requested audio codec for the response (e.g., "mp3", "pcm16")'
27
+ request_id: builtins.str
28
+ "To match a request to it's responses"
29
+ previous_timestamp_nanoseconds: builtins.int
30
+ 'Timestamp of the previous audio chunk, in nanoseconds, used for resuming and continuity.'
31
+
32
+ @property
33
+ def extra(self) -> google.protobuf.struct_pb2.Struct:
34
+ ...
35
+
36
+ def __init__(self, *, name: builtins.str=..., duration_seconds: builtins.float=..., codec: builtins.str=..., request_id: builtins.str=..., previous_timestamp_nanoseconds: builtins.int=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
37
+ ...
38
+
39
+ def HasField(self, field_name: typing.Literal['extra', b'extra']) -> builtins.bool:
40
+ ...
41
+
42
+ def ClearField(self, field_name: typing.Literal['codec', b'codec', 'duration_seconds', b'duration_seconds', 'extra', b'extra', 'name', b'name', 'previous_timestamp_nanoseconds', b'previous_timestamp_nanoseconds', 'request_id', b'request_id']) -> None:
43
+ ...
44
+ global___GetAudioRequest = GetAudioRequest
45
+
46
+ @typing.final
47
+ class GetAudioResponse(google.protobuf.message.Message):
48
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
49
+ AUDIO_FIELD_NUMBER: builtins.int
50
+ REQUEST_ID_FIELD_NUMBER: builtins.int
51
+ request_id: builtins.str
52
+
53
+ @property
54
+ def audio(self) -> global___AudioChunk:
55
+ ...
56
+
57
+ def __init__(self, *, audio: global___AudioChunk | None=..., request_id: builtins.str=...) -> None:
58
+ ...
59
+
60
+ def HasField(self, field_name: typing.Literal['audio', b'audio']) -> builtins.bool:
61
+ ...
62
+
63
+ def ClearField(self, field_name: typing.Literal['audio', b'audio', 'request_id', b'request_id']) -> None:
64
+ ...
65
+ global___GetAudioResponse = GetAudioResponse
66
+
67
+ @typing.final
68
+ class AudioChunk(google.protobuf.message.Message):
69
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
70
+ AUDIO_DATA_FIELD_NUMBER: builtins.int
71
+ AUDIO_INFO_FIELD_NUMBER: builtins.int
72
+ START_TIMESTAMP_NANOSECONDS_FIELD_NUMBER: builtins.int
73
+ END_TIMESTAMP_NANOSECONDS_FIELD_NUMBER: builtins.int
74
+ SEQUENCE_FIELD_NUMBER: builtins.int
75
+ audio_data: builtins.bytes
76
+ 'Audio data for this chunk, encoded according to the requested codec.'
77
+ start_timestamp_nanoseconds: builtins.int
78
+ end_timestamp_nanoseconds: builtins.int
79
+ sequence: builtins.int
80
+ 'Sequential chunk number'
81
+
82
+ @property
83
+ def audio_info(self) -> common.v1.common_pb2.AudioInfo:
84
+ """Info about the audio stream for this chunk"""
85
+
86
+ def __init__(self, *, audio_data: builtins.bytes=..., audio_info: common.v1.common_pb2.AudioInfo | None=..., start_timestamp_nanoseconds: builtins.int=..., end_timestamp_nanoseconds: builtins.int=..., sequence: builtins.int=...) -> None:
87
+ ...
88
+
89
+ def HasField(self, field_name: typing.Literal['audio_info', b'audio_info']) -> builtins.bool:
90
+ ...
91
+
92
+ def ClearField(self, field_name: typing.Literal['audio_data', b'audio_data', 'audio_info', b'audio_info', 'end_timestamp_nanoseconds', b'end_timestamp_nanoseconds', 'sequence', b'sequence', 'start_timestamp_nanoseconds', b'start_timestamp_nanoseconds']) -> None:
93
+ ...
94
+ global___AudioChunk = AudioChunk
@@ -2,6 +2,7 @@ import abc
2
2
  import typing
3
3
  import grpclib.const
4
4
  import grpclib.client
5
+ import grpclib.exceptions
5
6
  if typing.TYPE_CHECKING:
6
7
  import grpclib.server
7
8
  from .... import common
@@ -28,8 +29,29 @@ class AudioInputServiceBase(abc.ABC):
28
29
  async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None:
29
30
  pass
30
31
 
32
+ @abc.abstractmethod
33
+ async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None:
34
+ pass
35
+
31
36
  def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]:
32
- return {'/viam.component.audioinput.v1.AudioInputService/Chunks': grpclib.const.Handler(self.Chunks, grpclib.const.Cardinality.UNARY_STREAM, component.audioinput.v1.audioinput_pb2.ChunksRequest, component.audioinput.v1.audioinput_pb2.ChunksResponse), '/viam.component.audioinput.v1.AudioInputService/Properties': grpclib.const.Handler(self.Properties, grpclib.const.Cardinality.UNARY_UNARY, component.audioinput.v1.audioinput_pb2.PropertiesRequest, component.audioinput.v1.audioinput_pb2.PropertiesResponse), '/viam.component.audioinput.v1.AudioInputService/Record': grpclib.const.Handler(self.Record, grpclib.const.Cardinality.UNARY_UNARY, component.audioinput.v1.audioinput_pb2.RecordRequest, google.api.httpbody_pb2.HttpBody), '/viam.component.audioinput.v1.AudioInputService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)}
37
+ return {'/viam.component.audioinput.v1.AudioInputService/Chunks': grpclib.const.Handler(self.Chunks, grpclib.const.Cardinality.UNARY_STREAM, component.audioinput.v1.audioinput_pb2.ChunksRequest, component.audioinput.v1.audioinput_pb2.ChunksResponse), '/viam.component.audioinput.v1.AudioInputService/Properties': grpclib.const.Handler(self.Properties, grpclib.const.Cardinality.UNARY_UNARY, component.audioinput.v1.audioinput_pb2.PropertiesRequest, component.audioinput.v1.audioinput_pb2.PropertiesResponse), '/viam.component.audioinput.v1.AudioInputService/Record': grpclib.const.Handler(self.Record, grpclib.const.Cardinality.UNARY_UNARY, component.audioinput.v1.audioinput_pb2.RecordRequest, google.api.httpbody_pb2.HttpBody), '/viam.component.audioinput.v1.AudioInputService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.component.audioinput.v1.AudioInputService/GetGeometries': grpclib.const.Handler(self.GetGeometries, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)}
38
+
39
+ class UnimplementedAudioInputServiceBase(AudioInputServiceBase):
40
+
41
+ async def Chunks(self, stream: 'grpclib.server.Stream[component.audioinput.v1.audioinput_pb2.ChunksRequest, component.audioinput.v1.audioinput_pb2.ChunksResponse]') -> None:
42
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
43
+
44
+ async def Properties(self, stream: 'grpclib.server.Stream[component.audioinput.v1.audioinput_pb2.PropertiesRequest, component.audioinput.v1.audioinput_pb2.PropertiesResponse]') -> None:
45
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
46
+
47
+ async def Record(self, stream: 'grpclib.server.Stream[component.audioinput.v1.audioinput_pb2.RecordRequest, google.api.httpbody_pb2.HttpBody]') -> None:
48
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
49
+
50
+ async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None:
51
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
52
+
53
+ async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None:
54
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
33
55
 
34
56
  class AudioInputServiceStub:
35
57
 
@@ -37,4 +59,5 @@ class AudioInputServiceStub:
37
59
  self.Chunks = grpclib.client.UnaryStreamMethod(channel, '/viam.component.audioinput.v1.AudioInputService/Chunks', component.audioinput.v1.audioinput_pb2.ChunksRequest, component.audioinput.v1.audioinput_pb2.ChunksResponse)
38
60
  self.Properties = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.audioinput.v1.AudioInputService/Properties', component.audioinput.v1.audioinput_pb2.PropertiesRequest, component.audioinput.v1.audioinput_pb2.PropertiesResponse)
39
61
  self.Record = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.audioinput.v1.AudioInputService/Record', component.audioinput.v1.audioinput_pb2.RecordRequest, google.api.httpbody_pb2.HttpBody)
40
- self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.audioinput.v1.AudioInputService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)
62
+ self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.audioinput.v1.AudioInputService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)
63
+ self.GetGeometries = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.audioinput.v1.AudioInputService/GetGeometries', common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)
@@ -1,40 +1,45 @@
1
1
  """Generated protocol buffer code."""
2
- from google.protobuf.internal import builder as _builder
3
2
  from google.protobuf import descriptor as _descriptor
4
3
  from google.protobuf import descriptor_pool as _descriptor_pool
4
+ from google.protobuf import runtime_version as _runtime_version
5
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, '', 'component/audioinput/v1/audioinput.proto')
6
8
  _sym_db = _symbol_database.Default()
7
9
  from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2
8
10
  from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
9
11
  from google.api import httpbody_pb2 as google_dot_api_dot_httpbody__pb2
10
12
  from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
11
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(component/audioinput/v1/audioinput.proto\x12\x1cviam.component.audioinput.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x19google/api/httpbody.proto\x1a\x1egoogle/protobuf/duration.proto"Z\n\rRecordRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x125\n\x08duration\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationR\x08duration"\xa2\x01\n\x0eAudioChunkInfo\x12O\n\rsample_format\x18\x01 \x01(\x0e2*.viam.component.audioinput.v1.SampleFormatR\x0csampleFormat\x12\x1a\n\x08channels\x18\x02 \x01(\rR\x08channels\x12#\n\rsampling_rate\x18\x03 \x01(\x03R\x0csamplingRate"8\n\nAudioChunk\x12\x12\n\x04data\x18\x01 \x01(\x0cR\x04data\x12\x16\n\x06length\x18\x02 \x01(\rR\x06length"t\n\rChunksRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12O\n\rsample_format\x18\x02 \x01(\x0e2*.viam.component.audioinput.v1.SampleFormatR\x0csampleFormat"\x9e\x01\n\x0eChunksResponse\x12B\n\x04info\x18\x01 \x01(\x0b2,.viam.component.audioinput.v1.AudioChunkInfoH\x00R\x04info\x12@\n\x05chunk\x18\x02 \x01(\x0b2(.viam.component.audioinput.v1.AudioChunkH\x00R\x05chunkB\x06\n\x04type"\'\n\x11PropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x96\x02\n\x12PropertiesResponse\x12#\n\rchannel_count\x18\x01 \x01(\rR\x0cchannelCount\x123\n\x07latency\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationR\x07latency\x12\x1f\n\x0bsample_rate\x18\x03 \x01(\rR\nsampleRate\x12\x1f\n\x0bsample_size\x18\x04 \x01(\rR\nsampleSize\x12"\n\ris_big_endian\x18\x05 \x01(\x08R\x0bisBigEndian\x12\x19\n\x08is_float\x18\x06 \x01(\x08R\x07isFloat\x12%\n\x0eis_interleaved\x18\x07 \x01(\x08R\risInterleaved*y\n\x0cSampleFormat\x12\x1d\n\x19SAMPLE_FORMAT_UNSPECIFIED\x10\x00\x12#\n\x1fSAMPLE_FORMAT_INT16_INTERLEAVED\x10\x01\x12%\n!SAMPLE_FORMAT_FLOAT32_INTERLEAVED\x10\x022\xc0\x04\n\x11AudioInputService\x12e\n\x06Chunks\x12+.viam.component.audioinput.v1.ChunksRequest\x1a,.viam.component.audioinput.v1.ChunksResponse0\x01\x12\xac\x01\n\nProperties\x12/.viam.component.audioinput.v1.PropertiesRequest\x1a0.viam.component.audioinput.v1.PropertiesResponse";\x82\xd3\xe4\x93\x025\x123/viam/api/v1/component/audioinput/{name}/properties\x12\x84\x01\n\x06Record\x12+.viam.component.audioinput.v1.RecordRequest\x1a\x14.google.api.HttpBody"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/audioinput/{name}/record\x12\x8d\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse";\x82\xd3\xe4\x93\x025"3/viam/api/v1/component/audioinput/{name}/do_commandBK\n com.viam.component.audioinput.v1Z\'go.viam.com/api/component/audioinput/v1b\x06proto3')
12
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
13
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.audioinput.v1.audioinput_pb2', globals())
14
- if _descriptor._USE_C_DESCRIPTORS == False:
15
- DESCRIPTOR._options = None
16
- DESCRIPTOR._serialized_options = b"\n com.viam.component.audioinput.v1Z'go.viam.com/api/component/audioinput/v1"
17
- _AUDIOINPUTSERVICE.methods_by_name['Properties']._options = None
18
- _AUDIOINPUTSERVICE.methods_by_name['Properties']._serialized_options = b'\x82\xd3\xe4\x93\x025\x123/viam/api/v1/component/audioinput/{name}/properties'
19
- _AUDIOINPUTSERVICE.methods_by_name['Record']._options = None
20
- _AUDIOINPUTSERVICE.methods_by_name['Record']._serialized_options = b'\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/audioinput/{name}/record'
21
- _AUDIOINPUTSERVICE.methods_by_name['DoCommand']._options = None
22
- _AUDIOINPUTSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x025"3/viam/api/v1/component/audioinput/{name}/do_command'
23
- _SAMPLEFORMAT._serialized_start = 1103
24
- _SAMPLEFORMAT._serialized_end = 1224
25
- _RECORDREQUEST._serialized_start = 187
26
- _RECORDREQUEST._serialized_end = 277
27
- _AUDIOCHUNKINFO._serialized_start = 280
28
- _AUDIOCHUNKINFO._serialized_end = 442
29
- _AUDIOCHUNK._serialized_start = 444
30
- _AUDIOCHUNK._serialized_end = 500
31
- _CHUNKSREQUEST._serialized_start = 502
32
- _CHUNKSREQUEST._serialized_end = 618
33
- _CHUNKSRESPONSE._serialized_start = 621
34
- _CHUNKSRESPONSE._serialized_end = 779
35
- _PROPERTIESREQUEST._serialized_start = 781
36
- _PROPERTIESREQUEST._serialized_end = 820
37
- _PROPERTIESRESPONSE._serialized_start = 823
38
- _PROPERTIESRESPONSE._serialized_end = 1101
39
- _AUDIOINPUTSERVICE._serialized_start = 1227
40
- _AUDIOINPUTSERVICE._serialized_end = 1803
13
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(component/audioinput/v1/audioinput.proto\x12\x1cviam.component.audioinput.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x19google/api/httpbody.proto\x1a\x1egoogle/protobuf/duration.proto"Z\n\rRecordRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x125\n\x08duration\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationR\x08duration"\xa2\x01\n\x0eAudioChunkInfo\x12O\n\rsample_format\x18\x01 \x01(\x0e2*.viam.component.audioinput.v1.SampleFormatR\x0csampleFormat\x12\x1a\n\x08channels\x18\x02 \x01(\rR\x08channels\x12#\n\rsampling_rate\x18\x03 \x01(\x03R\x0csamplingRate"8\n\nAudioChunk\x12\x12\n\x04data\x18\x01 \x01(\x0cR\x04data\x12\x16\n\x06length\x18\x02 \x01(\rR\x06length"t\n\rChunksRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12O\n\rsample_format\x18\x02 \x01(\x0e2*.viam.component.audioinput.v1.SampleFormatR\x0csampleFormat"\x9e\x01\n\x0eChunksResponse\x12B\n\x04info\x18\x01 \x01(\x0b2,.viam.component.audioinput.v1.AudioChunkInfoH\x00R\x04info\x12@\n\x05chunk\x18\x02 \x01(\x0b2(.viam.component.audioinput.v1.AudioChunkH\x00R\x05chunkB\x06\n\x04type"\'\n\x11PropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x96\x02\n\x12PropertiesResponse\x12#\n\rchannel_count\x18\x01 \x01(\rR\x0cchannelCount\x123\n\x07latency\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationR\x07latency\x12\x1f\n\x0bsample_rate\x18\x03 \x01(\rR\nsampleRate\x12\x1f\n\x0bsample_size\x18\x04 \x01(\rR\nsampleSize\x12"\n\ris_big_endian\x18\x05 \x01(\x08R\x0bisBigEndian\x12\x19\n\x08is_float\x18\x06 \x01(\x08R\x07isFloat\x12%\n\x0eis_interleaved\x18\x07 \x01(\x08R\risInterleaved*y\n\x0cSampleFormat\x12\x1d\n\x19SAMPLE_FORMAT_UNSPECIFIED\x10\x00\x12#\n\x1fSAMPLE_FORMAT_INT16_INTERLEAVED\x10\x01\x12%\n!SAMPLE_FORMAT_FLOAT32_INTERLEAVED\x10\x022\xdc\x05\n\x11AudioInputService\x12e\n\x06Chunks\x12+.viam.component.audioinput.v1.ChunksRequest\x1a,.viam.component.audioinput.v1.ChunksResponse0\x01\x12\xac\x01\n\nProperties\x12/.viam.component.audioinput.v1.PropertiesRequest\x1a0.viam.component.audioinput.v1.PropertiesResponse";\x82\xd3\xe4\x93\x025\x123/viam/api/v1/component/audioinput/{name}/properties\x12\x84\x01\n\x06Record\x12+.viam.component.audioinput.v1.RecordRequest\x1a\x14.google.api.HttpBody"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/audioinput/{name}/record\x12\x8d\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse";\x82\xd3\xe4\x93\x025"3/viam/api/v1/component/audioinput/{name}/do_command\x12\x99\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse";\x82\xd3\xe4\x93\x025\x123/viam/api/v1/component/audioinput/{name}/geometriesBK\n com.viam.component.audioinput.v1Z\'go.viam.com/api/component/audioinput/v1b\x06proto3')
14
+ _globals = globals()
15
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
16
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.audioinput.v1.audioinput_pb2', _globals)
17
+ if not _descriptor._USE_C_DESCRIPTORS:
18
+ _globals['DESCRIPTOR']._loaded_options = None
19
+ _globals['DESCRIPTOR']._serialized_options = b"\n com.viam.component.audioinput.v1Z'go.viam.com/api/component/audioinput/v1"
20
+ _globals['_AUDIOINPUTSERVICE'].methods_by_name['Properties']._loaded_options = None
21
+ _globals['_AUDIOINPUTSERVICE'].methods_by_name['Properties']._serialized_options = b'\x82\xd3\xe4\x93\x025\x123/viam/api/v1/component/audioinput/{name}/properties'
22
+ _globals['_AUDIOINPUTSERVICE'].methods_by_name['Record']._loaded_options = None
23
+ _globals['_AUDIOINPUTSERVICE'].methods_by_name['Record']._serialized_options = b'\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/audioinput/{name}/record'
24
+ _globals['_AUDIOINPUTSERVICE'].methods_by_name['DoCommand']._loaded_options = None
25
+ _globals['_AUDIOINPUTSERVICE'].methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x025"3/viam/api/v1/component/audioinput/{name}/do_command'
26
+ _globals['_AUDIOINPUTSERVICE'].methods_by_name['GetGeometries']._loaded_options = None
27
+ _globals['_AUDIOINPUTSERVICE'].methods_by_name['GetGeometries']._serialized_options = b'\x82\xd3\xe4\x93\x025\x123/viam/api/v1/component/audioinput/{name}/geometries'
28
+ _globals['_SAMPLEFORMAT']._serialized_start = 1103
29
+ _globals['_SAMPLEFORMAT']._serialized_end = 1224
30
+ _globals['_RECORDREQUEST']._serialized_start = 187
31
+ _globals['_RECORDREQUEST']._serialized_end = 277
32
+ _globals['_AUDIOCHUNKINFO']._serialized_start = 280
33
+ _globals['_AUDIOCHUNKINFO']._serialized_end = 442
34
+ _globals['_AUDIOCHUNK']._serialized_start = 444
35
+ _globals['_AUDIOCHUNK']._serialized_end = 500
36
+ _globals['_CHUNKSREQUEST']._serialized_start = 502
37
+ _globals['_CHUNKSREQUEST']._serialized_end = 618
38
+ _globals['_CHUNKSRESPONSE']._serialized_start = 621
39
+ _globals['_CHUNKSRESPONSE']._serialized_end = 779
40
+ _globals['_PROPERTIESREQUEST']._serialized_start = 781
41
+ _globals['_PROPERTIESREQUEST']._serialized_end = 820
42
+ _globals['_PROPERTIESRESPONSE']._serialized_start = 823
43
+ _globals['_PROPERTIESRESPONSE']._serialized_end = 1101
44
+ _globals['_AUDIOINPUTSERVICE']._serialized_start = 1227
45
+ _globals['_AUDIOINPUTSERVICE']._serialized_end = 1959
@@ -32,7 +32,7 @@ SAMPLE_FORMAT_INT16_INTERLEAVED: SampleFormat.ValueType
32
32
  SAMPLE_FORMAT_FLOAT32_INTERLEAVED: SampleFormat.ValueType
33
33
  global___SampleFormat = SampleFormat
34
34
 
35
- @typing_extensions.final
35
+ @typing.final
36
36
  class RecordRequest(google.protobuf.message.Message):
37
37
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
38
38
  NAME_FIELD_NUMBER: builtins.int
@@ -47,14 +47,14 @@ class RecordRequest(google.protobuf.message.Message):
47
47
  def __init__(self, *, name: builtins.str=..., duration: google.protobuf.duration_pb2.Duration | None=...) -> None:
48
48
  ...
49
49
 
50
- def HasField(self, field_name: typing_extensions.Literal['duration', b'duration']) -> builtins.bool:
50
+ def HasField(self, field_name: typing.Literal['duration', b'duration']) -> builtins.bool:
51
51
  ...
52
52
 
53
- def ClearField(self, field_name: typing_extensions.Literal['duration', b'duration', 'name', b'name']) -> None:
53
+ def ClearField(self, field_name: typing.Literal['duration', b'duration', 'name', b'name']) -> None:
54
54
  ...
55
55
  global___RecordRequest = RecordRequest
56
56
 
57
- @typing_extensions.final
57
+ @typing.final
58
58
  class AudioChunkInfo(google.protobuf.message.Message):
59
59
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
60
60
  SAMPLE_FORMAT_FIELD_NUMBER: builtins.int
@@ -68,11 +68,11 @@ class AudioChunkInfo(google.protobuf.message.Message):
68
68
  def __init__(self, *, sample_format: global___SampleFormat.ValueType=..., channels: builtins.int=..., sampling_rate: builtins.int=...) -> None:
69
69
  ...
70
70
 
71
- def ClearField(self, field_name: typing_extensions.Literal['channels', b'channels', 'sample_format', b'sample_format', 'sampling_rate', b'sampling_rate']) -> None:
71
+ def ClearField(self, field_name: typing.Literal['channels', b'channels', 'sample_format', b'sample_format', 'sampling_rate', b'sampling_rate']) -> None:
72
72
  ...
73
73
  global___AudioChunkInfo = AudioChunkInfo
74
74
 
75
- @typing_extensions.final
75
+ @typing.final
76
76
  class AudioChunk(google.protobuf.message.Message):
77
77
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
78
78
  DATA_FIELD_NUMBER: builtins.int
@@ -85,11 +85,11 @@ class AudioChunk(google.protobuf.message.Message):
85
85
  def __init__(self, *, data: builtins.bytes=..., length: builtins.int=...) -> None:
86
86
  ...
87
87
 
88
- def ClearField(self, field_name: typing_extensions.Literal['data', b'data', 'length', b'length']) -> None:
88
+ def ClearField(self, field_name: typing.Literal['data', b'data', 'length', b'length']) -> None:
89
89
  ...
90
90
  global___AudioChunk = AudioChunk
91
91
 
92
- @typing_extensions.final
92
+ @typing.final
93
93
  class ChunksRequest(google.protobuf.message.Message):
94
94
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
95
95
  NAME_FIELD_NUMBER: builtins.int
@@ -102,11 +102,11 @@ class ChunksRequest(google.protobuf.message.Message):
102
102
  def __init__(self, *, name: builtins.str=..., sample_format: global___SampleFormat.ValueType=...) -> None:
103
103
  ...
104
104
 
105
- def ClearField(self, field_name: typing_extensions.Literal['name', b'name', 'sample_format', b'sample_format']) -> None:
105
+ def ClearField(self, field_name: typing.Literal['name', b'name', 'sample_format', b'sample_format']) -> None:
106
106
  ...
107
107
  global___ChunksRequest = ChunksRequest
108
108
 
109
- @typing_extensions.final
109
+ @typing.final
110
110
  class ChunksResponse(google.protobuf.message.Message):
111
111
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
112
112
  INFO_FIELD_NUMBER: builtins.int
@@ -123,17 +123,17 @@ class ChunksResponse(google.protobuf.message.Message):
123
123
  def __init__(self, *, info: global___AudioChunkInfo | None=..., chunk: global___AudioChunk | None=...) -> None:
124
124
  ...
125
125
 
126
- def HasField(self, field_name: typing_extensions.Literal['chunk', b'chunk', 'info', b'info', 'type', b'type']) -> builtins.bool:
126
+ def HasField(self, field_name: typing.Literal['chunk', b'chunk', 'info', b'info', 'type', b'type']) -> builtins.bool:
127
127
  ...
128
128
 
129
- def ClearField(self, field_name: typing_extensions.Literal['chunk', b'chunk', 'info', b'info', 'type', b'type']) -> None:
129
+ def ClearField(self, field_name: typing.Literal['chunk', b'chunk', 'info', b'info', 'type', b'type']) -> None:
130
130
  ...
131
131
 
132
- def WhichOneof(self, oneof_group: typing_extensions.Literal['type', b'type']) -> typing_extensions.Literal['info', 'chunk'] | None:
132
+ def WhichOneof(self, oneof_group: typing.Literal['type', b'type']) -> typing.Literal['info', 'chunk'] | None:
133
133
  ...
134
134
  global___ChunksResponse = ChunksResponse
135
135
 
136
- @typing_extensions.final
136
+ @typing.final
137
137
  class PropertiesRequest(google.protobuf.message.Message):
138
138
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
139
139
  NAME_FIELD_NUMBER: builtins.int
@@ -143,11 +143,11 @@ class PropertiesRequest(google.protobuf.message.Message):
143
143
  def __init__(self, *, name: builtins.str=...) -> None:
144
144
  ...
145
145
 
146
- def ClearField(self, field_name: typing_extensions.Literal['name', b'name']) -> None:
146
+ def ClearField(self, field_name: typing.Literal['name', b'name']) -> None:
147
147
  ...
148
148
  global___PropertiesRequest = PropertiesRequest
149
149
 
150
- @typing_extensions.final
150
+ @typing.final
151
151
  class PropertiesResponse(google.protobuf.message.Message):
152
152
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
153
153
  CHANNEL_COUNT_FIELD_NUMBER: builtins.int
@@ -158,22 +158,22 @@ class PropertiesResponse(google.protobuf.message.Message):
158
158
  IS_FLOAT_FIELD_NUMBER: builtins.int
159
159
  IS_INTERLEAVED_FIELD_NUMBER: builtins.int
160
160
  channel_count: builtins.int
161
-
162
- @property
163
- def latency(self) -> google.protobuf.duration_pb2.Duration:
164
- ...
165
161
  sample_rate: builtins.int
166
162
  sample_size: builtins.int
167
163
  is_big_endian: builtins.bool
168
164
  is_float: builtins.bool
169
165
  is_interleaved: builtins.bool
170
166
 
167
+ @property
168
+ def latency(self) -> google.protobuf.duration_pb2.Duration:
169
+ ...
170
+
171
171
  def __init__(self, *, channel_count: builtins.int=..., latency: google.protobuf.duration_pb2.Duration | None=..., sample_rate: builtins.int=..., sample_size: builtins.int=..., is_big_endian: builtins.bool=..., is_float: builtins.bool=..., is_interleaved: builtins.bool=...) -> None:
172
172
  ...
173
173
 
174
- def HasField(self, field_name: typing_extensions.Literal['latency', b'latency']) -> builtins.bool:
174
+ def HasField(self, field_name: typing.Literal['latency', b'latency']) -> builtins.bool:
175
175
  ...
176
176
 
177
- def ClearField(self, field_name: typing_extensions.Literal['channel_count', b'channel_count', 'is_big_endian', b'is_big_endian', 'is_float', b'is_float', 'is_interleaved', b'is_interleaved', 'latency', b'latency', 'sample_rate', b'sample_rate', 'sample_size', b'sample_size']) -> None:
177
+ def ClearField(self, field_name: typing.Literal['channel_count', b'channel_count', 'is_big_endian', b'is_big_endian', 'is_float', b'is_float', 'is_interleaved', b'is_interleaved', 'latency', b'latency', 'sample_rate', b'sample_rate', 'sample_size', b'sample_size']) -> None:
178
178
  ...
179
179
  global___PropertiesResponse = PropertiesResponse
File without changes
File without changes
@@ -0,0 +1,54 @@
1
+ import abc
2
+ import typing
3
+ import grpclib.const
4
+ import grpclib.client
5
+ import grpclib.exceptions
6
+ if typing.TYPE_CHECKING:
7
+ import grpclib.server
8
+ from .... import common
9
+ import google.api.annotations_pb2
10
+ import google.protobuf.struct_pb2
11
+ from .... import component
12
+
13
+ class AudioOutServiceBase(abc.ABC):
14
+
15
+ @abc.abstractmethod
16
+ async def Play(self, stream: 'grpclib.server.Stream[component.audioout.v1.audioout_pb2.PlayRequest, component.audioout.v1.audioout_pb2.PlayResponse]') -> None:
17
+ pass
18
+
19
+ @abc.abstractmethod
20
+ async def GetProperties(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetPropertiesRequest, common.v1.common_pb2.GetPropertiesResponse]') -> None:
21
+ pass
22
+
23
+ @abc.abstractmethod
24
+ async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None:
25
+ pass
26
+
27
+ @abc.abstractmethod
28
+ async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None:
29
+ pass
30
+
31
+ def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]:
32
+ return {'/viam.component.audioout.v1.AudioOutService/Play': grpclib.const.Handler(self.Play, grpclib.const.Cardinality.UNARY_UNARY, component.audioout.v1.audioout_pb2.PlayRequest, component.audioout.v1.audioout_pb2.PlayResponse), '/viam.component.audioout.v1.AudioOutService/GetProperties': grpclib.const.Handler(self.GetProperties, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetPropertiesRequest, common.v1.common_pb2.GetPropertiesResponse), '/viam.component.audioout.v1.AudioOutService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.component.audioout.v1.AudioOutService/GetGeometries': grpclib.const.Handler(self.GetGeometries, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)}
33
+
34
+ class UnimplementedAudioOutServiceBase(AudioOutServiceBase):
35
+
36
+ async def Play(self, stream: 'grpclib.server.Stream[component.audioout.v1.audioout_pb2.PlayRequest, component.audioout.v1.audioout_pb2.PlayResponse]') -> None:
37
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
38
+
39
+ async def GetProperties(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetPropertiesRequest, common.v1.common_pb2.GetPropertiesResponse]') -> None:
40
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
41
+
42
+ async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None:
43
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
44
+
45
+ async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None:
46
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
47
+
48
+ class AudioOutServiceStub:
49
+
50
+ def __init__(self, channel: grpclib.client.Channel) -> None:
51
+ self.Play = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.audioout.v1.AudioOutService/Play', component.audioout.v1.audioout_pb2.PlayRequest, component.audioout.v1.audioout_pb2.PlayResponse)
52
+ self.GetProperties = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.audioout.v1.AudioOutService/GetProperties', common.v1.common_pb2.GetPropertiesRequest, common.v1.common_pb2.GetPropertiesResponse)
53
+ self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.audioout.v1.AudioOutService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)
54
+ self.GetGeometries = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.audioout.v1.AudioOutService/GetGeometries', common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)
@@ -0,0 +1,32 @@
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, '', 'component/audioout/v1/audioout.proto')
8
+ _sym_db = _symbol_database.Default()
9
+ from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2
10
+ from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
11
+ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
12
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$component/audioout/v1/audioout.proto\x12\x1aviam.component.audioout.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"\xa9\x01\n\x0bPlayRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1d\n\naudio_data\x18\x02 \x01(\x0cR\taudioData\x128\n\naudio_info\x18\x03 \x01(\x0b2\x19.viam.common.v1.AudioInfoR\taudioInfo\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cPlayResponse2\xe2\x04\n\x0fAudioOutService\x12\x8e\x01\n\x04Play\x12\'.viam.component.audioout.v1.PlayRequest\x1a(.viam.component.audioout.v1.PlayResponse"3\x82\xd3\xe4\x93\x02-"+/viam/api/v1/component/audioout/{name}/play\x12\x97\x01\n\rGetProperties\x12$.viam.common.v1.GetPropertiesRequest\x1a%.viam.common.v1.GetPropertiesResponse"9\x82\xd3\xe4\x93\x023\x121/viam/api/v1/component/audioout/{name}/properties\x12\x89\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"7\x82\xd3\xe4\x93\x021"//viam/api/v1/service/audioout/{name}/do_command\x12\x97\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"9\x82\xd3\xe4\x93\x023\x121/viam/api/v1/component/audioout/{name}/geometriesBG\n\x1ecom.viam.component.audioout.v1Z%go.viam.com/api/component/audioout/v1b\x06proto3')
13
+ _globals = globals()
14
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
15
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.audioout.v1.audioout_pb2', _globals)
16
+ if not _descriptor._USE_C_DESCRIPTORS:
17
+ _globals['DESCRIPTOR']._loaded_options = None
18
+ _globals['DESCRIPTOR']._serialized_options = b'\n\x1ecom.viam.component.audioout.v1Z%go.viam.com/api/component/audioout/v1'
19
+ _globals['_AUDIOOUTSERVICE'].methods_by_name['Play']._loaded_options = None
20
+ _globals['_AUDIOOUTSERVICE'].methods_by_name['Play']._serialized_options = b'\x82\xd3\xe4\x93\x02-"+/viam/api/v1/component/audioout/{name}/play'
21
+ _globals['_AUDIOOUTSERVICE'].methods_by_name['GetProperties']._loaded_options = None
22
+ _globals['_AUDIOOUTSERVICE'].methods_by_name['GetProperties']._serialized_options = b'\x82\xd3\xe4\x93\x023\x121/viam/api/v1/component/audioout/{name}/properties'
23
+ _globals['_AUDIOOUTSERVICE'].methods_by_name['DoCommand']._loaded_options = None
24
+ _globals['_AUDIOOUTSERVICE'].methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x021"//viam/api/v1/service/audioout/{name}/do_command'
25
+ _globals['_AUDIOOUTSERVICE'].methods_by_name['GetGeometries']._loaded_options = None
26
+ _globals['_AUDIOOUTSERVICE'].methods_by_name['GetGeometries']._serialized_options = b'\x82\xd3\xe4\x93\x023\x121/viam/api/v1/component/audioout/{name}/geometries'
27
+ _globals['_PLAYREQUEST']._serialized_start = 153
28
+ _globals['_PLAYREQUEST']._serialized_end = 322
29
+ _globals['_PLAYRESPONSE']._serialized_start = 324
30
+ _globals['_PLAYRESPONSE']._serialized_end = 338
31
+ _globals['_AUDIOOUTSERVICE']._serialized_start = 341
32
+ _globals['_AUDIOOUTSERVICE']._serialized_end = 951
@@ -0,0 +1,47 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+ import builtins
6
+ from .... import common
7
+ import google.protobuf.descriptor
8
+ import google.protobuf.message
9
+ import google.protobuf.struct_pb2
10
+ import typing
11
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
12
+
13
+ @typing.final
14
+ class PlayRequest(google.protobuf.message.Message):
15
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
16
+ NAME_FIELD_NUMBER: builtins.int
17
+ AUDIO_DATA_FIELD_NUMBER: builtins.int
18
+ AUDIO_INFO_FIELD_NUMBER: builtins.int
19
+ EXTRA_FIELD_NUMBER: builtins.int
20
+ name: builtins.str
21
+ audio_data: builtins.bytes
22
+
23
+ @property
24
+ def audio_info(self) -> common.v1.common_pb2.AudioInfo:
25
+ """Info describing the audio_data"""
26
+
27
+ @property
28
+ def extra(self) -> google.protobuf.struct_pb2.Struct:
29
+ ...
30
+
31
+ def __init__(self, *, name: builtins.str=..., audio_data: builtins.bytes=..., audio_info: common.v1.common_pb2.AudioInfo | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
32
+ ...
33
+
34
+ def HasField(self, field_name: typing.Literal['audio_info', b'audio_info', 'extra', b'extra']) -> builtins.bool:
35
+ ...
36
+
37
+ def ClearField(self, field_name: typing.Literal['audio_data', b'audio_data', 'audio_info', b'audio_info', 'extra', b'extra', 'name', b'name']) -> None:
38
+ ...
39
+ global___PlayRequest = PlayRequest
40
+
41
+ @typing.final
42
+ class PlayResponse(google.protobuf.message.Message):
43
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
44
+
45
+ def __init__(self) -> None:
46
+ ...
47
+ global___PlayResponse = PlayResponse
@@ -2,6 +2,7 @@ import abc
2
2
  import typing
3
3
  import grpclib.const
4
4
  import grpclib.client
5
+ import grpclib.exceptions
5
6
  if typing.TYPE_CHECKING:
6
7
  import grpclib.server
7
8
  from .... import common
@@ -39,8 +40,45 @@ class BaseServiceBase(abc.ABC):
39
40
  async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None:
40
41
  pass
41
42
 
43
+ @abc.abstractmethod
44
+ async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None:
45
+ pass
46
+
47
+ @abc.abstractmethod
48
+ async def GetProperties(self, stream: 'grpclib.server.Stream[component.base.v1.base_pb2.GetPropertiesRequest, component.base.v1.base_pb2.GetPropertiesResponse]') -> None:
49
+ pass
50
+
42
51
  def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]:
43
- return {'/viam.component.base.v1.BaseService/MoveStraight': grpclib.const.Handler(self.MoveStraight, grpclib.const.Cardinality.UNARY_UNARY, component.base.v1.base_pb2.MoveStraightRequest, component.base.v1.base_pb2.MoveStraightResponse), '/viam.component.base.v1.BaseService/Spin': grpclib.const.Handler(self.Spin, grpclib.const.Cardinality.UNARY_UNARY, component.base.v1.base_pb2.SpinRequest, component.base.v1.base_pb2.SpinResponse), '/viam.component.base.v1.BaseService/SetPower': grpclib.const.Handler(self.SetPower, grpclib.const.Cardinality.UNARY_UNARY, component.base.v1.base_pb2.SetPowerRequest, component.base.v1.base_pb2.SetPowerResponse), '/viam.component.base.v1.BaseService/SetVelocity': grpclib.const.Handler(self.SetVelocity, grpclib.const.Cardinality.UNARY_UNARY, component.base.v1.base_pb2.SetVelocityRequest, component.base.v1.base_pb2.SetVelocityResponse), '/viam.component.base.v1.BaseService/Stop': grpclib.const.Handler(self.Stop, grpclib.const.Cardinality.UNARY_UNARY, component.base.v1.base_pb2.StopRequest, component.base.v1.base_pb2.StopResponse), '/viam.component.base.v1.BaseService/IsMoving': grpclib.const.Handler(self.IsMoving, grpclib.const.Cardinality.UNARY_UNARY, component.base.v1.base_pb2.IsMovingRequest, component.base.v1.base_pb2.IsMovingResponse), '/viam.component.base.v1.BaseService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)}
52
+ return {'/viam.component.base.v1.BaseService/MoveStraight': grpclib.const.Handler(self.MoveStraight, grpclib.const.Cardinality.UNARY_UNARY, component.base.v1.base_pb2.MoveStraightRequest, component.base.v1.base_pb2.MoveStraightResponse), '/viam.component.base.v1.BaseService/Spin': grpclib.const.Handler(self.Spin, grpclib.const.Cardinality.UNARY_UNARY, component.base.v1.base_pb2.SpinRequest, component.base.v1.base_pb2.SpinResponse), '/viam.component.base.v1.BaseService/SetPower': grpclib.const.Handler(self.SetPower, grpclib.const.Cardinality.UNARY_UNARY, component.base.v1.base_pb2.SetPowerRequest, component.base.v1.base_pb2.SetPowerResponse), '/viam.component.base.v1.BaseService/SetVelocity': grpclib.const.Handler(self.SetVelocity, grpclib.const.Cardinality.UNARY_UNARY, component.base.v1.base_pb2.SetVelocityRequest, component.base.v1.base_pb2.SetVelocityResponse), '/viam.component.base.v1.BaseService/Stop': grpclib.const.Handler(self.Stop, grpclib.const.Cardinality.UNARY_UNARY, component.base.v1.base_pb2.StopRequest, component.base.v1.base_pb2.StopResponse), '/viam.component.base.v1.BaseService/IsMoving': grpclib.const.Handler(self.IsMoving, grpclib.const.Cardinality.UNARY_UNARY, component.base.v1.base_pb2.IsMovingRequest, component.base.v1.base_pb2.IsMovingResponse), '/viam.component.base.v1.BaseService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.component.base.v1.BaseService/GetGeometries': grpclib.const.Handler(self.GetGeometries, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse), '/viam.component.base.v1.BaseService/GetProperties': grpclib.const.Handler(self.GetProperties, grpclib.const.Cardinality.UNARY_UNARY, component.base.v1.base_pb2.GetPropertiesRequest, component.base.v1.base_pb2.GetPropertiesResponse)}
53
+
54
+ class UnimplementedBaseServiceBase(BaseServiceBase):
55
+
56
+ async def MoveStraight(self, stream: 'grpclib.server.Stream[component.base.v1.base_pb2.MoveStraightRequest, component.base.v1.base_pb2.MoveStraightResponse]') -> None:
57
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
58
+
59
+ async def Spin(self, stream: 'grpclib.server.Stream[component.base.v1.base_pb2.SpinRequest, component.base.v1.base_pb2.SpinResponse]') -> None:
60
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
61
+
62
+ async def SetPower(self, stream: 'grpclib.server.Stream[component.base.v1.base_pb2.SetPowerRequest, component.base.v1.base_pb2.SetPowerResponse]') -> None:
63
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
64
+
65
+ async def SetVelocity(self, stream: 'grpclib.server.Stream[component.base.v1.base_pb2.SetVelocityRequest, component.base.v1.base_pb2.SetVelocityResponse]') -> None:
66
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
67
+
68
+ async def Stop(self, stream: 'grpclib.server.Stream[component.base.v1.base_pb2.StopRequest, component.base.v1.base_pb2.StopResponse]') -> None:
69
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
70
+
71
+ async def IsMoving(self, stream: 'grpclib.server.Stream[component.base.v1.base_pb2.IsMovingRequest, component.base.v1.base_pb2.IsMovingResponse]') -> None:
72
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
73
+
74
+ async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None:
75
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
76
+
77
+ async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None:
78
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
79
+
80
+ async def GetProperties(self, stream: 'grpclib.server.Stream[component.base.v1.base_pb2.GetPropertiesRequest, component.base.v1.base_pb2.GetPropertiesResponse]') -> None:
81
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
44
82
 
45
83
  class BaseServiceStub:
46
84
 
@@ -51,4 +89,6 @@ class BaseServiceStub:
51
89
  self.SetVelocity = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.base.v1.BaseService/SetVelocity', component.base.v1.base_pb2.SetVelocityRequest, component.base.v1.base_pb2.SetVelocityResponse)
52
90
  self.Stop = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.base.v1.BaseService/Stop', component.base.v1.base_pb2.StopRequest, component.base.v1.base_pb2.StopResponse)
53
91
  self.IsMoving = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.base.v1.BaseService/IsMoving', component.base.v1.base_pb2.IsMovingRequest, component.base.v1.base_pb2.IsMovingResponse)
54
- self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.base.v1.BaseService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)
92
+ self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.base.v1.BaseService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)
93
+ self.GetGeometries = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.base.v1.BaseService/GetGeometries', common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)
94
+ self.GetProperties = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.base.v1.BaseService/GetProperties', component.base.v1.base_pb2.GetPropertiesRequest, component.base.v1.base_pb2.GetPropertiesResponse)