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,83 @@
1
+ from typing import Any, Mapping, Optional, Sequence, Tuple
2
+
3
+ from grpclib.client import Channel
4
+
5
+ from viam.gen.component.switch.v1.switch_pb2 import (
6
+ GetNumberOfPositionsRequest,
7
+ GetNumberOfPositionsResponse,
8
+ GetPositionRequest,
9
+ GetPositionResponse,
10
+ SetPositionRequest,
11
+ )
12
+ from viam.proto.common import (
13
+ DoCommandRequest,
14
+ DoCommandResponse,
15
+ )
16
+ from viam.proto.component.switch import SwitchServiceStub
17
+ from viam.resource.rpc_client_base import ReconfigurableResourceRPCClientBase
18
+ from viam.utils import (
19
+ ValueTypes,
20
+ dict_to_struct,
21
+ struct_to_dict,
22
+ )
23
+
24
+ from .switch import Switch
25
+
26
+
27
+ class SwitchClient(Switch, ReconfigurableResourceRPCClientBase):
28
+ """
29
+ gRPC client for Switch component
30
+ """
31
+
32
+ def __init__(self, name: str, channel: Channel):
33
+ self.channel = channel
34
+ self.client = SwitchServiceStub(channel)
35
+ super().__init__(name)
36
+
37
+ async def get_position(
38
+ self,
39
+ *,
40
+ extra: Optional[Mapping[str, Any]] = None,
41
+ timeout: Optional[float] = None,
42
+ **kwargs,
43
+ ) -> int:
44
+ md = kwargs.get("metadata", self.Metadata()).proto
45
+ request = GetPositionRequest(name=self.name, extra=dict_to_struct(extra))
46
+ response: GetPositionResponse = await self.client.GetPosition(request, timeout=timeout, metadata=md)
47
+ return response.position
48
+
49
+ async def set_position(
50
+ self,
51
+ position: int,
52
+ *,
53
+ extra: Optional[Mapping[str, Any]] = None,
54
+ timeout: Optional[float] = None,
55
+ **kwargs,
56
+ ) -> None:
57
+ md = kwargs.get("metadata", self.Metadata()).proto
58
+ request = SetPositionRequest(name=self.name, position=position, extra=dict_to_struct(extra))
59
+ await self.client.SetPosition(request, timeout=timeout, metadata=md)
60
+
61
+ async def get_number_of_positions(
62
+ self,
63
+ *,
64
+ extra: Optional[Mapping[str, Any]] = None,
65
+ timeout: Optional[float] = None,
66
+ **kwargs,
67
+ ) -> Tuple[int, Sequence[str]]:
68
+ md = kwargs.get("metadata", self.Metadata()).proto
69
+ request = GetNumberOfPositionsRequest(name=self.name, extra=dict_to_struct(extra))
70
+ response: GetNumberOfPositionsResponse = await self.client.GetNumberOfPositions(request, timeout=timeout, metadata=md)
71
+ return response.number_of_positions, response.labels
72
+
73
+ async def do_command(
74
+ self,
75
+ command: Mapping[str, ValueTypes],
76
+ *,
77
+ timeout: Optional[float] = None,
78
+ **kwargs,
79
+ ) -> Mapping[str, ValueTypes]:
80
+ md = kwargs.get("metadata", self.Metadata()).proto
81
+ request = DoCommandRequest(name=self.name, command=dict_to_struct(command))
82
+ response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout, metadata=md)
83
+ return struct_to_dict(response.result)
@@ -0,0 +1,72 @@
1
+ from grpclib.server import Stream
2
+
3
+ from viam.gen.component.switch.v1.switch_pb2 import (
4
+ GetNumberOfPositionsRequest,
5
+ GetNumberOfPositionsResponse,
6
+ GetPositionRequest,
7
+ GetPositionResponse,
8
+ SetPositionRequest,
9
+ SetPositionResponse,
10
+ )
11
+ from viam.proto.common import (
12
+ DoCommandRequest,
13
+ DoCommandResponse,
14
+ )
15
+ from viam.proto.component.switch import SwitchServiceBase
16
+ from viam.resource.rpc_service_base import ResourceRPCServiceBase
17
+ from viam.utils import dict_to_struct, struct_to_dict
18
+
19
+ from .switch import Switch
20
+
21
+
22
+ class SwitchRPCService(SwitchServiceBase, ResourceRPCServiceBase[Switch]):
23
+ """
24
+ gRPC Service for a generic Switch
25
+ """
26
+
27
+ RESOURCE_TYPE = Switch
28
+
29
+ async def GetPosition(self, stream: Stream[GetPositionRequest, GetPositionResponse]) -> None:
30
+ request = await stream.recv_message()
31
+ assert request is not None
32
+ name = request.name
33
+ switch = self.get_resource(name)
34
+ timeout = stream.deadline.time_remaining() if stream.deadline else None
35
+ position = await switch.get_position(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata)
36
+ response = GetPositionResponse(position=position)
37
+ await stream.send_message(response)
38
+
39
+ async def SetPosition(self, stream: Stream[SetPositionRequest, SetPositionResponse]) -> None:
40
+ request = await stream.recv_message()
41
+ assert request is not None
42
+ name = request.name
43
+ switch = self.get_resource(name)
44
+ timeout = stream.deadline.time_remaining() if stream.deadline else None
45
+ await switch.set_position(position=request.position, extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata)
46
+ await stream.send_message(SetPositionResponse())
47
+
48
+ async def GetNumberOfPositions(self, stream: Stream[GetNumberOfPositionsRequest, GetNumberOfPositionsResponse]) -> None:
49
+ request = await stream.recv_message()
50
+ assert request is not None
51
+ name = request.name
52
+ switch = self.get_resource(name)
53
+ timeout = stream.deadline.time_remaining() if stream.deadline else None
54
+ number_of_positions, labels = await switch.get_number_of_positions(
55
+ extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata
56
+ )
57
+ response = GetNumberOfPositionsResponse(number_of_positions=number_of_positions, labels=labels)
58
+ await stream.send_message(response)
59
+
60
+ async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None:
61
+ request = await stream.recv_message()
62
+ assert request is not None
63
+ name = request.name
64
+ switch = self.get_resource(name)
65
+ timeout = stream.deadline.time_remaining() if stream.deadline else None
66
+ result = await switch.do_command(
67
+ command=struct_to_dict(request.command),
68
+ timeout=timeout,
69
+ metadata=stream.metadata,
70
+ )
71
+ response = DoCommandResponse(result=dict_to_struct(result))
72
+ await stream.send_message(response)
@@ -0,0 +1,98 @@
1
+ import abc
2
+ from typing import Any, Final, Mapping, Optional, Sequence, Tuple
3
+
4
+ from viam.components.component_base import ComponentBase
5
+ from viam.resource.types import API, RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT
6
+
7
+
8
+ class Switch(ComponentBase):
9
+ """
10
+ Switch represents a device with two or more finite states (or positions) than can be set and retrieved.
11
+
12
+ This acts as an abstract base class for any drivers representing specific
13
+ switch implementations. This cannot be used on its own. If the ``__init__()`` function is
14
+ overridden, it must call the ``super().__init__()`` function.
15
+
16
+ ::
17
+
18
+ from viam.components.switch import Switch
19
+
20
+ For more information, see `Switch component <https://docs.viam.com/dev/reference/apis/components/switch/>`_.
21
+ """
22
+
23
+ API: Final = API( # pyright: ignore [reportIncompatibleVariableOverride]
24
+ RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "switch"
25
+ )
26
+
27
+ @abc.abstractmethod
28
+ async def get_position(self, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> int:
29
+ """
30
+ Get the current position of the switch
31
+
32
+ ::
33
+
34
+ my_switch = Switch.from_robot(robot=machine, name="my_switch")
35
+
36
+ # Update the switch from its current position to the desired position of 1.
37
+ await my_switch.set_position(1)
38
+
39
+ # Get the current set position of the switch.
40
+ pos1 = await my_switch.get_position()
41
+
42
+ # Update the switch from its current position to the desired position.
43
+ await my_switch.set_position(0)
44
+
45
+ # Get the current set position of the switch.
46
+ pos2 = await my_switch.get_position()
47
+
48
+ Returns:
49
+ int: The current position of the switch within the range of available positions.
50
+
51
+ For more information, see `Switch component <https://docs.viam.com/dev/reference/apis/components/Switch/#getposition>`_.
52
+ """
53
+ ...
54
+
55
+ @abc.abstractmethod
56
+ async def set_position(
57
+ self, position: int, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None, **kwargs
58
+ ) -> None:
59
+ """
60
+ Sets the current position of the switch.
61
+
62
+ ::
63
+
64
+ my_switch = Switch.from_robot(robot=machine, name="my_switch")
65
+
66
+ # Update the switch from its current position to the desired position of 1.
67
+ await my_switch.set_position(1)
68
+
69
+ # Update the switch from its current position to the desired position of 0.
70
+ await my_switch.set_position(0)
71
+
72
+ Args:
73
+ position (int): The position of the switch within the range of available positions.
74
+
75
+ For more information, see `Switch component <https://docs.viam.com/dev/reference/apis/components/switch/#setposition>`_.
76
+ """
77
+ ...
78
+
79
+ @abc.abstractmethod
80
+ async def get_number_of_positions(
81
+ self, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None, **kwargs
82
+ ) -> Tuple[int, Sequence[str]]:
83
+ """
84
+ Get the number of available positions on the switch.
85
+
86
+ ::
87
+
88
+ my_switch = Switch.from_robot(robot=machine, name="my_switch")
89
+
90
+ print(await my_switch.get_number_of_positions())
91
+
92
+ Returns:
93
+ Tuple[int, Sequence[str]]: The number of available positions and their labels
94
+
95
+
96
+ For more information, see `Switch component <https://docs.viam.com/dev/reference/apis/components/switch/#getnumberofpositions>`_.
97
+ """
98
+ ...
viam/errors.py CHANGED
@@ -93,3 +93,13 @@ class ValidationError(ViamGRPCError):
93
93
  def __init__(self, message: str):
94
94
  self.message = message
95
95
  self.grpc_code = Status.INVALID_ARGUMENT
96
+
97
+
98
+ class NoCaptureToStoreError(ViamGRPCError):
99
+ """
100
+ Exception raised in filter module to signal that data capture should not be stored
101
+ """
102
+
103
+ def __init__(self):
104
+ self.message = "no capture from filter module" # Do not change the contents of this string
105
+ self.grpc_code = Status.FAILED_PRECONDITION
@@ -0,0 +1,29 @@
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
+ import google.protobuf.duration_pb2
9
+ import google.protobuf.struct_pb2
10
+ from .... import app
11
+
12
+ class AgentDeviceServiceBase(abc.ABC):
13
+
14
+ @abc.abstractmethod
15
+ async def DeviceAgentConfig(self, stream: 'grpclib.server.Stream[app.agent.v1.agent_pb2.DeviceAgentConfigRequest, app.agent.v1.agent_pb2.DeviceAgentConfigResponse]') -> None:
16
+ pass
17
+
18
+ def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]:
19
+ return {'/viam.app.agent.v1.AgentDeviceService/DeviceAgentConfig': grpclib.const.Handler(self.DeviceAgentConfig, grpclib.const.Cardinality.UNARY_UNARY, app.agent.v1.agent_pb2.DeviceAgentConfigRequest, app.agent.v1.agent_pb2.DeviceAgentConfigResponse)}
20
+
21
+ class UnimplementedAgentDeviceServiceBase(AgentDeviceServiceBase):
22
+
23
+ async def DeviceAgentConfig(self, stream: 'grpclib.server.Stream[app.agent.v1.agent_pb2.DeviceAgentConfigRequest, app.agent.v1.agent_pb2.DeviceAgentConfigResponse]') -> None:
24
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
25
+
26
+ class AgentDeviceServiceStub:
27
+
28
+ def __init__(self, channel: grpclib.client.Channel) -> None:
29
+ self.DeviceAgentConfig = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.agent.v1.AgentDeviceService/DeviceAgentConfig', app.agent.v1.agent_pb2.DeviceAgentConfigRequest, app.agent.v1.agent_pb2.DeviceAgentConfigResponse)
@@ -0,0 +1,47 @@
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/agent/v1/agent.proto')
8
+ _sym_db = _symbol_database.Default()
9
+ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
10
+ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
11
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18app/agent/v1/agent.proto\x12\x11viam.app.agent.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto"\xe4\x02\n\x18DeviceAgentConfigRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x128\n\thost_info\x18\x02 \x01(\x0b2\x1b.viam.app.agent.v1.HostInfoR\x08hostInfo\x12u\n\x12subsystem_versions\x18\x03 \x03(\x0b2B.viam.app.agent.v1.DeviceAgentConfigRequest.SubsystemVersionsEntryB\x02\x18\x01R\x11subsystemVersions\x12A\n\x0cversion_info\x18\x04 \x01(\x0b2\x1e.viam.app.agent.v1.VersionInfoR\x0bversionInfo\x1aD\n\x16SubsystemVersionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01"\x8c\x06\n\x19DeviceAgentConfigResponse\x12s\n\x11subsystem_configs\x18\x01 \x03(\x0b2B.viam.app.agent.v1.DeviceAgentConfigResponse.SubsystemConfigsEntryB\x02\x18\x01R\x10subsystemConfigs\x12@\n\x0echeck_interval\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationR\rcheckInterval\x12I\n\x11agent_update_info\x18\x03 \x01(\x0b2\x1d.viam.app.agent.v1.UpdateInfoR\x0fagentUpdateInfo\x12T\n\x17viam_server_update_info\x18\x04 \x01(\x0b2\x1d.viam.app.agent.v1.UpdateInfoR\x14viamServerUpdateInfo\x12D\n\x11advanced_settings\x18\x05 \x01(\x0b2\x17.google.protobuf.StructR\x10advancedSettings\x12L\n\x15network_configuration\x18\x06 \x01(\x0b2\x17.google.protobuf.StructR\x14networkConfiguration\x12H\n\x13additional_networks\x18\x07 \x01(\x0b2\x17.google.protobuf.StructR\x12additionalNetworks\x12J\n\x14system_configuration\x18\x08 \x01(\x0b2\x17.google.protobuf.StructR\x13systemConfiguration\x1am\n\x15SubsystemConfigsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12>\n\x05value\x18\x02 \x01(\x0b2(.viam.app.agent.v1.DeviceSubsystemConfigR\x05value:\x028\x01"\xd3\x01\n\x15DeviceSubsystemConfig\x12>\n\x0bupdate_info\x18\x01 \x01(\x0b2\x1d.viam.app.agent.v1.UpdateInfoR\nupdateInfo\x12\x18\n\x07disable\x18\x02 \x01(\x08R\x07disable\x12#\n\rforce_restart\x18\x03 \x01(\x08R\x0cforceRestart\x127\n\nattributes\x18\x04 \x01(\x0b2\x17.google.protobuf.StructR\nattributes:\x02\x18\x01"\xbf\x01\n\x0bVersionInfo\x12#\n\ragent_running\x18\x01 \x01(\tR\x0cagentRunning\x12\'\n\x0fagent_installed\x18\x02 \x01(\tR\x0eagentInstalled\x12.\n\x13viam_server_running\x18\x03 \x01(\tR\x11viamServerRunning\x122\n\x15viam_server_installed\x18\x04 \x01(\tR\x13viamServerInstalled"R\n\x08HostInfo\x12\x1a\n\x08platform\x18\x01 \x01(\tR\x08platform\x12\x16\n\x06distro\x18\x02 \x01(\tR\x06distro\x12\x12\n\x04tags\x18\x03 \x03(\tR\x04tags"\xa6\x01\n\nUpdateInfo\x12\x1a\n\x08filename\x18\x01 \x01(\tR\x08filename\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version\x12\x16\n\x06sha256\x18\x04 \x01(\x0cR\x06sha256\x128\n\x06format\x18\x05 \x01(\x0e2 .viam.app.agent.v1.PackageFormatR\x06format*\x9f\x01\n\rPackageFormat\x12\x1e\n\x1aPACKAGE_FORMAT_UNSPECIFIED\x10\x00\x12\x16\n\x12PACKAGE_FORMAT_RAW\x10\x01\x12\x15\n\x11PACKAGE_FORMAT_XZ\x10\x02\x12\x1d\n\x19PACKAGE_FORMAT_EXECUTABLE\x10\x03\x12 \n\x1cPACKAGE_FORMAT_XZ_EXECUTABLE\x10\x042\x84\x01\n\x12AgentDeviceService\x12n\n\x11DeviceAgentConfig\x12+.viam.app.agent.v1.DeviceAgentConfigRequest\x1a,.viam.app.agent.v1.DeviceAgentConfigResponseB\x1eZ\x1cgo.viam.com/api/app/agent/v1b\x06proto3')
12
+ _globals = globals()
13
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
14
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.agent.v1.agent_pb2', _globals)
15
+ if not _descriptor._USE_C_DESCRIPTORS:
16
+ _globals['DESCRIPTOR']._loaded_options = None
17
+ _globals['DESCRIPTOR']._serialized_options = b'Z\x1cgo.viam.com/api/app/agent/v1'
18
+ _globals['_DEVICEAGENTCONFIGREQUEST_SUBSYSTEMVERSIONSENTRY']._loaded_options = None
19
+ _globals['_DEVICEAGENTCONFIGREQUEST_SUBSYSTEMVERSIONSENTRY']._serialized_options = b'8\x01'
20
+ _globals['_DEVICEAGENTCONFIGREQUEST'].fields_by_name['subsystem_versions']._loaded_options = None
21
+ _globals['_DEVICEAGENTCONFIGREQUEST'].fields_by_name['subsystem_versions']._serialized_options = b'\x18\x01'
22
+ _globals['_DEVICEAGENTCONFIGRESPONSE_SUBSYSTEMCONFIGSENTRY']._loaded_options = None
23
+ _globals['_DEVICEAGENTCONFIGRESPONSE_SUBSYSTEMCONFIGSENTRY']._serialized_options = b'8\x01'
24
+ _globals['_DEVICEAGENTCONFIGRESPONSE'].fields_by_name['subsystem_configs']._loaded_options = None
25
+ _globals['_DEVICEAGENTCONFIGRESPONSE'].fields_by_name['subsystem_configs']._serialized_options = b'\x18\x01'
26
+ _globals['_DEVICESUBSYSTEMCONFIG']._loaded_options = None
27
+ _globals['_DEVICESUBSYSTEMCONFIG']._serialized_options = b'\x18\x01'
28
+ _globals['_PACKAGEFORMAT']._serialized_start = 1913
29
+ _globals['_PACKAGEFORMAT']._serialized_end = 2072
30
+ _globals['_DEVICEAGENTCONFIGREQUEST']._serialized_start = 110
31
+ _globals['_DEVICEAGENTCONFIGREQUEST']._serialized_end = 466
32
+ _globals['_DEVICEAGENTCONFIGREQUEST_SUBSYSTEMVERSIONSENTRY']._serialized_start = 398
33
+ _globals['_DEVICEAGENTCONFIGREQUEST_SUBSYSTEMVERSIONSENTRY']._serialized_end = 466
34
+ _globals['_DEVICEAGENTCONFIGRESPONSE']._serialized_start = 469
35
+ _globals['_DEVICEAGENTCONFIGRESPONSE']._serialized_end = 1249
36
+ _globals['_DEVICEAGENTCONFIGRESPONSE_SUBSYSTEMCONFIGSENTRY']._serialized_start = 1140
37
+ _globals['_DEVICEAGENTCONFIGRESPONSE_SUBSYSTEMCONFIGSENTRY']._serialized_end = 1249
38
+ _globals['_DEVICESUBSYSTEMCONFIG']._serialized_start = 1252
39
+ _globals['_DEVICESUBSYSTEMCONFIG']._serialized_end = 1463
40
+ _globals['_VERSIONINFO']._serialized_start = 1466
41
+ _globals['_VERSIONINFO']._serialized_end = 1657
42
+ _globals['_HOSTINFO']._serialized_start = 1659
43
+ _globals['_HOSTINFO']._serialized_end = 1741
44
+ _globals['_UPDATEINFO']._serialized_start = 1744
45
+ _globals['_UPDATEINFO']._serialized_end = 1910
46
+ _globals['_AGENTDEVICESERVICE']._serialized_start = 2075
47
+ _globals['_AGENTDEVICESERVICE']._serialized_end = 2207
@@ -0,0 +1,280 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+ import builtins
6
+ import collections.abc
7
+ import google.protobuf.descriptor
8
+ import google.protobuf.duration_pb2
9
+ import google.protobuf.internal.containers
10
+ import google.protobuf.internal.enum_type_wrapper
11
+ import google.protobuf.message
12
+ import google.protobuf.struct_pb2
13
+ import sys
14
+ import typing
15
+ if sys.version_info >= (3, 10):
16
+ import typing as typing_extensions
17
+ else:
18
+ import typing_extensions
19
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
20
+
21
+ class _PackageFormat:
22
+ ValueType = typing.NewType('ValueType', builtins.int)
23
+ V: typing_extensions.TypeAlias = ValueType
24
+
25
+ class _PackageFormatEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PackageFormat.ValueType], builtins.type):
26
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
27
+ PACKAGE_FORMAT_UNSPECIFIED: _PackageFormat.ValueType
28
+ 'unknown/unset (autodetection may be attempted)'
29
+ PACKAGE_FORMAT_RAW: _PackageFormat.ValueType
30
+ 'do nothing'
31
+ PACKAGE_FORMAT_XZ: _PackageFormat.ValueType
32
+ 'decompress .xz file'
33
+ PACKAGE_FORMAT_EXECUTABLE: _PackageFormat.ValueType
34
+ 'set executable permissions'
35
+ PACKAGE_FORMAT_XZ_EXECUTABLE: _PackageFormat.ValueType
36
+ 'decompress and set executable'
37
+
38
+ class PackageFormat(_PackageFormat, metaclass=_PackageFormatEnumTypeWrapper):
39
+ ...
40
+ PACKAGE_FORMAT_UNSPECIFIED: PackageFormat.ValueType
41
+ 'unknown/unset (autodetection may be attempted)'
42
+ PACKAGE_FORMAT_RAW: PackageFormat.ValueType
43
+ 'do nothing'
44
+ PACKAGE_FORMAT_XZ: PackageFormat.ValueType
45
+ 'decompress .xz file'
46
+ PACKAGE_FORMAT_EXECUTABLE: PackageFormat.ValueType
47
+ 'set executable permissions'
48
+ PACKAGE_FORMAT_XZ_EXECUTABLE: PackageFormat.ValueType
49
+ 'decompress and set executable'
50
+ global___PackageFormat = PackageFormat
51
+
52
+ @typing.final
53
+ class DeviceAgentConfigRequest(google.protobuf.message.Message):
54
+ """Device side"""
55
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
56
+
57
+ @typing.final
58
+ class SubsystemVersionsEntry(google.protobuf.message.Message):
59
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
60
+ KEY_FIELD_NUMBER: builtins.int
61
+ VALUE_FIELD_NUMBER: builtins.int
62
+ key: builtins.str
63
+ value: builtins.str
64
+
65
+ def __init__(self, *, key: builtins.str=..., value: builtins.str=...) -> None:
66
+ ...
67
+
68
+ def ClearField(self, field_name: typing.Literal['key', b'key', 'value', b'value']) -> None:
69
+ ...
70
+ ID_FIELD_NUMBER: builtins.int
71
+ HOST_INFO_FIELD_NUMBER: builtins.int
72
+ SUBSYSTEM_VERSIONS_FIELD_NUMBER: builtins.int
73
+ VERSION_INFO_FIELD_NUMBER: builtins.int
74
+ id: builtins.str
75
+ 'robot partID'
76
+
77
+ @property
78
+ def host_info(self) -> global___HostInfo:
79
+ """info about the host system"""
80
+
81
+ @property
82
+ def subsystem_versions(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
83
+ """current subsystems and versions
84
+ DEPRECATED in favor of version_info
85
+ """
86
+
87
+ @property
88
+ def version_info(self) -> global___VersionInfo:
89
+ """Currently installed versions for agent and viam-server"""
90
+
91
+ def __init__(self, *, id: builtins.str=..., host_info: global___HostInfo | None=..., subsystem_versions: collections.abc.Mapping[builtins.str, builtins.str] | None=..., version_info: global___VersionInfo | None=...) -> None:
92
+ ...
93
+
94
+ def HasField(self, field_name: typing.Literal['host_info', b'host_info', 'version_info', b'version_info']) -> builtins.bool:
95
+ ...
96
+
97
+ def ClearField(self, field_name: typing.Literal['host_info', b'host_info', 'id', b'id', 'subsystem_versions', b'subsystem_versions', 'version_info', b'version_info']) -> None:
98
+ ...
99
+ global___DeviceAgentConfigRequest = DeviceAgentConfigRequest
100
+
101
+ @typing.final
102
+ class DeviceAgentConfigResponse(google.protobuf.message.Message):
103
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
104
+
105
+ @typing.final
106
+ class SubsystemConfigsEntry(google.protobuf.message.Message):
107
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
108
+ KEY_FIELD_NUMBER: builtins.int
109
+ VALUE_FIELD_NUMBER: builtins.int
110
+ key: builtins.str
111
+
112
+ @property
113
+ def value(self) -> global___DeviceSubsystemConfig:
114
+ ...
115
+
116
+ def __init__(self, *, key: builtins.str=..., value: global___DeviceSubsystemConfig | None=...) -> None:
117
+ ...
118
+
119
+ def HasField(self, field_name: typing.Literal['value', b'value']) -> builtins.bool:
120
+ ...
121
+
122
+ def ClearField(self, field_name: typing.Literal['key', b'key', 'value', b'value']) -> None:
123
+ ...
124
+ SUBSYSTEM_CONFIGS_FIELD_NUMBER: builtins.int
125
+ CHECK_INTERVAL_FIELD_NUMBER: builtins.int
126
+ AGENT_UPDATE_INFO_FIELD_NUMBER: builtins.int
127
+ VIAM_SERVER_UPDATE_INFO_FIELD_NUMBER: builtins.int
128
+ ADVANCED_SETTINGS_FIELD_NUMBER: builtins.int
129
+ NETWORK_CONFIGURATION_FIELD_NUMBER: builtins.int
130
+ ADDITIONAL_NETWORKS_FIELD_NUMBER: builtins.int
131
+ SYSTEM_CONFIGURATION_FIELD_NUMBER: builtins.int
132
+
133
+ @property
134
+ def subsystem_configs(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___DeviceSubsystemConfig]:
135
+ """subsystems to be installed/configured/updated
136
+ note: previously installed subsystems will be removed from the system if removed from this list
137
+ DEPRECATED in favor of indidivual update_info and settings fields
138
+ """
139
+
140
+ @property
141
+ def check_interval(self) -> google.protobuf.duration_pb2.Duration:
142
+ """how often this request should be repeated"""
143
+
144
+ @property
145
+ def agent_update_info(self) -> global___UpdateInfo:
146
+ """update info for agent and viam-server, parsed/processed in App"""
147
+
148
+ @property
149
+ def viam_server_update_info(self) -> global___UpdateInfo:
150
+ ...
151
+
152
+ @property
153
+ def advanced_settings(self) -> google.protobuf.struct_pb2.Struct:
154
+ """various settings that are passed directly to device Agent"""
155
+
156
+ @property
157
+ def network_configuration(self) -> google.protobuf.struct_pb2.Struct:
158
+ ...
159
+
160
+ @property
161
+ def additional_networks(self) -> google.protobuf.struct_pb2.Struct:
162
+ ...
163
+
164
+ @property
165
+ def system_configuration(self) -> google.protobuf.struct_pb2.Struct:
166
+ ...
167
+
168
+ def __init__(self, *, subsystem_configs: collections.abc.Mapping[builtins.str, global___DeviceSubsystemConfig] | None=..., check_interval: google.protobuf.duration_pb2.Duration | None=..., agent_update_info: global___UpdateInfo | None=..., viam_server_update_info: global___UpdateInfo | None=..., advanced_settings: google.protobuf.struct_pb2.Struct | None=..., network_configuration: google.protobuf.struct_pb2.Struct | None=..., additional_networks: google.protobuf.struct_pb2.Struct | None=..., system_configuration: google.protobuf.struct_pb2.Struct | None=...) -> None:
169
+ ...
170
+
171
+ def HasField(self, field_name: typing.Literal['additional_networks', b'additional_networks', 'advanced_settings', b'advanced_settings', 'agent_update_info', b'agent_update_info', 'check_interval', b'check_interval', 'network_configuration', b'network_configuration', 'system_configuration', b'system_configuration', 'viam_server_update_info', b'viam_server_update_info']) -> builtins.bool:
172
+ ...
173
+
174
+ def ClearField(self, field_name: typing.Literal['additional_networks', b'additional_networks', 'advanced_settings', b'advanced_settings', 'agent_update_info', b'agent_update_info', 'check_interval', b'check_interval', 'network_configuration', b'network_configuration', 'subsystem_configs', b'subsystem_configs', 'system_configuration', b'system_configuration', 'viam_server_update_info', b'viam_server_update_info']) -> None:
175
+ ...
176
+ global___DeviceAgentConfigResponse = DeviceAgentConfigResponse
177
+
178
+ @typing.final
179
+ class DeviceSubsystemConfig(google.protobuf.message.Message):
180
+ """DEPRECATED as of January 2025"""
181
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
182
+ UPDATE_INFO_FIELD_NUMBER: builtins.int
183
+ DISABLE_FIELD_NUMBER: builtins.int
184
+ FORCE_RESTART_FIELD_NUMBER: builtins.int
185
+ ATTRIBUTES_FIELD_NUMBER: builtins.int
186
+ disable: builtins.bool
187
+ 'if this subsystem is disabled and should not be started by the agent'
188
+ force_restart: builtins.bool
189
+ 'force_restart will restart the subsystem, even if no updates are available'
190
+
191
+ @property
192
+ def update_info(self) -> global___UpdateInfo:
193
+ """data needed to download/validate the subsystem"""
194
+
195
+ @property
196
+ def attributes(self) -> google.protobuf.struct_pb2.Struct:
197
+ """arbitrary config sections"""
198
+
199
+ def __init__(self, *, update_info: global___UpdateInfo | None=..., disable: builtins.bool=..., force_restart: builtins.bool=..., attributes: google.protobuf.struct_pb2.Struct | None=...) -> None:
200
+ ...
201
+
202
+ def HasField(self, field_name: typing.Literal['attributes', b'attributes', 'update_info', b'update_info']) -> builtins.bool:
203
+ ...
204
+
205
+ def ClearField(self, field_name: typing.Literal['attributes', b'attributes', 'disable', b'disable', 'force_restart', b'force_restart', 'update_info', b'update_info']) -> None:
206
+ ...
207
+ global___DeviceSubsystemConfig = DeviceSubsystemConfig
208
+
209
+ @typing.final
210
+ class VersionInfo(google.protobuf.message.Message):
211
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
212
+ AGENT_RUNNING_FIELD_NUMBER: builtins.int
213
+ AGENT_INSTALLED_FIELD_NUMBER: builtins.int
214
+ VIAM_SERVER_RUNNING_FIELD_NUMBER: builtins.int
215
+ VIAM_SERVER_INSTALLED_FIELD_NUMBER: builtins.int
216
+ agent_running: builtins.str
217
+ 'the version of agent currently running and making the request'
218
+ agent_installed: builtins.str
219
+ 'the version of agent installed (will run after restart if different)'
220
+ viam_server_running: builtins.str
221
+ 'the version of viam-server currently running'
222
+ viam_server_installed: builtins.str
223
+ 'the version of viam-server installed (will run after restart if different)'
224
+
225
+ def __init__(self, *, agent_running: builtins.str=..., agent_installed: builtins.str=..., viam_server_running: builtins.str=..., viam_server_installed: builtins.str=...) -> None:
226
+ ...
227
+
228
+ def ClearField(self, field_name: typing.Literal['agent_installed', b'agent_installed', 'agent_running', b'agent_running', 'viam_server_installed', b'viam_server_installed', 'viam_server_running', b'viam_server_running']) -> None:
229
+ ...
230
+ global___VersionInfo = VersionInfo
231
+
232
+ @typing.final
233
+ class HostInfo(google.protobuf.message.Message):
234
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
235
+ PLATFORM_FIELD_NUMBER: builtins.int
236
+ DISTRO_FIELD_NUMBER: builtins.int
237
+ TAGS_FIELD_NUMBER: builtins.int
238
+ platform: builtins.str
239
+ 'platform is the docker styled combination of kernel and architecture. Ex: linux/amd64, darwin/arm64'
240
+ distro: builtins.str
241
+ 'ID and VERSION_ID fields from /etc/os-release, colon seperated. Ex: ubuntu:22.04, debian:11'
242
+
243
+ @property
244
+ def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
245
+ """additional tags for specific hardware or software that's present and may affect software selection
246
+ ex: "jetson", "rpi4", "systemd", etc.
247
+ """
248
+
249
+ def __init__(self, *, platform: builtins.str=..., distro: builtins.str=..., tags: collections.abc.Iterable[builtins.str] | None=...) -> None:
250
+ ...
251
+
252
+ def ClearField(self, field_name: typing.Literal['distro', b'distro', 'platform', b'platform', 'tags', b'tags']) -> None:
253
+ ...
254
+ global___HostInfo = HostInfo
255
+
256
+ @typing.final
257
+ class UpdateInfo(google.protobuf.message.Message):
258
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
259
+ FILENAME_FIELD_NUMBER: builtins.int
260
+ URL_FIELD_NUMBER: builtins.int
261
+ VERSION_FIELD_NUMBER: builtins.int
262
+ SHA256_FIELD_NUMBER: builtins.int
263
+ FORMAT_FIELD_NUMBER: builtins.int
264
+ filename: builtins.str
265
+ 'unpacked filename as it is expected on disk (regardless of url)'
266
+ url: builtins.str
267
+ 'url to download from'
268
+ version: builtins.str
269
+ 'version expected at the url'
270
+ sha256: builtins.bytes
271
+ 'sha256 sum of file as downloaded'
272
+ format: global___PackageFormat.ValueType
273
+ 'determines if decompression or executable permissions are needed'
274
+
275
+ def __init__(self, *, filename: builtins.str=..., url: builtins.str=..., version: builtins.str=..., sha256: builtins.bytes=..., format: global___PackageFormat.ValueType=...) -> None:
276
+ ...
277
+
278
+ def ClearField(self, field_name: typing.Literal['filename', b'filename', 'format', b'format', 'sha256', b'sha256', 'url', b'url', 'version', b'version']) -> None:
279
+ ...
280
+ global___UpdateInfo = UpdateInfo
File without changes