viam-sdk 0.25.2__py3-none-linux_armv7l.whl → 0.62.0__py3-none-linux_armv7l.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.
Files changed (328) hide show
  1. viam/app/_logs.py +3 -6
  2. viam/app/app_client.py +606 -262
  3. viam/app/billing_client.py +60 -18
  4. viam/app/data_client.py +1086 -315
  5. viam/app/ml_training_client.py +51 -48
  6. viam/app/provisioning_client.py +3 -5
  7. viam/app/viam_client.py +105 -11
  8. viam/components/arm/__init__.py +1 -25
  9. viam/components/arm/arm.py +21 -22
  10. viam/components/arm/client.py +27 -30
  11. viam/components/arm/service.py +3 -3
  12. viam/components/audio_in/__init__.py +24 -0
  13. viam/components/audio_in/audio_in.py +74 -0
  14. viam/components/audio_in/client.py +76 -0
  15. viam/components/audio_in/service.py +83 -0
  16. viam/components/audio_input/__init__.py +1 -1
  17. viam/components/audio_input/audio_input.py +4 -3
  18. viam/components/audio_input/client.py +19 -8
  19. viam/components/audio_input/service.py +10 -0
  20. viam/components/audio_out/__init__.py +21 -0
  21. viam/components/audio_out/audio_out.py +72 -0
  22. viam/components/audio_out/client.py +67 -0
  23. viam/components/audio_out/service.py +63 -0
  24. viam/components/base/__init__.py +2 -10
  25. viam/components/base/base.py +20 -20
  26. viam/components/base/client.py +27 -30
  27. viam/components/board/__init__.py +2 -25
  28. viam/components/board/board.py +39 -77
  29. viam/components/board/client.py +39 -73
  30. viam/components/button/__init__.py +10 -0
  31. viam/components/button/button.py +41 -0
  32. viam/components/button/client.py +52 -0
  33. viam/components/button/service.py +46 -0
  34. viam/components/camera/__init__.py +1 -1
  35. viam/components/camera/camera.py +31 -22
  36. viam/components/camera/client.py +30 -20
  37. viam/components/camera/service.py +14 -12
  38. viam/components/component_base.py +10 -7
  39. viam/components/encoder/__init__.py +1 -1
  40. viam/components/encoder/client.py +15 -16
  41. viam/components/encoder/encoder.py +9 -9
  42. viam/components/gantry/__init__.py +1 -13
  43. viam/components/gantry/client.py +41 -28
  44. viam/components/gantry/gantry.py +48 -17
  45. viam/components/gantry/service.py +21 -5
  46. viam/components/generic/__init__.py +1 -1
  47. viam/components/generic/client.py +11 -7
  48. viam/components/generic/generic.py +3 -3
  49. viam/components/gripper/__init__.py +3 -12
  50. viam/components/gripper/client.py +43 -20
  51. viam/components/gripper/gripper.py +87 -12
  52. viam/components/gripper/service.py +32 -3
  53. viam/components/input/__init__.py +1 -14
  54. viam/components/input/client.py +22 -23
  55. viam/components/input/input.py +18 -12
  56. viam/components/motor/__init__.py +1 -21
  57. viam/components/motor/client.py +36 -42
  58. viam/components/motor/motor.py +24 -24
  59. viam/components/movement_sensor/__init__.py +1 -1
  60. viam/components/movement_sensor/client.py +33 -40
  61. viam/components/movement_sensor/movement_sensor.py +12 -12
  62. viam/components/pose_tracker/__init__.py +1 -1
  63. viam/components/pose_tracker/client.py +9 -8
  64. viam/components/pose_tracker/pose_tracker.py +2 -2
  65. viam/components/power_sensor/__init__.py +1 -1
  66. viam/components/power_sensor/client.py +15 -18
  67. viam/components/power_sensor/power_sensor.py +12 -12
  68. viam/components/sensor/__init__.py +1 -1
  69. viam/components/sensor/client.py +9 -8
  70. viam/components/sensor/sensor.py +5 -5
  71. viam/components/servo/__init__.py +1 -13
  72. viam/components/servo/client.py +18 -18
  73. viam/components/servo/servo.py +12 -12
  74. viam/components/switch/__init__.py +10 -0
  75. viam/components/switch/client.py +83 -0
  76. viam/components/switch/service.py +72 -0
  77. viam/components/switch/switch.py +95 -0
  78. viam/gen/app/agent/v1/agent_pb2.py +40 -29
  79. viam/gen/app/agent/v1/agent_pb2.pyi +73 -11
  80. viam/gen/app/cloudslam/v1/cloud_slam_pb2.py +45 -42
  81. viam/gen/app/data/v1/data_grpc.py +98 -2
  82. viam/gen/app/data/v1/data_pb2.py +238 -119
  83. viam/gen/app/data/v1/data_pb2.pyi +804 -34
  84. viam/gen/app/datapipelines/v1/data_pipelines_grpc.py +84 -0
  85. viam/gen/app/datapipelines/v1/data_pipelines_pb2.py +57 -0
  86. viam/gen/app/datapipelines/v1/data_pipelines_pb2.pyi +387 -0
  87. viam/gen/app/dataset/v1/dataset_grpc.py +10 -2
  88. viam/gen/app/dataset/v1/dataset_pb2.py +38 -31
  89. viam/gen/app/dataset/v1/dataset_pb2.pyi +36 -1
  90. viam/gen/app/datasync/v1/data_sync_grpc.py +1 -1
  91. viam/gen/app/datasync/v1/data_sync_pb2.py +61 -51
  92. viam/gen/app/datasync/v1/data_sync_pb2.pyi +52 -12
  93. viam/gen/app/mlinference/__init__.py +0 -0
  94. viam/gen/app/mlinference/v1/__init__.py +0 -0
  95. viam/gen/app/mlinference/v1/ml_inference_grpc.py +28 -0
  96. viam/gen/app/mlinference/v1/ml_inference_pb2.py +23 -0
  97. viam/gen/app/mlinference/v1/ml_inference_pb2.pyi +63 -0
  98. viam/gen/app/mltraining/v1/ml_training_grpc.py +18 -2
  99. viam/gen/app/mltraining/v1/ml_training_pb2.py +134 -101
  100. viam/gen/app/mltraining/v1/ml_training_pb2.pyi +193 -7
  101. viam/gen/app/packages/v1/packages_pb2.py +43 -40
  102. viam/gen/app/v1/app_grpc.py +290 -2
  103. viam/gen/app/v1/app_pb2.py +670 -453
  104. viam/gen/app/v1/app_pb2.pyi +3133 -947
  105. viam/gen/app/v1/billing_grpc.py +34 -2
  106. viam/gen/app/v1/billing_pb2.py +94 -35
  107. viam/gen/app/v1/billing_pb2.pyi +314 -61
  108. viam/gen/app/v1/end_user_pb2.py +50 -29
  109. viam/gen/app/v1/robot_pb2.py +120 -111
  110. viam/gen/app/v1/robot_pb2.pyi +137 -15
  111. viam/gen/common/v1/common_pb2.py +86 -66
  112. viam/gen/common/v1/common_pb2.pyi +184 -8
  113. viam/gen/component/arm/v1/arm_grpc.py +18 -2
  114. viam/gen/component/arm/v1/arm_pb2.py +68 -55
  115. viam/gen/component/arm/v1/arm_pb2.pyi +73 -3
  116. viam/gen/component/audioin/__init__.py +0 -0
  117. viam/gen/component/audioin/v1/__init__.py +0 -0
  118. viam/gen/component/audioin/v1/audioin_grpc.py +54 -0
  119. viam/gen/component/audioin/v1/audioin_pb2.py +34 -0
  120. viam/gen/component/audioin/v1/audioin_pb2.pyi +94 -0
  121. viam/gen/component/audioinput/v1/audioinput_pb2.py +35 -32
  122. viam/gen/component/audioout/__init__.py +0 -0
  123. viam/gen/component/audioout/v1/__init__.py +0 -0
  124. viam/gen/component/audioout/v1/audioout_grpc.py +54 -0
  125. viam/gen/component/audioout/v1/audioout_pb2.py +32 -0
  126. viam/gen/component/audioout/v1/audioout_pb2.pyi +47 -0
  127. viam/gen/component/base/v1/base_pb2.py +57 -54
  128. viam/gen/component/board/v1/board_pb2.py +93 -90
  129. viam/gen/component/button/__init__.py +0 -0
  130. viam/gen/component/button/v1/__init__.py +0 -0
  131. viam/gen/component/button/v1/button_grpc.py +38 -0
  132. viam/gen/component/button/v1/button_pb2.py +28 -0
  133. viam/gen/component/button/v1/button_pb2.pyi +39 -0
  134. viam/gen/component/camera/v1/camera_pb2.py +58 -55
  135. viam/gen/component/camera/v1/camera_pb2.pyi +31 -7
  136. viam/gen/component/encoder/v1/encoder_pb2.py +35 -32
  137. viam/gen/component/gantry/v1/gantry_grpc.py +9 -1
  138. viam/gen/component/gantry/v1/gantry_pb2.py +56 -51
  139. viam/gen/component/generic/v1/generic_pb2.py +15 -12
  140. viam/gen/component/gripper/v1/gripper_grpc.py +18 -2
  141. viam/gen/component/gripper/v1/gripper_pb2.py +48 -37
  142. viam/gen/component/gripper/v1/gripper_pb2.pyi +43 -1
  143. viam/gen/component/inputcontroller/v1/input_controller_pb2.py +45 -42
  144. viam/gen/component/motor/v1/motor_pb2.py +77 -74
  145. viam/gen/component/movementsensor/v1/movementsensor_pb2.py +69 -66
  146. viam/gen/component/posetracker/v1/pose_tracker_pb2.py +25 -22
  147. viam/gen/component/powersensor/v1/powersensor_pb2.py +33 -30
  148. viam/gen/component/sensor/v1/sensor_pb2.py +17 -14
  149. viam/gen/component/servo/v1/servo_pb2.py +41 -38
  150. viam/gen/component/switch/__init__.py +0 -0
  151. viam/gen/component/switch/v1/__init__.py +0 -0
  152. viam/gen/component/switch/v1/switch_grpc.py +54 -0
  153. viam/gen/component/switch/v1/switch_pb2.py +40 -0
  154. viam/gen/component/switch/v1/switch_pb2.pyi +116 -0
  155. viam/gen/component/testecho/v1/testecho_pb2.py +29 -26
  156. viam/gen/module/v1/module_pb2.py +36 -33
  157. viam/gen/module/v1/module_pb2.pyi +7 -2
  158. viam/gen/proto/rpc/examples/echo/v1/echo_pb2.py +26 -23
  159. viam/gen/proto/rpc/examples/echoresource/v1/echoresource_pb2.py +23 -20
  160. viam/gen/proto/rpc/v1/auth_pb2.py +27 -24
  161. viam/gen/proto/rpc/webrtc/v1/grpc_pb2.py +35 -32
  162. viam/gen/proto/rpc/webrtc/v1/signaling_pb2.py +62 -57
  163. viam/gen/proto/rpc/webrtc/v1/signaling_pb2.pyi +18 -4
  164. viam/gen/provisioning/v1/provisioning_grpc.py +10 -2
  165. viam/gen/provisioning/v1/provisioning_pb2.py +38 -31
  166. viam/gen/provisioning/v1/provisioning_pb2.pyi +20 -2
  167. viam/gen/robot/v1/robot_grpc.py +61 -29
  168. viam/gen/robot/v1/robot_pb2.py +186 -155
  169. viam/gen/robot/v1/robot_pb2.pyi +278 -59
  170. viam/gen/service/datamanager/v1/data_manager_grpc.py +11 -2
  171. viam/gen/service/datamanager/v1/data_manager_pb2.py +27 -17
  172. viam/gen/service/datamanager/v1/data_manager_pb2.pyi +47 -1
  173. viam/gen/service/discovery/__init__.py +0 -0
  174. viam/gen/service/discovery/v1/__init__.py +0 -0
  175. viam/gen/service/discovery/v1/discovery_grpc.py +39 -0
  176. viam/gen/service/discovery/v1/discovery_pb2.py +29 -0
  177. viam/gen/service/discovery/v1/discovery_pb2.pyi +51 -0
  178. viam/gen/service/generic/v1/generic_pb2.py +13 -10
  179. viam/gen/service/mlmodel/v1/mlmodel_pb2.py +75 -72
  180. viam/gen/service/motion/v1/motion_pb2.py +118 -85
  181. viam/gen/service/motion/v1/motion_pb2.pyi +130 -68
  182. viam/gen/service/navigation/v1/navigation_pb2.py +75 -72
  183. viam/gen/service/sensors/v1/sensors_pb2.py +59 -56
  184. viam/gen/service/shell/v1/shell_pb2.py +35 -32
  185. viam/gen/service/slam/v1/slam_pb2.py +43 -40
  186. viam/gen/service/slam/v1/slam_pb2.pyi +1 -1
  187. viam/gen/service/video/__init__.py +0 -0
  188. viam/gen/service/video/v1/__init__.py +0 -0
  189. viam/gen/service/video/v1/video_grpc.py +39 -0
  190. viam/gen/service/video/v1/video_pb2.py +29 -0
  191. viam/gen/service/video/v1/video_pb2.pyi +72 -0
  192. viam/gen/service/vision/v1/vision_pb2.py +60 -57
  193. viam/gen/service/vision/v1/vision_pb2.pyi +28 -3
  194. viam/gen/service/worldstatestore/__init__.py +0 -0
  195. viam/gen/service/worldstatestore/v1/__init__.py +0 -0
  196. viam/gen/service/worldstatestore/v1/world_state_store_grpc.py +55 -0
  197. viam/gen/service/worldstatestore/v1/world_state_store_pb2.py +39 -0
  198. viam/gen/service/worldstatestore/v1/world_state_store_pb2.pyi +171 -0
  199. viam/gen/stream/v1/stream_grpc.py +17 -1
  200. viam/gen/stream/v1/stream_pb2.py +34 -21
  201. viam/gen/stream/v1/stream_pb2.pyi +79 -1
  202. viam/gen/tagger/v1/tagger_pb2.py +9 -8
  203. viam/logging.py +77 -18
  204. viam/media/audio.py +28 -0
  205. viam/media/utils/pil/__init__.py +7 -3
  206. viam/media/video.py +80 -17
  207. viam/module/module.py +111 -38
  208. viam/module/resource_data_consumer.py +41 -0
  209. viam/module/service.py +9 -1
  210. viam/module/types.py +2 -4
  211. viam/proto/app/__init__.py +199 -0
  212. viam/proto/app/agent/__init__.py +5 -2
  213. viam/proto/app/billing.py +31 -4
  214. viam/proto/app/cloudslam/__init__.py +1 -0
  215. viam/proto/app/data/__init__.py +63 -0
  216. viam/proto/app/datapipelines/__init__.py +56 -0
  217. viam/proto/app/dataset/__init__.py +5 -0
  218. viam/proto/app/datasync/__init__.py +3 -0
  219. viam/proto/app/end_user.py +1 -0
  220. viam/proto/app/mlinference/__init__.py +15 -0
  221. viam/proto/app/mltraining/__init__.py +13 -0
  222. viam/proto/app/packages/__init__.py +1 -0
  223. viam/proto/app/robot.py +7 -0
  224. viam/proto/common/__init__.py +15 -0
  225. viam/proto/component/arm/__init__.py +7 -0
  226. viam/proto/component/audioin/__init__.py +16 -0
  227. viam/proto/component/audioinput/__init__.py +1 -0
  228. viam/proto/component/audioout/__init__.py +15 -0
  229. viam/proto/component/base/__init__.py +1 -0
  230. viam/proto/component/board/__init__.py +1 -0
  231. viam/proto/component/button/__init__.py +15 -0
  232. viam/proto/component/camera/__init__.py +1 -0
  233. viam/proto/component/encoder/__init__.py +1 -0
  234. viam/proto/component/gantry/__init__.py +1 -0
  235. viam/proto/component/generic/__init__.py +1 -0
  236. viam/proto/component/gripper/__init__.py +5 -0
  237. viam/proto/component/inputcontroller/__init__.py +1 -0
  238. viam/proto/component/motor/__init__.py +1 -0
  239. viam/proto/component/movementsensor/__init__.py +1 -0
  240. viam/proto/component/posetracker/__init__.py +1 -0
  241. viam/proto/component/powersensor/__init__.py +1 -0
  242. viam/proto/component/sensor/__init__.py +1 -0
  243. viam/proto/component/servo/__init__.py +1 -0
  244. viam/proto/component/switch/__init__.py +26 -0
  245. viam/proto/component/testecho/__init__.py +1 -0
  246. viam/proto/module/__init__.py +1 -0
  247. viam/proto/provisioning/__init__.py +5 -0
  248. viam/proto/robot/__init__.py +29 -8
  249. viam/proto/rpc/auth.py +1 -0
  250. viam/proto/rpc/examples/echo/__init__.py +1 -0
  251. viam/proto/rpc/examples/echoresource/__init__.py +1 -0
  252. viam/proto/rpc/webrtc/grpc.py +1 -0
  253. viam/proto/rpc/webrtc/signaling.py +3 -0
  254. viam/proto/service/datamanager/__init__.py +9 -1
  255. viam/proto/service/discovery/__init__.py +15 -0
  256. viam/proto/service/generic/__init__.py +1 -0
  257. viam/proto/service/mlmodel/__init__.py +1 -0
  258. viam/proto/service/motion/__init__.py +3 -0
  259. viam/proto/service/navigation/__init__.py +1 -0
  260. viam/proto/service/sensors/__init__.py +1 -0
  261. viam/proto/service/shell/__init__.py +1 -0
  262. viam/proto/service/slam/__init__.py +1 -0
  263. viam/proto/service/video/__init__.py +15 -0
  264. viam/proto/service/vision/__init__.py +1 -0
  265. viam/proto/service/worldstatestore/__init__.py +32 -0
  266. viam/proto/stream/__init__.py +11 -0
  267. viam/py.typed +0 -0
  268. viam/resource/base.py +12 -8
  269. viam/resource/easy_resource.py +24 -13
  270. viam/resource/manager.py +6 -5
  271. viam/resource/registry.py +39 -51
  272. viam/resource/rpc_client_base.py +33 -1
  273. viam/resource/types.py +13 -14
  274. viam/robot/client.py +190 -122
  275. viam/robot/service.py +2 -50
  276. viam/rpc/dial.py +54 -4
  277. viam/rpc/libviam_rust_utils.so +0 -0
  278. viam/rpc/server.py +25 -11
  279. viam/rpc/types.py +2 -4
  280. viam/services/discovery/__init__.py +12 -0
  281. viam/services/discovery/client.py +55 -0
  282. viam/services/discovery/discovery.py +52 -0
  283. viam/services/discovery/service.py +43 -0
  284. viam/services/generic/__init__.py +1 -1
  285. viam/services/generic/client.py +8 -5
  286. viam/services/generic/generic.py +2 -2
  287. viam/services/mlmodel/__init__.py +1 -1
  288. viam/services/mlmodel/client.py +17 -7
  289. viam/services/mlmodel/mlmodel.py +23 -12
  290. viam/services/mlmodel/service.py +5 -2
  291. viam/services/mlmodel/utils.py +11 -1
  292. viam/services/motion/__init__.py +2 -2
  293. viam/services/motion/client.py +32 -32
  294. viam/services/motion/motion.py +66 -62
  295. viam/services/navigation/__init__.py +1 -1
  296. viam/services/navigation/client.py +30 -20
  297. viam/services/navigation/navigation.py +23 -23
  298. viam/services/service_base.py +13 -9
  299. viam/services/service_client_base.py +3 -3
  300. viam/services/slam/__init__.py +1 -1
  301. viam/services/slam/client.py +15 -10
  302. viam/services/slam/slam.py +11 -11
  303. viam/services/vision/__init__.py +1 -1
  304. viam/services/vision/client.py +31 -24
  305. viam/services/vision/service.py +8 -8
  306. viam/services/vision/vision.py +36 -53
  307. viam/services/worldstatestore/__init__.py +18 -0
  308. viam/services/worldstatestore/client.py +94 -0
  309. viam/services/worldstatestore/service.py +55 -0
  310. viam/services/worldstatestore/worldstatestore.py +90 -0
  311. viam/sessions_client.py +115 -46
  312. viam/streams.py +3 -6
  313. viam/utils.py +44 -14
  314. viam/version_metadata.py +4 -0
  315. {viam_sdk-0.25.2.dist-info → viam_sdk-0.62.0.dist-info}/METADATA +27 -28
  316. viam_sdk-0.62.0.dist-info/RECORD +514 -0
  317. {viam_sdk-0.25.2.dist-info → viam_sdk-0.62.0.dist-info}/WHEEL +1 -1
  318. viam/gen/proto/rpc/examples/fileupload/v1/fileupload_grpc.py +0 -27
  319. viam/gen/proto/rpc/examples/fileupload/v1/fileupload_pb2.py +0 -18
  320. viam/gen/proto/rpc/examples/fileupload/v1/fileupload_pb2.pyi +0 -45
  321. viam/proto/rpc/examples/fileupload/__init__.py +0 -18
  322. viam/services/sensors/__init__.py +0 -5
  323. viam/services/sensors/client.py +0 -65
  324. viam_sdk-0.25.2.dist-info/LICENSE +0 -202
  325. viam_sdk-0.25.2.dist-info/RECORD +0 -442
  326. /viam/gen/{proto/rpc/examples/fileupload → app/datapipelines}/__init__.py +0 -0
  327. /viam/gen/{proto/rpc/examples/fileupload → app/datapipelines}/v1/__init__.py +0 -0
  328. /LICENSE → /viam_sdk-0.62.0.dist-info/licenses/LICENSE +0 -0
@@ -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 = 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)
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,95 @@
1
+ import abc
2
+ from typing import Any, Final, Mapping, Optional
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(self, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> int:
81
+ """
82
+ Get the number of available positions on the switch.
83
+
84
+ ::
85
+
86
+ my_switch = Switch.from_robot(robot=machine, name="my_switch")
87
+
88
+ print(await my_switch.get_number_of_positions())
89
+
90
+ Returns:
91
+ int: The number of available positions.
92
+
93
+ For more information, see `Switch component <https://docs.viam.com/dev/reference/apis/components/switch/#getnumberofpositions>`_.
94
+ """
95
+ ...
@@ -1,36 +1,47 @@
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, '', 'app/agent/v1/agent.proto')
6
8
  _sym_db = _symbol_database.Default()
7
9
  from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
8
10
  from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
9
- 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"\x9d\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\x12q\n\x12subsystem_versions\x18\x03 \x03(\x0b2B.viam.app.agent.v1.DeviceAgentConfigRequest.SubsystemVersionsEntryR\x11subsystemVersions\x1aD\n\x16SubsystemVersionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01"\xbd\x02\n\x19DeviceAgentConfigResponse\x12o\n\x11subsystem_configs\x18\x01 \x03(\x0b2B.viam.app.agent.v1.DeviceAgentConfigResponse.SubsystemConfigsEntryR\x10subsystemConfigs\x12@\n\x0echeck_interval\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationR\rcheckInterval\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"\xd8\x01\n\x15DeviceSubsystemConfig\x12G\n\x0bupdate_info\x18\x01 \x01(\x0b2&.viam.app.agent.v1.SubsystemUpdateInfoR\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"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"\xaf\x01\n\x13SubsystemUpdateInfo\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')
10
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
11
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.agent.v1.agent_pb2', globals())
12
- if _descriptor._USE_C_DESCRIPTORS == False:
13
- DESCRIPTOR._options = None
14
- DESCRIPTOR._serialized_options = b'Z\x1cgo.viam.com/api/app/agent/v1'
15
- _DEVICEAGENTCONFIGREQUEST_SUBSYSTEMVERSIONSENTRY._options = None
16
- _DEVICEAGENTCONFIGREQUEST_SUBSYSTEMVERSIONSENTRY._serialized_options = b'8\x01'
17
- _DEVICEAGENTCONFIGRESPONSE_SUBSYSTEMCONFIGSENTRY._options = None
18
- _DEVICEAGENTCONFIGRESPONSE_SUBSYSTEMCONFIGSENTRY._serialized_options = b'8\x01'
19
- _PACKAGEFORMAT._serialized_start = 1199
20
- _PACKAGEFORMAT._serialized_end = 1358
21
- _DEVICEAGENTCONFIGREQUEST._serialized_start = 110
22
- _DEVICEAGENTCONFIGREQUEST._serialized_end = 395
23
- _DEVICEAGENTCONFIGREQUEST_SUBSYSTEMVERSIONSENTRY._serialized_start = 327
24
- _DEVICEAGENTCONFIGREQUEST_SUBSYSTEMVERSIONSENTRY._serialized_end = 395
25
- _DEVICEAGENTCONFIGRESPONSE._serialized_start = 398
26
- _DEVICEAGENTCONFIGRESPONSE._serialized_end = 715
27
- _DEVICEAGENTCONFIGRESPONSE_SUBSYSTEMCONFIGSENTRY._serialized_start = 606
28
- _DEVICEAGENTCONFIGRESPONSE_SUBSYSTEMCONFIGSENTRY._serialized_end = 715
29
- _DEVICESUBSYSTEMCONFIG._serialized_start = 718
30
- _DEVICESUBSYSTEMCONFIG._serialized_end = 934
31
- _HOSTINFO._serialized_start = 936
32
- _HOSTINFO._serialized_end = 1018
33
- _SUBSYSTEMUPDATEINFO._serialized_start = 1021
34
- _SUBSYSTEMUPDATEINFO._serialized_end = 1196
35
- _AGENTDEVICESERVICE._serialized_start = 1361
36
- _AGENTDEVICESERVICE._serialized_end = 1493
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
@@ -70,6 +70,7 @@ class DeviceAgentConfigRequest(google.protobuf.message.Message):
70
70
  ID_FIELD_NUMBER: builtins.int
71
71
  HOST_INFO_FIELD_NUMBER: builtins.int
72
72
  SUBSYSTEM_VERSIONS_FIELD_NUMBER: builtins.int
73
+ VERSION_INFO_FIELD_NUMBER: builtins.int
73
74
  id: builtins.str
74
75
  'robot partID'
75
76
 
@@ -79,15 +80,21 @@ class DeviceAgentConfigRequest(google.protobuf.message.Message):
79
80
 
80
81
  @property
81
82
  def subsystem_versions(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
82
- """current subsystems and versions"""
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"""
83
90
 
84
- def __init__(self, *, id: builtins.str=..., host_info: global___HostInfo | None=..., subsystem_versions: collections.abc.Mapping[builtins.str, builtins.str] | None=...) -> None:
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:
85
92
  ...
86
93
 
87
- def HasField(self, field_name: typing.Literal['host_info', b'host_info']) -> builtins.bool:
94
+ def HasField(self, field_name: typing.Literal['host_info', b'host_info', 'version_info', b'version_info']) -> builtins.bool:
88
95
  ...
89
96
 
90
- def ClearField(self, field_name: typing.Literal['host_info', b'host_info', 'id', b'id', 'subsystem_versions', b'subsystem_versions']) -> None:
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:
91
98
  ...
92
99
  global___DeviceAgentConfigRequest = DeviceAgentConfigRequest
93
100
 
@@ -116,29 +123,61 @@ class DeviceAgentConfigResponse(google.protobuf.message.Message):
116
123
  ...
117
124
  SUBSYSTEM_CONFIGS_FIELD_NUMBER: builtins.int
118
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
119
132
 
120
133
  @property
121
134
  def subsystem_configs(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___DeviceSubsystemConfig]:
122
135
  """subsystems to be installed/configured/updated
123
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
124
138
  """
125
139
 
126
140
  @property
127
141
  def check_interval(self) -> google.protobuf.duration_pb2.Duration:
128
142
  """how often this request should be repeated"""
129
143
 
130
- def __init__(self, *, subsystem_configs: collections.abc.Mapping[builtins.str, global___DeviceSubsystemConfig] | None=..., check_interval: google.protobuf.duration_pb2.Duration | None=...) -> None:
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:
131
150
  ...
132
151
 
133
- def HasField(self, field_name: typing.Literal['check_interval', b'check_interval']) -> builtins.bool:
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:
134
162
  ...
135
163
 
136
- def ClearField(self, field_name: typing.Literal['check_interval', b'check_interval', 'subsystem_configs', b'subsystem_configs']) -> None:
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:
137
175
  ...
138
176
  global___DeviceAgentConfigResponse = DeviceAgentConfigResponse
139
177
 
140
178
  @typing.final
141
179
  class DeviceSubsystemConfig(google.protobuf.message.Message):
180
+ """DEPRECATED as of January 2025"""
142
181
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
143
182
  UPDATE_INFO_FIELD_NUMBER: builtins.int
144
183
  DISABLE_FIELD_NUMBER: builtins.int
@@ -150,14 +189,14 @@ class DeviceSubsystemConfig(google.protobuf.message.Message):
150
189
  'force_restart will restart the subsystem, even if no updates are available'
151
190
 
152
191
  @property
153
- def update_info(self) -> global___SubsystemUpdateInfo:
192
+ def update_info(self) -> global___UpdateInfo:
154
193
  """data needed to download/validate the subsystem"""
155
194
 
156
195
  @property
157
196
  def attributes(self) -> google.protobuf.struct_pb2.Struct:
158
197
  """arbitrary config sections"""
159
198
 
160
- def __init__(self, *, update_info: global___SubsystemUpdateInfo | None=..., disable: builtins.bool=..., force_restart: builtins.bool=..., attributes: google.protobuf.struct_pb2.Struct | None=...) -> None:
199
+ def __init__(self, *, update_info: global___UpdateInfo | None=..., disable: builtins.bool=..., force_restart: builtins.bool=..., attributes: google.protobuf.struct_pb2.Struct | None=...) -> None:
161
200
  ...
162
201
 
163
202
  def HasField(self, field_name: typing.Literal['attributes', b'attributes', 'update_info', b'update_info']) -> builtins.bool:
@@ -167,6 +206,29 @@ class DeviceSubsystemConfig(google.protobuf.message.Message):
167
206
  ...
168
207
  global___DeviceSubsystemConfig = DeviceSubsystemConfig
169
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
+
170
232
  @typing.final
171
233
  class HostInfo(google.protobuf.message.Message):
172
234
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
@@ -192,7 +254,7 @@ class HostInfo(google.protobuf.message.Message):
192
254
  global___HostInfo = HostInfo
193
255
 
194
256
  @typing.final
195
- class SubsystemUpdateInfo(google.protobuf.message.Message):
257
+ class UpdateInfo(google.protobuf.message.Message):
196
258
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
197
259
  FILENAME_FIELD_NUMBER: builtins.int
198
260
  URL_FIELD_NUMBER: builtins.int
@@ -215,4 +277,4 @@ class SubsystemUpdateInfo(google.protobuf.message.Message):
215
277
 
216
278
  def ClearField(self, field_name: typing.Literal['filename', b'filename', 'format', b'format', 'sha256', b'sha256', 'url', b'url', 'version', b'version']) -> None:
217
279
  ...
218
- global___SubsystemUpdateInfo = SubsystemUpdateInfo
280
+ global___UpdateInfo = UpdateInfo
@@ -1,51 +1,54 @@
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, '', 'app/cloudslam/v1/cloud_slam.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.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
9
11
  from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
10
12
  DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!app/cloudslam/v1/cloud_slam.proto\x12\x15viam.app.cloudslam.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xa2\x04\n\x1aStartMappingSessionRequest\x12!\n\x0cslam_version\x18\x01 \x01(\tR\x0bslamVersion\x12.\n\x13viam_server_version\x18\x02 \x01(\tR\x11viamServerVersion\x12\x19\n\x08map_name\x18\x03 \x01(\tR\x07mapName\x12\'\n\x0forganization_id\x18\x04 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x05 \x01(\tR\nlocationId\x12\x19\n\x08robot_id\x18\x06 \x01(\tR\x07robotId\x12Q\n\x10capture_interval\x18\x07 \x01(\x0b2&.viam.app.cloudslam.v1.CaptureIntervalR\x0fcaptureInterval\x12;\n\x07sensors\x18\x08 \x03(\x0b2!.viam.app.cloudslam.v1.SensorInfoR\x07sensors\x128\n\x0bslam_config\x18\n \x01(\x0b2\x17.google.protobuf.StructR\nslamConfig\x120\n\x14existing_map_version\x18\x0b \x01(\tR\x12existingMapVersion\x125\n\x06module\x18\x0c \x01(\x0b2\x1d.viam.app.cloudslam.v1.ModuleR\x06module"S\n\x06Module\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1b\n\tmodule_id\x18\x03 \x01(\tR\x08moduleId\x12\x18\n\x07version\x18\x04 \x01(\tR\x07version"\x80\x01\n\nSensorInfo\x122\n\x15source_component_name\x18\x01 \x01(\tR\x13sourceComponentName\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12*\n\x11data_frequency_hz\x18\x03 \x01(\tR\x0fdataFrequencyHz"\x83\x01\n\x0fCaptureInterval\x129\n\nstart_time\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\tstartTime\x125\n\x08end_time\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07endTime"<\n\x1bStartMappingSessionResponse\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"D\n\'GetActiveMappingSessionsForRobotRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId"I\n(GetActiveMappingSessionsForRobotResponse\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"C\n"GetMappingSessionPointCloudRequest\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"h\n#GetMappingSessionPointCloudResponse\x12\x17\n\x07map_url\x18\x01 \x01(\tR\x06mapUrl\x12(\n\x04pose\x18\x02 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose"f\n\x1aListMappingSessionsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId"_\n\x1bListMappingSessionsResponse\x12@\n\x07session\x18\x01 \x03(\x0b2&.viam.app.cloudslam.v1.MappingMetadataR\x07session":\n\x19StopMappingSessionRequest\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"U\n\x1aStopMappingSessionResponse\x12\x1d\n\npackage_id\x18\x01 \x01(\tR\tpackageId\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version"E\n$GetMappingSessionMetadataByIDRequest\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"z\n%GetMappingSessionMetadataByIDResponse\x12Q\n\x10session_metadata\x18\x01 \x01(\x0b2&.viam.app.cloudslam.v1.MappingMetadataR\x0fsessionMetadata"\xb5\x05\n\x0fMappingMetadata\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x12\x19\n\x08robot_id\x18\x03 \x01(\tR\x07robotId\x12L\n\x14time_start_submitted\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x12timeStartSubmitted\x12V\n\x1atime_cloud_run_job_started\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\x16timeCloudRunJobStarted\x12H\n\x12time_end_submitted\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\x10timeEndSubmitted\x12R\n\x18time_cloud_run_job_ended\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\x14timeCloudRunJobEnded\x12?\n\nend_status\x18\x08 \x01(\x0e2 .viam.app.cloudslam.v1.EndStatusR\tendStatus\x12\'\n\x10cloud_run_job_id\x18\t \x01(\tR\rcloudRunJobId\x12.\n\x13viam_server_version\x18\n \x01(\tR\x11viamServerVersion\x12\x19\n\x08map_name\x18\x0b \x01(\tR\x07mapName\x12!\n\x0cslam_version\x18\x0c \x01(\tR\x0bslamVersion\x12\x16\n\x06config\x18\r \x01(\tR\x06config\x12\x1b\n\terror_msg\x18\x0e \x01(\tR\x08errorMsg*l\n\tEndStatus\x12\x1a\n\x16END_STATUS_UNSPECIFIED\x10\x00\x12\x16\n\x12END_STATUS_SUCCESS\x10\x01\x12\x16\n\x12END_STATUS_TIMEOUT\x10\x02\x12\x13\n\x0fEND_STATUS_FAIL\x10\x032\xe3\x06\n\x10CloudSLAMService\x12|\n\x13StartMappingSession\x121.viam.app.cloudslam.v1.StartMappingSessionRequest\x1a2.viam.app.cloudslam.v1.StartMappingSessionResponse\x12\xa3\x01\n GetActiveMappingSessionsForRobot\x12>.viam.app.cloudslam.v1.GetActiveMappingSessionsForRobotRequest\x1a?.viam.app.cloudslam.v1.GetActiveMappingSessionsForRobotResponse\x12\x94\x01\n\x1bGetMappingSessionPointCloud\x129.viam.app.cloudslam.v1.GetMappingSessionPointCloudRequest\x1a:.viam.app.cloudslam.v1.GetMappingSessionPointCloudResponse\x12|\n\x13ListMappingSessions\x121.viam.app.cloudslam.v1.ListMappingSessionsRequest\x1a2.viam.app.cloudslam.v1.ListMappingSessionsResponse\x12y\n\x12StopMappingSession\x120.viam.app.cloudslam.v1.StopMappingSessionRequest\x1a1.viam.app.cloudslam.v1.StopMappingSessionResponse\x12\x9a\x01\n\x1dGetMappingSessionMetadataByID\x12;.viam.app.cloudslam.v1.GetMappingSessionMetadataByIDRequest\x1a<.viam.app.cloudslam.v1.GetMappingSessionMetadataByIDResponseB"Z go.viam.com/api/app/cloudslam/v1b\x06proto3')
11
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
12
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.cloudslam.v1.cloud_slam_pb2', globals())
13
- if _descriptor._USE_C_DESCRIPTORS == False:
14
- DESCRIPTOR._options = None
15
- DESCRIPTOR._serialized_options = b'Z go.viam.com/api/app/cloudslam/v1'
16
- _ENDSTATUS._serialized_start = 2667
17
- _ENDSTATUS._serialized_end = 2775
18
- _STARTMAPPINGSESSIONREQUEST._serialized_start = 148
19
- _STARTMAPPINGSESSIONREQUEST._serialized_end = 694
20
- _MODULE._serialized_start = 696
21
- _MODULE._serialized_end = 779
22
- _SENSORINFO._serialized_start = 782
23
- _SENSORINFO._serialized_end = 910
24
- _CAPTUREINTERVAL._serialized_start = 913
25
- _CAPTUREINTERVAL._serialized_end = 1044
26
- _STARTMAPPINGSESSIONRESPONSE._serialized_start = 1046
27
- _STARTMAPPINGSESSIONRESPONSE._serialized_end = 1106
28
- _GETACTIVEMAPPINGSESSIONSFORROBOTREQUEST._serialized_start = 1108
29
- _GETACTIVEMAPPINGSESSIONSFORROBOTREQUEST._serialized_end = 1176
30
- _GETACTIVEMAPPINGSESSIONSFORROBOTRESPONSE._serialized_start = 1178
31
- _GETACTIVEMAPPINGSESSIONSFORROBOTRESPONSE._serialized_end = 1251
32
- _GETMAPPINGSESSIONPOINTCLOUDREQUEST._serialized_start = 1253
33
- _GETMAPPINGSESSIONPOINTCLOUDREQUEST._serialized_end = 1320
34
- _GETMAPPINGSESSIONPOINTCLOUDRESPONSE._serialized_start = 1322
35
- _GETMAPPINGSESSIONPOINTCLOUDRESPONSE._serialized_end = 1426
36
- _LISTMAPPINGSESSIONSREQUEST._serialized_start = 1428
37
- _LISTMAPPINGSESSIONSREQUEST._serialized_end = 1530
38
- _LISTMAPPINGSESSIONSRESPONSE._serialized_start = 1532
39
- _LISTMAPPINGSESSIONSRESPONSE._serialized_end = 1627
40
- _STOPMAPPINGSESSIONREQUEST._serialized_start = 1629
41
- _STOPMAPPINGSESSIONREQUEST._serialized_end = 1687
42
- _STOPMAPPINGSESSIONRESPONSE._serialized_start = 1689
43
- _STOPMAPPINGSESSIONRESPONSE._serialized_end = 1774
44
- _GETMAPPINGSESSIONMETADATABYIDREQUEST._serialized_start = 1776
45
- _GETMAPPINGSESSIONMETADATABYIDREQUEST._serialized_end = 1845
46
- _GETMAPPINGSESSIONMETADATABYIDRESPONSE._serialized_start = 1847
47
- _GETMAPPINGSESSIONMETADATABYIDRESPONSE._serialized_end = 1969
48
- _MAPPINGMETADATA._serialized_start = 1972
49
- _MAPPINGMETADATA._serialized_end = 2665
50
- _CLOUDSLAMSERVICE._serialized_start = 2778
51
- _CLOUDSLAMSERVICE._serialized_end = 3645
13
+ _globals = globals()
14
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
15
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.cloudslam.v1.cloud_slam_pb2', _globals)
16
+ if not _descriptor._USE_C_DESCRIPTORS:
17
+ _globals['DESCRIPTOR']._loaded_options = None
18
+ _globals['DESCRIPTOR']._serialized_options = b'Z go.viam.com/api/app/cloudslam/v1'
19
+ _globals['_ENDSTATUS']._serialized_start = 2667
20
+ _globals['_ENDSTATUS']._serialized_end = 2775
21
+ _globals['_STARTMAPPINGSESSIONREQUEST']._serialized_start = 148
22
+ _globals['_STARTMAPPINGSESSIONREQUEST']._serialized_end = 694
23
+ _globals['_MODULE']._serialized_start = 696
24
+ _globals['_MODULE']._serialized_end = 779
25
+ _globals['_SENSORINFO']._serialized_start = 782
26
+ _globals['_SENSORINFO']._serialized_end = 910
27
+ _globals['_CAPTUREINTERVAL']._serialized_start = 913
28
+ _globals['_CAPTUREINTERVAL']._serialized_end = 1044
29
+ _globals['_STARTMAPPINGSESSIONRESPONSE']._serialized_start = 1046
30
+ _globals['_STARTMAPPINGSESSIONRESPONSE']._serialized_end = 1106
31
+ _globals['_GETACTIVEMAPPINGSESSIONSFORROBOTREQUEST']._serialized_start = 1108
32
+ _globals['_GETACTIVEMAPPINGSESSIONSFORROBOTREQUEST']._serialized_end = 1176
33
+ _globals['_GETACTIVEMAPPINGSESSIONSFORROBOTRESPONSE']._serialized_start = 1178
34
+ _globals['_GETACTIVEMAPPINGSESSIONSFORROBOTRESPONSE']._serialized_end = 1251
35
+ _globals['_GETMAPPINGSESSIONPOINTCLOUDREQUEST']._serialized_start = 1253
36
+ _globals['_GETMAPPINGSESSIONPOINTCLOUDREQUEST']._serialized_end = 1320
37
+ _globals['_GETMAPPINGSESSIONPOINTCLOUDRESPONSE']._serialized_start = 1322
38
+ _globals['_GETMAPPINGSESSIONPOINTCLOUDRESPONSE']._serialized_end = 1426
39
+ _globals['_LISTMAPPINGSESSIONSREQUEST']._serialized_start = 1428
40
+ _globals['_LISTMAPPINGSESSIONSREQUEST']._serialized_end = 1530
41
+ _globals['_LISTMAPPINGSESSIONSRESPONSE']._serialized_start = 1532
42
+ _globals['_LISTMAPPINGSESSIONSRESPONSE']._serialized_end = 1627
43
+ _globals['_STOPMAPPINGSESSIONREQUEST']._serialized_start = 1629
44
+ _globals['_STOPMAPPINGSESSIONREQUEST']._serialized_end = 1687
45
+ _globals['_STOPMAPPINGSESSIONRESPONSE']._serialized_start = 1689
46
+ _globals['_STOPMAPPINGSESSIONRESPONSE']._serialized_end = 1774
47
+ _globals['_GETMAPPINGSESSIONMETADATABYIDREQUEST']._serialized_start = 1776
48
+ _globals['_GETMAPPINGSESSIONMETADATABYIDREQUEST']._serialized_end = 1845
49
+ _globals['_GETMAPPINGSESSIONMETADATABYIDRESPONSE']._serialized_start = 1847
50
+ _globals['_GETMAPPINGSESSIONMETADATABYIDRESPONSE']._serialized_end = 1969
51
+ _globals['_MAPPINGMETADATA']._serialized_start = 1972
52
+ _globals['_MAPPINGMETADATA']._serialized_end = 2665
53
+ _globals['_CLOUDSLAMSERVICE']._serialized_start = 2778
54
+ _globals['_CLOUDSLAMSERVICE']._serialized_end = 3645