viam-sdk 0.45.2__py3-none-win_amd64.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 (476) hide show
  1. viam/__init__.py +71 -0
  2. viam/app/__init__.py +0 -0
  3. viam/app/_logs.py +34 -0
  4. viam/app/app_client.py +2525 -0
  5. viam/app/billing_client.py +143 -0
  6. viam/app/data_client.py +1715 -0
  7. viam/app/ml_training_client.py +251 -0
  8. viam/app/provisioning_client.py +95 -0
  9. viam/app/viam_client.py +260 -0
  10. viam/components/__init__.py +0 -0
  11. viam/components/arm/__init__.py +16 -0
  12. viam/components/arm/arm.py +223 -0
  13. viam/components/arm/client.py +124 -0
  14. viam/components/arm/service.py +123 -0
  15. viam/components/audio_input/__init__.py +18 -0
  16. viam/components/audio_input/audio_input.py +81 -0
  17. viam/components/audio_input/client.py +70 -0
  18. viam/components/audio_input/service.py +114 -0
  19. viam/components/base/__init__.py +13 -0
  20. viam/components/base/base.py +260 -0
  21. viam/components/base/client.py +153 -0
  22. viam/components/base/service.py +138 -0
  23. viam/components/board/__init__.py +9 -0
  24. viam/components/board/board.py +414 -0
  25. viam/components/board/client.py +241 -0
  26. viam/components/board/service.py +223 -0
  27. viam/components/button/__init__.py +10 -0
  28. viam/components/button/button.py +41 -0
  29. viam/components/button/client.py +52 -0
  30. viam/components/button/service.py +46 -0
  31. viam/components/camera/__init__.py +22 -0
  32. viam/components/camera/camera.py +138 -0
  33. viam/components/camera/client.py +98 -0
  34. viam/components/camera/service.py +105 -0
  35. viam/components/component_base.py +65 -0
  36. viam/components/encoder/__init__.py +18 -0
  37. viam/components/encoder/client.py +83 -0
  38. viam/components/encoder/encoder.py +118 -0
  39. viam/components/encoder/service.py +72 -0
  40. viam/components/gantry/__init__.py +11 -0
  41. viam/components/gantry/client.py +115 -0
  42. viam/components/gantry/gantry.py +156 -0
  43. viam/components/gantry/service.py +113 -0
  44. viam/components/generic/__init__.py +18 -0
  45. viam/components/generic/client.py +62 -0
  46. viam/components/generic/generic.py +76 -0
  47. viam/components/generic/service.py +40 -0
  48. viam/components/gripper/__init__.py +11 -0
  49. viam/components/gripper/client.py +85 -0
  50. viam/components/gripper/gripper.py +114 -0
  51. viam/components/gripper/service.py +81 -0
  52. viam/components/input/__init__.py +15 -0
  53. viam/components/input/client.py +194 -0
  54. viam/components/input/input.py +297 -0
  55. viam/components/input/service.py +175 -0
  56. viam/components/motor/__init__.py +11 -0
  57. viam/components/motor/client.py +168 -0
  58. viam/components/motor/motor.py +301 -0
  59. viam/components/motor/service.py +150 -0
  60. viam/components/movement_sensor/__init__.py +21 -0
  61. viam/components/movement_sensor/client.py +161 -0
  62. viam/components/movement_sensor/movement_sensor.py +253 -0
  63. viam/components/movement_sensor/service.py +146 -0
  64. viam/components/pose_tracker/__init__.py +17 -0
  65. viam/components/pose_tracker/client.py +50 -0
  66. viam/components/pose_tracker/pose_tracker.py +40 -0
  67. viam/components/pose_tracker/service.py +45 -0
  68. viam/components/power_sensor/__init__.py +17 -0
  69. viam/components/power_sensor/client.py +86 -0
  70. viam/components/power_sensor/power_sensor.py +104 -0
  71. viam/components/power_sensor/service.py +72 -0
  72. viam/components/sensor/__init__.py +18 -0
  73. viam/components/sensor/client.py +49 -0
  74. viam/components/sensor/sensor.py +48 -0
  75. viam/components/sensor/service.py +51 -0
  76. viam/components/servo/__init__.py +11 -0
  77. viam/components/servo/client.py +86 -0
  78. viam/components/servo/service.py +80 -0
  79. viam/components/servo/servo.py +114 -0
  80. viam/components/switch/__init__.py +10 -0
  81. viam/components/switch/client.py +83 -0
  82. viam/components/switch/service.py +72 -0
  83. viam/components/switch/switch.py +95 -0
  84. viam/errors.py +105 -0
  85. viam/gen/__init__.py +0 -0
  86. viam/gen/app/__init__.py +0 -0
  87. viam/gen/app/agent/__init__.py +0 -0
  88. viam/gen/app/agent/v1/__init__.py +0 -0
  89. viam/gen/app/agent/v1/agent_grpc.py +29 -0
  90. viam/gen/app/agent/v1/agent_pb2.py +47 -0
  91. viam/gen/app/agent/v1/agent_pb2.pyi +280 -0
  92. viam/gen/app/cloudslam/__init__.py +0 -0
  93. viam/gen/app/cloudslam/v1/__init__.py +0 -0
  94. viam/gen/app/cloudslam/v1/cloud_slam_grpc.py +70 -0
  95. viam/gen/app/cloudslam/v1/cloud_slam_pb2.py +54 -0
  96. viam/gen/app/cloudslam/v1/cloud_slam_pb2.pyi +384 -0
  97. viam/gen/app/data/__init__.py +0 -0
  98. viam/gen/app/data/v1/__init__.py +0 -0
  99. viam/gen/app/data/v1/data_grpc.py +206 -0
  100. viam/gen/app/data/v1/data_pb2.py +178 -0
  101. viam/gen/app/data/v1/data_pb2.pyi +1485 -0
  102. viam/gen/app/datapipelines/__init__.py +0 -0
  103. viam/gen/app/datapipelines/v1/__init__.py +0 -0
  104. viam/gen/app/datapipelines/v1/data_pipelines_grpc.py +84 -0
  105. viam/gen/app/datapipelines/v1/data_pipelines_pb2.py +56 -0
  106. viam/gen/app/datapipelines/v1/data_pipelines_pb2.pyi +370 -0
  107. viam/gen/app/dataset/__init__.py +0 -0
  108. viam/gen/app/dataset/v1/__init__.py +0 -0
  109. viam/gen/app/dataset/v1/dataset_grpc.py +60 -0
  110. viam/gen/app/dataset/v1/dataset_pb2.py +40 -0
  111. viam/gen/app/dataset/v1/dataset_pb2.pyi +179 -0
  112. viam/gen/app/datasync/__init__.py +0 -0
  113. viam/gen/app/datasync/v1/__init__.py +0 -0
  114. viam/gen/app/datasync/v1/data_sync_grpc.py +47 -0
  115. viam/gen/app/datasync/v1/data_sync_pb2.py +70 -0
  116. viam/gen/app/datasync/v1/data_sync_pb2.pyi +425 -0
  117. viam/gen/app/mlinference/__init__.py +0 -0
  118. viam/gen/app/mlinference/v1/__init__.py +0 -0
  119. viam/gen/app/mlinference/v1/ml_inference_grpc.py +28 -0
  120. viam/gen/app/mlinference/v1/ml_inference_pb2.py +23 -0
  121. viam/gen/app/mlinference/v1/ml_inference_pb2.pyi +63 -0
  122. viam/gen/app/mltraining/__init__.py +0 -0
  123. viam/gen/app/mltraining/v1/__init__.py +0 -0
  124. viam/gen/app/mltraining/v1/ml_training_grpc.py +78 -0
  125. viam/gen/app/mltraining/v1/ml_training_pb2.py +124 -0
  126. viam/gen/app/mltraining/v1/ml_training_pb2.pyi +415 -0
  127. viam/gen/app/packages/__init__.py +0 -0
  128. viam/gen/app/packages/v1/__init__.py +0 -0
  129. viam/gen/app/packages/v1/packages_grpc.py +54 -0
  130. viam/gen/app/packages/v1/packages_pb2.py +52 -0
  131. viam/gen/app/packages/v1/packages_pb2.pyi +311 -0
  132. viam/gen/app/v1/__init__.py +0 -0
  133. viam/gen/app/v1/app_grpc.py +863 -0
  134. viam/gen/app/v1/app_pb2.py +649 -0
  135. viam/gen/app/v1/app_pb2.pyi +5279 -0
  136. viam/gen/app/v1/billing_grpc.py +76 -0
  137. viam/gen/app/v1/billing_pb2.py +92 -0
  138. viam/gen/app/v1/billing_pb2.pyi +463 -0
  139. viam/gen/app/v1/end_user_grpc.py +59 -0
  140. viam/gen/app/v1/end_user_pb2.py +55 -0
  141. viam/gen/app/v1/end_user_pb2.pyi +181 -0
  142. viam/gen/app/v1/robot_grpc.py +55 -0
  143. viam/gen/app/v1/robot_pb2.py +127 -0
  144. viam/gen/app/v1/robot_pb2.pyi +1202 -0
  145. viam/gen/common/__init__.py +0 -0
  146. viam/gen/common/v1/__init__.py +0 -0
  147. viam/gen/common/v1/common_grpc.py +0 -0
  148. viam/gen/common/v1/common_pb2.py +78 -0
  149. viam/gen/common/v1/common_pb2.pyi +687 -0
  150. viam/gen/component/__init__.py +0 -0
  151. viam/gen/component/arm/__init__.py +0 -0
  152. viam/gen/component/arm/v1/__init__.py +0 -0
  153. viam/gen/component/arm/v1/arm_grpc.py +102 -0
  154. viam/gen/component/arm/v1/arm_pb2.py +74 -0
  155. viam/gen/component/arm/v1/arm_pb2.pyi +344 -0
  156. viam/gen/component/audioinput/__init__.py +0 -0
  157. viam/gen/component/audioinput/v1/__init__.py +0 -0
  158. viam/gen/component/audioinput/v1/audioinput_grpc.py +63 -0
  159. viam/gen/component/audioinput/v1/audioinput_pb2.py +45 -0
  160. viam/gen/component/audioinput/v1/audioinput_pb2.pyi +179 -0
  161. viam/gen/component/base/__init__.py +0 -0
  162. viam/gen/component/base/v1/__init__.py +0 -0
  163. viam/gen/component/base/v1/base_grpc.py +94 -0
  164. viam/gen/component/base/v1/base_pb2.py +66 -0
  165. viam/gen/component/base/v1/base_pb2.pyi +258 -0
  166. viam/gen/component/board/__init__.py +0 -0
  167. viam/gen/component/board/v1/__init__.py +0 -0
  168. viam/gen/component/board/v1/board_grpc.py +127 -0
  169. viam/gen/component/board/v1/board_pb2.py +103 -0
  170. viam/gen/component/board/v1/board_pb2.pyi +496 -0
  171. viam/gen/component/button/__init__.py +0 -0
  172. viam/gen/component/button/v1/__init__.py +0 -0
  173. viam/gen/component/button/v1/button_grpc.py +38 -0
  174. viam/gen/component/button/v1/button_pb2.py +28 -0
  175. viam/gen/component/button/v1/button_pb2.pyi +39 -0
  176. viam/gen/component/camera/__init__.py +0 -0
  177. viam/gen/component/camera/v1/__init__.py +0 -0
  178. viam/gen/component/camera/v1/camera_grpc.py +79 -0
  179. viam/gen/component/camera/v1/camera_pb2.py +67 -0
  180. viam/gen/component/camera/v1/camera_pb2.pyi +373 -0
  181. viam/gen/component/encoder/__init__.py +0 -0
  182. viam/gen/component/encoder/v1/__init__.py +0 -0
  183. viam/gen/component/encoder/v1/encoder_grpc.py +62 -0
  184. viam/gen/component/encoder/v1/encoder_pb2.py +44 -0
  185. viam/gen/component/encoder/v1/encoder_pb2.pyi +147 -0
  186. viam/gen/component/gantry/__init__.py +0 -0
  187. viam/gen/component/gantry/v1/__init__.py +0 -0
  188. viam/gen/component/gantry/v1/gantry_grpc.py +86 -0
  189. viam/gen/component/gantry/v1/gantry_pb2.py +62 -0
  190. viam/gen/component/gantry/v1/gantry_pb2.pyi +239 -0
  191. viam/gen/component/generic/__init__.py +0 -0
  192. viam/gen/component/generic/v1/__init__.py +0 -0
  193. viam/gen/component/generic/v1/generic_grpc.py +37 -0
  194. viam/gen/component/generic/v1/generic_pb2.py +23 -0
  195. viam/gen/component/generic/v1/generic_pb2.pyi +6 -0
  196. viam/gen/component/gripper/__init__.py +0 -0
  197. viam/gen/component/gripper/v1/__init__.py +0 -0
  198. viam/gen/component/gripper/v1/gripper_grpc.py +70 -0
  199. viam/gen/component/gripper/v1/gripper_pb2.py +48 -0
  200. viam/gen/component/gripper/v1/gripper_pb2.pyi +137 -0
  201. viam/gen/component/inputcontroller/__init__.py +0 -0
  202. viam/gen/component/inputcontroller/v1/__init__.py +0 -0
  203. viam/gen/component/inputcontroller/v1/input_controller_grpc.py +71 -0
  204. viam/gen/component/inputcontroller/v1/input_controller_pb2.py +55 -0
  205. viam/gen/component/inputcontroller/v1/input_controller_pb2.pyi +243 -0
  206. viam/gen/component/motor/__init__.py +0 -0
  207. viam/gen/component/motor/v1/__init__.py +0 -0
  208. viam/gen/component/motor/v1/motor_grpc.py +118 -0
  209. viam/gen/component/motor/v1/motor_pb2.py +86 -0
  210. viam/gen/component/motor/v1/motor_pb2.pyi +368 -0
  211. viam/gen/component/movementsensor/__init__.py +0 -0
  212. viam/gen/component/movementsensor/v1/__init__.py +0 -0
  213. viam/gen/component/movementsensor/v1/movementsensor_grpc.py +110 -0
  214. viam/gen/component/movementsensor/v1/movementsensor_pb2.py +78 -0
  215. viam/gen/component/movementsensor/v1/movementsensor_pb2.pyi +384 -0
  216. viam/gen/component/posetracker/__init__.py +0 -0
  217. viam/gen/component/posetracker/v1/__init__.py +0 -0
  218. viam/gen/component/posetracker/v1/pose_tracker_grpc.py +46 -0
  219. viam/gen/component/posetracker/v1/pose_tracker_pb2.py +34 -0
  220. viam/gen/component/posetracker/v1/pose_tracker_pb2.pyi +79 -0
  221. viam/gen/component/powersensor/__init__.py +0 -0
  222. viam/gen/component/powersensor/v1/__init__.py +0 -0
  223. viam/gen/component/powersensor/v1/powersensor_grpc.py +62 -0
  224. viam/gen/component/powersensor/v1/powersensor_pb2.py +42 -0
  225. viam/gen/component/powersensor/v1/powersensor_pb2.pyi +124 -0
  226. viam/gen/component/sensor/__init__.py +0 -0
  227. viam/gen/component/sensor/v1/__init__.py +0 -0
  228. viam/gen/component/sensor/v1/sensor_grpc.py +45 -0
  229. viam/gen/component/sensor/v1/sensor_pb2.py +25 -0
  230. viam/gen/component/sensor/v1/sensor_pb2.pyi +6 -0
  231. viam/gen/component/servo/__init__.py +0 -0
  232. viam/gen/component/servo/v1/__init__.py +0 -0
  233. viam/gen/component/servo/v1/servo_grpc.py +70 -0
  234. viam/gen/component/servo/v1/servo_pb2.py +50 -0
  235. viam/gen/component/servo/v1/servo_pb2.pyi +150 -0
  236. viam/gen/component/switch/__init__.py +0 -0
  237. viam/gen/component/switch/v1/__init__.py +0 -0
  238. viam/gen/component/switch/v1/switch_grpc.py +54 -0
  239. viam/gen/component/switch/v1/switch_pb2.py +40 -0
  240. viam/gen/component/switch/v1/switch_pb2.pyi +109 -0
  241. viam/gen/component/testecho/__init__.py +0 -0
  242. viam/gen/component/testecho/v1/__init__.py +0 -0
  243. viam/gen/component/testecho/v1/testecho_grpc.py +52 -0
  244. viam/gen/component/testecho/v1/testecho_pb2.py +36 -0
  245. viam/gen/component/testecho/v1/testecho_pb2.pyi +114 -0
  246. viam/gen/module/__init__.py +0 -0
  247. viam/gen/module/v1/__init__.py +0 -0
  248. viam/gen/module/v1/module_grpc.py +61 -0
  249. viam/gen/module/v1/module_pb2.py +43 -0
  250. viam/gen/module/v1/module_pb2.pyi +211 -0
  251. viam/gen/proto/__init__.py +0 -0
  252. viam/gen/proto/rpc/__init__.py +0 -0
  253. viam/gen/proto/rpc/examples/__init__.py +0 -0
  254. viam/gen/proto/rpc/examples/echo/__init__.py +0 -0
  255. viam/gen/proto/rpc/examples/echo/v1/__init__.py +0 -0
  256. viam/gen/proto/rpc/examples/echo/v1/echo_grpc.py +44 -0
  257. viam/gen/proto/rpc/examples/echo/v1/echo_pb2.py +32 -0
  258. viam/gen/proto/rpc/examples/echo/v1/echo_pb2.pyi +87 -0
  259. viam/gen/proto/rpc/examples/echoresource/__init__.py +0 -0
  260. viam/gen/proto/rpc/examples/echoresource/v1/__init__.py +0 -0
  261. viam/gen/proto/rpc/examples/echoresource/v1/echoresource_grpc.py +43 -0
  262. viam/gen/proto/rpc/examples/echoresource/v1/echoresource_pb2.py +29 -0
  263. viam/gen/proto/rpc/examples/echoresource/v1/echoresource_pb2.pyi +93 -0
  264. viam/gen/proto/rpc/v1/__init__.py +0 -0
  265. viam/gen/proto/rpc/v1/auth_grpc.py +47 -0
  266. viam/gen/proto/rpc/v1/auth_pb2.py +34 -0
  267. viam/gen/proto/rpc/v1/auth_pb2.pyi +92 -0
  268. viam/gen/proto/rpc/webrtc/__init__.py +0 -0
  269. viam/gen/proto/rpc/webrtc/v1/__init__.py +0 -0
  270. viam/gen/proto/rpc/webrtc/v1/grpc_grpc.py +0 -0
  271. viam/gen/proto/rpc/webrtc/v1/grpc_pb2.py +43 -0
  272. viam/gen/proto/rpc/webrtc/v1/grpc_pb2.pyi +304 -0
  273. viam/gen/proto/rpc/webrtc/v1/signaling_grpc.py +54 -0
  274. viam/gen/proto/rpc/webrtc/v1/signaling_pb2.py +70 -0
  275. viam/gen/proto/rpc/webrtc/v1/signaling_pb2.pyi +496 -0
  276. viam/gen/provisioning/__init__.py +0 -0
  277. viam/gen/provisioning/v1/__init__.py +0 -0
  278. viam/gen/provisioning/v1/provisioning_grpc.py +51 -0
  279. viam/gen/provisioning/v1/provisioning_pb2.py +39 -0
  280. viam/gen/provisioning/v1/provisioning_pb2.pyi +188 -0
  281. viam/gen/robot/__init__.py +0 -0
  282. viam/gen/robot/v1/__init__.py +0 -0
  283. viam/gen/robot/v1/robot_grpc.py +208 -0
  284. viam/gen/robot/v1/robot_pb2.py +188 -0
  285. viam/gen/robot/v1/robot_pb2.pyi +1020 -0
  286. viam/gen/service/__init__.py +0 -0
  287. viam/gen/service/datamanager/__init__.py +0 -0
  288. viam/gen/service/datamanager/v1/__init__.py +0 -0
  289. viam/gen/service/datamanager/v1/data_manager_grpc.py +38 -0
  290. viam/gen/service/datamanager/v1/data_manager_pb2.py +28 -0
  291. viam/gen/service/datamanager/v1/data_manager_pb2.pyi +39 -0
  292. viam/gen/service/discovery/__init__.py +0 -0
  293. viam/gen/service/discovery/v1/__init__.py +0 -0
  294. viam/gen/service/discovery/v1/discovery_grpc.py +39 -0
  295. viam/gen/service/discovery/v1/discovery_pb2.py +29 -0
  296. viam/gen/service/discovery/v1/discovery_pb2.pyi +51 -0
  297. viam/gen/service/generic/__init__.py +0 -0
  298. viam/gen/service/generic/v1/__init__.py +0 -0
  299. viam/gen/service/generic/v1/generic_grpc.py +29 -0
  300. viam/gen/service/generic/v1/generic_pb2.py +21 -0
  301. viam/gen/service/generic/v1/generic_pb2.pyi +6 -0
  302. viam/gen/service/mlmodel/__init__.py +0 -0
  303. viam/gen/service/mlmodel/v1/__init__.py +0 -0
  304. viam/gen/service/mlmodel/v1/mlmodel_grpc.py +37 -0
  305. viam/gen/service/mlmodel/v1/mlmodel_pb2.py +83 -0
  306. viam/gen/service/mlmodel/v1/mlmodel_pb2.pyi +480 -0
  307. viam/gen/service/motion/__init__.py +0 -0
  308. viam/gen/service/motion/v1/__init__.py +0 -0
  309. viam/gen/service/motion/v1/motion_grpc.py +87 -0
  310. viam/gen/service/motion/v1/motion_pb2.py +97 -0
  311. viam/gen/service/motion/v1/motion_pb2.pyi +838 -0
  312. viam/gen/service/navigation/__init__.py +0 -0
  313. viam/gen/service/navigation/v1/__init__.py +0 -0
  314. viam/gen/service/navigation/v1/navigation_grpc.py +102 -0
  315. viam/gen/service/navigation/v1/navigation_pb2.py +84 -0
  316. viam/gen/service/navigation/v1/navigation_pb2.pyi +419 -0
  317. viam/gen/service/sensors/__init__.py +0 -0
  318. viam/gen/service/sensors/v1/__init__.py +0 -0
  319. viam/gen/service/sensors/v1/sensors_grpc.py +46 -0
  320. viam/gen/service/sensors/v1/sensors_pb2.py +68 -0
  321. viam/gen/service/sensors/v1/sensors_pb2.pyi +137 -0
  322. viam/gen/service/shell/__init__.py +0 -0
  323. viam/gen/service/shell/v1/__init__.py +0 -0
  324. viam/gen/service/shell/v1/shell_grpc.py +55 -0
  325. viam/gen/service/shell/v1/shell_pb2.py +45 -0
  326. viam/gen/service/shell/v1/shell_pb2.pyi +307 -0
  327. viam/gen/service/slam/__init__.py +0 -0
  328. viam/gen/service/slam/v1/__init__.py +0 -0
  329. viam/gen/service/slam/v1/slam_grpc.py +61 -0
  330. viam/gen/service/slam/v1/slam_pb2.py +51 -0
  331. viam/gen/service/slam/v1/slam_pb2.pyi +213 -0
  332. viam/gen/service/vision/__init__.py +0 -0
  333. viam/gen/service/vision/v1/__init__.py +0 -0
  334. viam/gen/service/vision/v1/vision_grpc.py +87 -0
  335. viam/gen/service/vision/v1/vision_pb2.py +69 -0
  336. viam/gen/service/vision/v1/vision_pb2.pyi +454 -0
  337. viam/gen/stream/__init__.py +0 -0
  338. viam/gen/stream/v1/__init__.py +0 -0
  339. viam/gen/stream/v1/stream_grpc.py +59 -0
  340. viam/gen/stream/v1/stream_pb2.py +39 -0
  341. viam/gen/stream/v1/stream_pb2.pyi +161 -0
  342. viam/gen/tagger/__init__.py +0 -0
  343. viam/gen/tagger/v1/__init__.py +0 -0
  344. viam/gen/tagger/v1/tagger_grpc.py +0 -0
  345. viam/gen/tagger/v1/tagger_pb2.py +16 -0
  346. viam/gen/tagger/v1/tagger_pb2.pyi +15 -0
  347. viam/logging.py +216 -0
  348. viam/media/__init__.py +0 -0
  349. viam/media/audio.py +16 -0
  350. viam/media/utils/__init__.py +0 -0
  351. viam/media/utils/pil/__init__.py +51 -0
  352. viam/media/utils/pil/viam_rgba_plugin.py +73 -0
  353. viam/media/viam_rgba.py +10 -0
  354. viam/media/video.py +217 -0
  355. viam/module/__init__.py +5 -0
  356. viam/module/module.py +281 -0
  357. viam/module/service.py +66 -0
  358. viam/module/types.py +23 -0
  359. viam/operations.py +124 -0
  360. viam/proto/__init__.py +0 -0
  361. viam/proto/app/__init__.py +554 -0
  362. viam/proto/app/agent/__init__.py +28 -0
  363. viam/proto/app/billing.py +58 -0
  364. viam/proto/app/cloudslam/__init__.py +48 -0
  365. viam/proto/app/data/__init__.py +138 -0
  366. viam/proto/app/datapipelines/__init__.py +56 -0
  367. viam/proto/app/dataset/__init__.py +36 -0
  368. viam/proto/app/datasync/__init__.py +44 -0
  369. viam/proto/app/end_user.py +34 -0
  370. viam/proto/app/mlinference/__init__.py +15 -0
  371. viam/proto/app/mltraining/__init__.py +52 -0
  372. viam/proto/app/packages/__init__.py +38 -0
  373. viam/proto/app/robot.py +84 -0
  374. viam/proto/common/__init__.py +66 -0
  375. viam/proto/component/__init__.py +0 -0
  376. viam/proto/component/arm/__init__.py +48 -0
  377. viam/proto/component/audioinput/__init__.py +30 -0
  378. viam/proto/component/base/__init__.py +42 -0
  379. viam/proto/component/board/__init__.py +62 -0
  380. viam/proto/component/button/__init__.py +15 -0
  381. viam/proto/component/camera/__init__.py +46 -0
  382. viam/proto/component/encoder/__init__.py +28 -0
  383. viam/proto/component/gantry/__init__.py +40 -0
  384. viam/proto/component/generic/__init__.py +12 -0
  385. viam/proto/component/gripper/__init__.py +30 -0
  386. viam/proto/component/inputcontroller/__init__.py +38 -0
  387. viam/proto/component/motor/__init__.py +56 -0
  388. viam/proto/component/movementsensor/__init__.py +50 -0
  389. viam/proto/component/posetracker/__init__.py +19 -0
  390. viam/proto/component/powersensor/__init__.py +30 -0
  391. viam/proto/component/sensor/__init__.py +12 -0
  392. viam/proto/component/servo/__init__.py +32 -0
  393. viam/proto/component/switch/__init__.py +26 -0
  394. viam/proto/component/testecho/__init__.py +30 -0
  395. viam/proto/module/__init__.py +38 -0
  396. viam/proto/provisioning/__init__.py +36 -0
  397. viam/proto/robot/__init__.py +130 -0
  398. viam/proto/rpc/__init__.py +0 -0
  399. viam/proto/rpc/auth.py +34 -0
  400. viam/proto/rpc/examples/__init__.py +0 -0
  401. viam/proto/rpc/examples/echo/__init__.py +26 -0
  402. viam/proto/rpc/examples/echoresource/__init__.py +30 -0
  403. viam/proto/rpc/webrtc/__init__.py +0 -0
  404. viam/proto/rpc/webrtc/grpc.py +36 -0
  405. viam/proto/rpc/webrtc/signaling.py +58 -0
  406. viam/proto/service/__init__.py +0 -0
  407. viam/proto/service/datamanager/__init__.py +19 -0
  408. viam/proto/service/discovery/__init__.py +15 -0
  409. viam/proto/service/generic/__init__.py +12 -0
  410. viam/proto/service/mlmodel/__init__.py +54 -0
  411. viam/proto/service/motion/__init__.py +68 -0
  412. viam/proto/service/navigation/__init__.py +58 -0
  413. viam/proto/service/sensors/__init__.py +18 -0
  414. viam/proto/service/shell/__init__.py +36 -0
  415. viam/proto/service/slam/__init__.py +36 -0
  416. viam/proto/service/vision/__init__.py +46 -0
  417. viam/proto/stream/__init__.py +36 -0
  418. viam/proto/tagger/__init__.py +6 -0
  419. viam/py.typed +0 -0
  420. viam/resource/__init__.py +0 -0
  421. viam/resource/base.py +123 -0
  422. viam/resource/easy_resource.py +153 -0
  423. viam/resource/manager.py +126 -0
  424. viam/resource/registry.py +199 -0
  425. viam/resource/rpc_client_base.py +65 -0
  426. viam/resource/rpc_service_base.py +48 -0
  427. viam/resource/types.py +213 -0
  428. viam/robot/__init__.py +0 -0
  429. viam/robot/client.py +909 -0
  430. viam/robot/service.py +69 -0
  431. viam/rpc/__init__.py +0 -0
  432. viam/rpc/dial.py +420 -0
  433. viam/rpc/libviam_rust_utils.dll +0 -0
  434. viam/rpc/server.py +201 -0
  435. viam/rpc/signaling.py +29 -0
  436. viam/rpc/types.py +22 -0
  437. viam/services/__init__.py +0 -0
  438. viam/services/discovery/__init__.py +12 -0
  439. viam/services/discovery/client.py +55 -0
  440. viam/services/discovery/discovery.py +52 -0
  441. viam/services/discovery/service.py +43 -0
  442. viam/services/generic/__init__.py +18 -0
  443. viam/services/generic/client.py +58 -0
  444. viam/services/generic/generic.py +58 -0
  445. viam/services/generic/service.py +29 -0
  446. viam/services/mlmodel/__init__.py +24 -0
  447. viam/services/mlmodel/client.py +37 -0
  448. viam/services/mlmodel/mlmodel.py +78 -0
  449. viam/services/mlmodel/service.py +38 -0
  450. viam/services/mlmodel/utils.py +101 -0
  451. viam/services/motion/__init__.py +17 -0
  452. viam/services/motion/client.py +215 -0
  453. viam/services/motion/motion.py +378 -0
  454. viam/services/motion/service.py +132 -0
  455. viam/services/navigation/__init__.py +11 -0
  456. viam/services/navigation/client.py +99 -0
  457. viam/services/navigation/navigation.py +250 -0
  458. viam/services/navigation/service.py +137 -0
  459. viam/services/service_base.py +78 -0
  460. viam/services/service_client_base.py +46 -0
  461. viam/services/slam/__init__.py +17 -0
  462. viam/services/slam/client.py +62 -0
  463. viam/services/slam/service.py +75 -0
  464. viam/services/slam/slam.py +111 -0
  465. viam/services/vision/__init__.py +15 -0
  466. viam/services/vision/client.py +206 -0
  467. viam/services/vision/service.py +146 -0
  468. viam/services/vision/vision.py +315 -0
  469. viam/sessions_client.py +245 -0
  470. viam/streams.py +44 -0
  471. viam/utils.py +365 -0
  472. viam/version_metadata.py +4 -0
  473. viam_sdk-0.45.2.dist-info/METADATA +157 -0
  474. viam_sdk-0.45.2.dist-info/RECORD +476 -0
  475. viam_sdk-0.45.2.dist-info/WHEEL +4 -0
  476. viam_sdk-0.45.2.dist-info/licenses/LICENSE +202 -0
@@ -0,0 +1,307 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+ import builtins
6
+ import collections.abc
7
+ import google.protobuf.descriptor
8
+ import google.protobuf.internal.containers
9
+ import google.protobuf.internal.enum_type_wrapper
10
+ import google.protobuf.message
11
+ import google.protobuf.struct_pb2
12
+ import google.protobuf.timestamp_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 _CopyFilesSourceType:
22
+ ValueType = typing.NewType('ValueType', builtins.int)
23
+ V: typing_extensions.TypeAlias = ValueType
24
+
25
+ class _CopyFilesSourceTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CopyFilesSourceType.ValueType], builtins.type):
26
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
27
+ COPY_FILES_SOURCE_TYPE_UNSPECIFIED: _CopyFilesSourceType.ValueType
28
+ COPY_FILES_SOURCE_TYPE_SINGLE_FILE: _CopyFilesSourceType.ValueType
29
+ COPY_FILES_SOURCE_TYPE_SINGLE_DIRECTORY: _CopyFilesSourceType.ValueType
30
+ COPY_FILES_SOURCE_TYPE_MULTIPLE_FILES: _CopyFilesSourceType.ValueType
31
+
32
+ class CopyFilesSourceType(_CopyFilesSourceType, metaclass=_CopyFilesSourceTypeEnumTypeWrapper):
33
+ """CopyFilesSourceType indicates what will be copied. It's important
34
+ to disambiguate the single directory case from the multiple files
35
+ case in order to indicate that the user's intent is to copy a directory
36
+ into a single location which may result in a new top-level directory versus
37
+ the cause of multiples files that always go into the existing target destination.
38
+ """
39
+ COPY_FILES_SOURCE_TYPE_UNSPECIFIED: CopyFilesSourceType.ValueType
40
+ COPY_FILES_SOURCE_TYPE_SINGLE_FILE: CopyFilesSourceType.ValueType
41
+ COPY_FILES_SOURCE_TYPE_SINGLE_DIRECTORY: CopyFilesSourceType.ValueType
42
+ COPY_FILES_SOURCE_TYPE_MULTIPLE_FILES: CopyFilesSourceType.ValueType
43
+ global___CopyFilesSourceType = CopyFilesSourceType
44
+
45
+ @typing.final
46
+ class ShellRequest(google.protobuf.message.Message):
47
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
48
+ NAME_FIELD_NUMBER: builtins.int
49
+ DATA_IN_FIELD_NUMBER: builtins.int
50
+ EXTRA_FIELD_NUMBER: builtins.int
51
+ name: builtins.str
52
+ data_in: builtins.str
53
+
54
+ @property
55
+ def extra(self) -> google.protobuf.struct_pb2.Struct:
56
+ """Additional arguments to the method"""
57
+
58
+ def __init__(self, *, name: builtins.str=..., data_in: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
59
+ ...
60
+
61
+ def HasField(self, field_name: typing.Literal['extra', b'extra']) -> builtins.bool:
62
+ ...
63
+
64
+ def ClearField(self, field_name: typing.Literal['data_in', b'data_in', 'extra', b'extra', 'name', b'name']) -> None:
65
+ ...
66
+ global___ShellRequest = ShellRequest
67
+
68
+ @typing.final
69
+ class ShellResponse(google.protobuf.message.Message):
70
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
71
+ DATA_OUT_FIELD_NUMBER: builtins.int
72
+ DATA_ERR_FIELD_NUMBER: builtins.int
73
+ EOF_FIELD_NUMBER: builtins.int
74
+ data_out: builtins.str
75
+ data_err: builtins.str
76
+ eof: builtins.bool
77
+
78
+ def __init__(self, *, data_out: builtins.str=..., data_err: builtins.str=..., eof: builtins.bool=...) -> None:
79
+ ...
80
+
81
+ def ClearField(self, field_name: typing.Literal['data_err', b'data_err', 'data_out', b'data_out', 'eof', b'eof']) -> None:
82
+ ...
83
+ global___ShellResponse = ShellResponse
84
+
85
+ @typing.final
86
+ class FileData(google.protobuf.message.Message):
87
+ """FileData contains partial (sometimes complete) information about a File.
88
+ When transmitting FileData with CopyFilesToMachine and CopyFilesFromMachine,
89
+ it MUST initially contain its name, size, and is_dir. Depending on whether
90
+ preservation is in use, the mod_time and mode fields may be initially set
91
+ as well. On all transmissions, data and eof must be set. Because files are
92
+ sent one-by-one, it is currently permitted to exclude the initially set fields.
93
+ If this ever changes, a new scheme should be used for identifying files (like a number)
94
+ in order to reduce data transmission while allowing out-of-order transfers.
95
+ eof must be true and its own message once no more data is to be sent for this file.
96
+ """
97
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
98
+ NAME_FIELD_NUMBER: builtins.int
99
+ SIZE_FIELD_NUMBER: builtins.int
100
+ IS_DIR_FIELD_NUMBER: builtins.int
101
+ DATA_FIELD_NUMBER: builtins.int
102
+ EOF_FIELD_NUMBER: builtins.int
103
+ MOD_TIME_FIELD_NUMBER: builtins.int
104
+ MODE_FIELD_NUMBER: builtins.int
105
+ name: builtins.str
106
+ size: builtins.int
107
+ is_dir: builtins.bool
108
+ data: builtins.bytes
109
+ eof: builtins.bool
110
+ mode: builtins.int
111
+
112
+ @property
113
+ def mod_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
114
+ """Note(erd): maybe support access time in the future if needed"""
115
+
116
+ def __init__(self, *, name: builtins.str=..., size: builtins.int=..., is_dir: builtins.bool=..., data: builtins.bytes=..., eof: builtins.bool=..., mod_time: google.protobuf.timestamp_pb2.Timestamp | None=..., mode: builtins.int | None=...) -> None:
117
+ ...
118
+
119
+ def HasField(self, field_name: typing.Literal['_mod_time', b'_mod_time', '_mode', b'_mode', 'mod_time', b'mod_time', 'mode', b'mode']) -> builtins.bool:
120
+ ...
121
+
122
+ def ClearField(self, field_name: typing.Literal['_mod_time', b'_mod_time', '_mode', b'_mode', 'data', b'data', 'eof', b'eof', 'is_dir', b'is_dir', 'mod_time', b'mod_time', 'mode', b'mode', 'name', b'name', 'size', b'size']) -> None:
123
+ ...
124
+
125
+ @typing.overload
126
+ def WhichOneof(self, oneof_group: typing.Literal['_mod_time', b'_mod_time']) -> typing.Literal['mod_time'] | None:
127
+ ...
128
+
129
+ @typing.overload
130
+ def WhichOneof(self, oneof_group: typing.Literal['_mode', b'_mode']) -> typing.Literal['mode'] | None:
131
+ ...
132
+ global___FileData = FileData
133
+
134
+ @typing.final
135
+ class CopyFilesToMachineRequestMetadata(google.protobuf.message.Message):
136
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
137
+ NAME_FIELD_NUMBER: builtins.int
138
+ SOURCE_TYPE_FIELD_NUMBER: builtins.int
139
+ DESTINATION_FIELD_NUMBER: builtins.int
140
+ PRESERVE_FIELD_NUMBER: builtins.int
141
+ EXTRA_FIELD_NUMBER: builtins.int
142
+ name: builtins.str
143
+ 'name is the service name.'
144
+ source_type: global___CopyFilesSourceType.ValueType
145
+ 'source_type is the type of files that will be transmitted in this request stream.'
146
+ destination: builtins.str
147
+ 'destination is where the files should be placed. The receiver can choose to\n reasonably modify this destination based on its implementation semantics.\n '
148
+ preserve: builtins.bool
149
+ 'preserve indicates the the receiver should use the metadata in the file to reflect\n the same state in its filesystem as applicable.\n '
150
+
151
+ @property
152
+ def extra(self) -> google.protobuf.struct_pb2.Struct:
153
+ """Additional arguments to the method"""
154
+
155
+ def __init__(self, *, name: builtins.str=..., source_type: global___CopyFilesSourceType.ValueType=..., destination: builtins.str=..., preserve: builtins.bool=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
156
+ ...
157
+
158
+ def HasField(self, field_name: typing.Literal['extra', b'extra']) -> builtins.bool:
159
+ ...
160
+
161
+ def ClearField(self, field_name: typing.Literal['destination', b'destination', 'extra', b'extra', 'name', b'name', 'preserve', b'preserve', 'source_type', b'source_type']) -> None:
162
+ ...
163
+ global___CopyFilesToMachineRequestMetadata = CopyFilesToMachineRequestMetadata
164
+
165
+ @typing.final
166
+ class CopyFilesToMachineRequest(google.protobuf.message.Message):
167
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
168
+ METADATA_FIELD_NUMBER: builtins.int
169
+ FILE_DATA_FIELD_NUMBER: builtins.int
170
+
171
+ @property
172
+ def metadata(self) -> global___CopyFilesToMachineRequestMetadata:
173
+ """metadata is sent first and only once."""
174
+
175
+ @property
176
+ def file_data(self) -> global___FileData:
177
+ """file_data is sent only after metadata. All data MUST be sent
178
+ in order per-file.
179
+ """
180
+
181
+ def __init__(self, *, metadata: global___CopyFilesToMachineRequestMetadata | None=..., file_data: global___FileData | None=...) -> None:
182
+ ...
183
+
184
+ def HasField(self, field_name: typing.Literal['file_data', b'file_data', 'metadata', b'metadata', 'request', b'request']) -> builtins.bool:
185
+ ...
186
+
187
+ def ClearField(self, field_name: typing.Literal['file_data', b'file_data', 'metadata', b'metadata', 'request', b'request']) -> None:
188
+ ...
189
+
190
+ def WhichOneof(self, oneof_group: typing.Literal['request', b'request']) -> typing.Literal['metadata', 'file_data'] | None:
191
+ ...
192
+ global___CopyFilesToMachineRequest = CopyFilesToMachineRequest
193
+
194
+ @typing.final
195
+ class CopyFilesToMachineResponse(google.protobuf.message.Message):
196
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
197
+ ACK_LAST_FILE_FIELD_NUMBER: builtins.int
198
+ ack_last_file: builtins.bool
199
+ 'value does not matter here but responses must be sent after every\n file has been received.\n '
200
+
201
+ def __init__(self, *, ack_last_file: builtins.bool=...) -> None:
202
+ ...
203
+
204
+ def ClearField(self, field_name: typing.Literal['ack_last_file', b'ack_last_file']) -> None:
205
+ ...
206
+ global___CopyFilesToMachineResponse = CopyFilesToMachineResponse
207
+
208
+ @typing.final
209
+ class CopyFilesFromMachineRequestMetadata(google.protobuf.message.Message):
210
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
211
+ NAME_FIELD_NUMBER: builtins.int
212
+ PATHS_FIELD_NUMBER: builtins.int
213
+ ALLOW_RECURSION_FIELD_NUMBER: builtins.int
214
+ PRESERVE_FIELD_NUMBER: builtins.int
215
+ EXTRA_FIELD_NUMBER: builtins.int
216
+ name: builtins.str
217
+ 'name is the service name.'
218
+ allow_recursion: builtins.bool
219
+ 'allow_recursion indicates if directories should be recursed into. If\n a directory is encountered and this is false, an error MUST occur.\n '
220
+ preserve: builtins.bool
221
+ "preserve indicates the the receiver should provide the metadata in the file\n to reflect the same state in the sender's filesystem as applicable.\n "
222
+
223
+ @property
224
+ def paths(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
225
+ """paths are the paths to copy from and send back over the wire."""
226
+
227
+ @property
228
+ def extra(self) -> google.protobuf.struct_pb2.Struct:
229
+ """Additional arguments to the method"""
230
+
231
+ def __init__(self, *, name: builtins.str=..., paths: collections.abc.Iterable[builtins.str] | None=..., allow_recursion: builtins.bool=..., preserve: builtins.bool=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
232
+ ...
233
+
234
+ def HasField(self, field_name: typing.Literal['extra', b'extra']) -> builtins.bool:
235
+ ...
236
+
237
+ def ClearField(self, field_name: typing.Literal['allow_recursion', b'allow_recursion', 'extra', b'extra', 'name', b'name', 'paths', b'paths', 'preserve', b'preserve']) -> None:
238
+ ...
239
+ global___CopyFilesFromMachineRequestMetadata = CopyFilesFromMachineRequestMetadata
240
+
241
+ @typing.final
242
+ class CopyFilesFromMachineRequest(google.protobuf.message.Message):
243
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
244
+ METADATA_FIELD_NUMBER: builtins.int
245
+ ACK_LAST_FILE_FIELD_NUMBER: builtins.int
246
+ ack_last_file: builtins.bool
247
+ 'ack_last_file is sent only after metadata and after each file has been received.\n The value does not matter.\n '
248
+
249
+ @property
250
+ def metadata(self) -> global___CopyFilesFromMachineRequestMetadata:
251
+ """metadata is sent first and only once."""
252
+
253
+ def __init__(self, *, metadata: global___CopyFilesFromMachineRequestMetadata | None=..., ack_last_file: builtins.bool=...) -> None:
254
+ ...
255
+
256
+ def HasField(self, field_name: typing.Literal['ack_last_file', b'ack_last_file', 'metadata', b'metadata', 'request', b'request']) -> builtins.bool:
257
+ ...
258
+
259
+ def ClearField(self, field_name: typing.Literal['ack_last_file', b'ack_last_file', 'metadata', b'metadata', 'request', b'request']) -> None:
260
+ ...
261
+
262
+ def WhichOneof(self, oneof_group: typing.Literal['request', b'request']) -> typing.Literal['metadata', 'ack_last_file'] | None:
263
+ ...
264
+ global___CopyFilesFromMachineRequest = CopyFilesFromMachineRequest
265
+
266
+ @typing.final
267
+ class CopyFilesFromMachineResponseMetadata(google.protobuf.message.Message):
268
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
269
+ SOURCE_TYPE_FIELD_NUMBER: builtins.int
270
+ source_type: global___CopyFilesSourceType.ValueType
271
+ 'source_type is the type of files that will be transmitted in this response stream.'
272
+
273
+ def __init__(self, *, source_type: global___CopyFilesSourceType.ValueType=...) -> None:
274
+ ...
275
+
276
+ def ClearField(self, field_name: typing.Literal['source_type', b'source_type']) -> None:
277
+ ...
278
+ global___CopyFilesFromMachineResponseMetadata = CopyFilesFromMachineResponseMetadata
279
+
280
+ @typing.final
281
+ class CopyFilesFromMachineResponse(google.protobuf.message.Message):
282
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
283
+ METADATA_FIELD_NUMBER: builtins.int
284
+ FILE_DATA_FIELD_NUMBER: builtins.int
285
+
286
+ @property
287
+ def metadata(self) -> global___CopyFilesFromMachineResponseMetadata:
288
+ """metadata is sent first and only once."""
289
+
290
+ @property
291
+ def file_data(self) -> global___FileData:
292
+ """file_data is sent only after metadata. All data MUST be sent
293
+ in order per-file.
294
+ """
295
+
296
+ def __init__(self, *, metadata: global___CopyFilesFromMachineResponseMetadata | None=..., file_data: global___FileData | None=...) -> None:
297
+ ...
298
+
299
+ def HasField(self, field_name: typing.Literal['file_data', b'file_data', 'metadata', b'metadata', 'response', b'response']) -> builtins.bool:
300
+ ...
301
+
302
+ def ClearField(self, field_name: typing.Literal['file_data', b'file_data', 'metadata', b'metadata', 'response', b'response']) -> None:
303
+ ...
304
+
305
+ def WhichOneof(self, oneof_group: typing.Literal['response', b'response']) -> typing.Literal['metadata', 'file_data'] | None:
306
+ ...
307
+ global___CopyFilesFromMachineResponse = CopyFilesFromMachineResponse
File without changes
File without changes
@@ -0,0 +1,61 @@
1
+ import abc
2
+ import typing
3
+ import grpclib.const
4
+ import grpclib.client
5
+ import grpclib.exceptions
6
+ if typing.TYPE_CHECKING:
7
+ import grpclib.server
8
+ from .... import common
9
+ import google.api.annotations_pb2
10
+ from .... import service
11
+
12
+ class SLAMServiceBase(abc.ABC):
13
+
14
+ @abc.abstractmethod
15
+ async def GetPosition(self, stream: 'grpclib.server.Stream[service.slam.v1.slam_pb2.GetPositionRequest, service.slam.v1.slam_pb2.GetPositionResponse]') -> None:
16
+ pass
17
+
18
+ @abc.abstractmethod
19
+ async def GetPointCloudMap(self, stream: 'grpclib.server.Stream[service.slam.v1.slam_pb2.GetPointCloudMapRequest, service.slam.v1.slam_pb2.GetPointCloudMapResponse]') -> None:
20
+ pass
21
+
22
+ @abc.abstractmethod
23
+ async def GetInternalState(self, stream: 'grpclib.server.Stream[service.slam.v1.slam_pb2.GetInternalStateRequest, service.slam.v1.slam_pb2.GetInternalStateResponse]') -> None:
24
+ pass
25
+
26
+ @abc.abstractmethod
27
+ async def GetProperties(self, stream: 'grpclib.server.Stream[service.slam.v1.slam_pb2.GetPropertiesRequest, service.slam.v1.slam_pb2.GetPropertiesResponse]') -> None:
28
+ pass
29
+
30
+ @abc.abstractmethod
31
+ async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None:
32
+ pass
33
+
34
+ def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]:
35
+ return {'/viam.service.slam.v1.SLAMService/GetPosition': grpclib.const.Handler(self.GetPosition, grpclib.const.Cardinality.UNARY_UNARY, service.slam.v1.slam_pb2.GetPositionRequest, service.slam.v1.slam_pb2.GetPositionResponse), '/viam.service.slam.v1.SLAMService/GetPointCloudMap': grpclib.const.Handler(self.GetPointCloudMap, grpclib.const.Cardinality.UNARY_STREAM, service.slam.v1.slam_pb2.GetPointCloudMapRequest, service.slam.v1.slam_pb2.GetPointCloudMapResponse), '/viam.service.slam.v1.SLAMService/GetInternalState': grpclib.const.Handler(self.GetInternalState, grpclib.const.Cardinality.UNARY_STREAM, service.slam.v1.slam_pb2.GetInternalStateRequest, service.slam.v1.slam_pb2.GetInternalStateResponse), '/viam.service.slam.v1.SLAMService/GetProperties': grpclib.const.Handler(self.GetProperties, grpclib.const.Cardinality.UNARY_UNARY, service.slam.v1.slam_pb2.GetPropertiesRequest, service.slam.v1.slam_pb2.GetPropertiesResponse), '/viam.service.slam.v1.SLAMService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)}
36
+
37
+ class UnimplementedSLAMServiceBase(SLAMServiceBase):
38
+
39
+ async def GetPosition(self, stream: 'grpclib.server.Stream[service.slam.v1.slam_pb2.GetPositionRequest, service.slam.v1.slam_pb2.GetPositionResponse]') -> None:
40
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
41
+
42
+ async def GetPointCloudMap(self, stream: 'grpclib.server.Stream[service.slam.v1.slam_pb2.GetPointCloudMapRequest, service.slam.v1.slam_pb2.GetPointCloudMapResponse]') -> None:
43
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
44
+
45
+ async def GetInternalState(self, stream: 'grpclib.server.Stream[service.slam.v1.slam_pb2.GetInternalStateRequest, service.slam.v1.slam_pb2.GetInternalStateResponse]') -> None:
46
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
47
+
48
+ async def GetProperties(self, stream: 'grpclib.server.Stream[service.slam.v1.slam_pb2.GetPropertiesRequest, service.slam.v1.slam_pb2.GetPropertiesResponse]') -> None:
49
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
50
+
51
+ async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None:
52
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
53
+
54
+ class SLAMServiceStub:
55
+
56
+ def __init__(self, channel: grpclib.client.Channel) -> None:
57
+ self.GetPosition = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.slam.v1.SLAMService/GetPosition', service.slam.v1.slam_pb2.GetPositionRequest, service.slam.v1.slam_pb2.GetPositionResponse)
58
+ self.GetPointCloudMap = grpclib.client.UnaryStreamMethod(channel, '/viam.service.slam.v1.SLAMService/GetPointCloudMap', service.slam.v1.slam_pb2.GetPointCloudMapRequest, service.slam.v1.slam_pb2.GetPointCloudMapResponse)
59
+ self.GetInternalState = grpclib.client.UnaryStreamMethod(channel, '/viam.service.slam.v1.SLAMService/GetInternalState', service.slam.v1.slam_pb2.GetInternalStateRequest, service.slam.v1.slam_pb2.GetInternalStateResponse)
60
+ self.GetProperties = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.slam.v1.SLAMService/GetProperties', service.slam.v1.slam_pb2.GetPropertiesRequest, service.slam.v1.slam_pb2.GetPropertiesResponse)
61
+ self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.slam.v1.SLAMService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)
@@ -0,0 +1,51 @@
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, '', 'service/slam/v1/slam.proto')
8
+ _sym_db = _symbol_database.Default()
9
+ from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2
10
+ from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
11
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1aservice/slam/v1/slam.proto\x12\x14viam.service.slam.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto"(\n\x12GetPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"?\n\x13GetPositionResponse\x12(\n\x04pose\x18\x01 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose"t\n\x17GetPointCloudMapRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12/\n\x11return_edited_map\x18\x02 \x01(\x08H\x00R\x0freturnEditedMap\x88\x01\x01B\x14\n\x12_return_edited_map"M\n\x18GetPointCloudMapResponse\x121\n\x15point_cloud_pcd_chunk\x18\x01 \x01(\x0cR\x12pointCloudPcdChunk"-\n\x17GetInternalStateRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"L\n\x18GetInternalStateResponse\x120\n\x14internal_state_chunk\x18\x01 \x01(\x0cR\x12internalStateChunk"*\n\x14GetPropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x9a\x02\n\x15GetPropertiesResponse\x12\x1d\n\ncloud_slam\x18\x01 \x01(\x08R\tcloudSlam\x12D\n\x0cmapping_mode\x18\x02 \x01(\x0e2!.viam.service.slam.v1.MappingModeR\x0bmappingMode\x12<\n\x18internal_state_file_type\x18\x03 \x01(\tH\x00R\x15internalStateFileType\x88\x01\x01\x12A\n\x0bsensor_info\x18\x04 \x03(\x0b2 .viam.service.slam.v1.SensorInfoR\nsensorInfoB\x1b\n\x19_internal_state_file_type"V\n\nSensorInfo\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x124\n\x04type\x18\x02 \x01(\x0e2 .viam.service.slam.v1.SensorTypeR\x04type*\x92\x01\n\x0bMappingMode\x12\x1c\n\x18MAPPING_MODE_UNSPECIFIED\x10\x00\x12\x1f\n\x1bMAPPING_MODE_CREATE_NEW_MAP\x10\x01\x12\x1e\n\x1aMAPPING_MODE_LOCALIZE_ONLY\x10\x02\x12$\n MAPPING_MODE_UPDATE_EXISTING_MAP\x10\x03*b\n\nSensorType\x12\x1b\n\x17SENSOR_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12SENSOR_TYPE_CAMERA\x10\x01\x12\x1f\n\x1bSENSOR_TYPE_MOVEMENT_SENSOR\x10\x022\xac\x06\n\x0bSLAMService\x12\x95\x01\n\x0bGetPosition\x12(.viam.service.slam.v1.GetPositionRequest\x1a).viam.service.slam.v1.GetPositionResponse"1\x82\xd3\xe4\x93\x02+\x12)/viam/api/v1/service/slam/{name}/position\x12\xad\x01\n\x10GetPointCloudMap\x12-.viam.service.slam.v1.GetPointCloudMapRequest\x1a..viam.service.slam.v1.GetPointCloudMapResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/service/slam/{name}/point_cloud_map0\x01\x12\xac\x01\n\x10GetInternalState\x12-.viam.service.slam.v1.GetInternalStateRequest\x1a..viam.service.slam.v1.GetInternalStateResponse"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/service/slam/{name}/internal_state0\x01\x12\x9d\x01\n\rGetProperties\x12*.viam.service.slam.v1.GetPropertiesRequest\x1a+.viam.service.slam.v1.GetPropertiesResponse"3\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/slam/{name}/properties\x12\x85\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"3\x82\xd3\xe4\x93\x02-"+/viam/api/v1/service/slam/{name}/do_commandB;\n\x18com.viam.service.slam.v1Z\x1fgo.viam.com/api/service/slam/v1b\x06proto3')
12
+ _globals = globals()
13
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
14
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'service.slam.v1.slam_pb2', _globals)
15
+ if not _descriptor._USE_C_DESCRIPTORS:
16
+ _globals['DESCRIPTOR']._loaded_options = None
17
+ _globals['DESCRIPTOR']._serialized_options = b'\n\x18com.viam.service.slam.v1Z\x1fgo.viam.com/api/service/slam/v1'
18
+ _globals['_SLAMSERVICE'].methods_by_name['GetPosition']._loaded_options = None
19
+ _globals['_SLAMSERVICE'].methods_by_name['GetPosition']._serialized_options = b'\x82\xd3\xe4\x93\x02+\x12)/viam/api/v1/service/slam/{name}/position'
20
+ _globals['_SLAMSERVICE'].methods_by_name['GetPointCloudMap']._loaded_options = None
21
+ _globals['_SLAMSERVICE'].methods_by_name['GetPointCloudMap']._serialized_options = b'\x82\xd3\xe4\x93\x022\x120/viam/api/v1/service/slam/{name}/point_cloud_map'
22
+ _globals['_SLAMSERVICE'].methods_by_name['GetInternalState']._loaded_options = None
23
+ _globals['_SLAMSERVICE'].methods_by_name['GetInternalState']._serialized_options = b'\x82\xd3\xe4\x93\x021\x12//viam/api/v1/service/slam/{name}/internal_state'
24
+ _globals['_SLAMSERVICE'].methods_by_name['GetProperties']._loaded_options = None
25
+ _globals['_SLAMSERVICE'].methods_by_name['GetProperties']._serialized_options = b'\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/slam/{name}/properties'
26
+ _globals['_SLAMSERVICE'].methods_by_name['DoCommand']._loaded_options = None
27
+ _globals['_SLAMSERVICE'].methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x02-"+/viam/api/v1/service/slam/{name}/do_command'
28
+ _globals['_MAPPINGMODE']._serialized_start = 953
29
+ _globals['_MAPPINGMODE']._serialized_end = 1099
30
+ _globals['_SENSORTYPE']._serialized_start = 1101
31
+ _globals['_SENSORTYPE']._serialized_end = 1199
32
+ _globals['_GETPOSITIONREQUEST']._serialized_start = 106
33
+ _globals['_GETPOSITIONREQUEST']._serialized_end = 146
34
+ _globals['_GETPOSITIONRESPONSE']._serialized_start = 148
35
+ _globals['_GETPOSITIONRESPONSE']._serialized_end = 211
36
+ _globals['_GETPOINTCLOUDMAPREQUEST']._serialized_start = 213
37
+ _globals['_GETPOINTCLOUDMAPREQUEST']._serialized_end = 329
38
+ _globals['_GETPOINTCLOUDMAPRESPONSE']._serialized_start = 331
39
+ _globals['_GETPOINTCLOUDMAPRESPONSE']._serialized_end = 408
40
+ _globals['_GETINTERNALSTATEREQUEST']._serialized_start = 410
41
+ _globals['_GETINTERNALSTATEREQUEST']._serialized_end = 455
42
+ _globals['_GETINTERNALSTATERESPONSE']._serialized_start = 457
43
+ _globals['_GETINTERNALSTATERESPONSE']._serialized_end = 533
44
+ _globals['_GETPROPERTIESREQUEST']._serialized_start = 535
45
+ _globals['_GETPROPERTIESREQUEST']._serialized_end = 577
46
+ _globals['_GETPROPERTIESRESPONSE']._serialized_start = 580
47
+ _globals['_GETPROPERTIESRESPONSE']._serialized_end = 862
48
+ _globals['_SENSORINFO']._serialized_start = 864
49
+ _globals['_SENSORINFO']._serialized_end = 950
50
+ _globals['_SLAMSERVICE']._serialized_start = 1202
51
+ _globals['_SLAMSERVICE']._serialized_end = 2014
@@ -0,0 +1,213 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+ import builtins
6
+ import collections.abc
7
+ from .... import common
8
+ import google.protobuf.descriptor
9
+ import google.protobuf.internal.containers
10
+ import google.protobuf.internal.enum_type_wrapper
11
+ import google.protobuf.message
12
+ import sys
13
+ import typing
14
+ if sys.version_info >= (3, 10):
15
+ import typing as typing_extensions
16
+ else:
17
+ import typing_extensions
18
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
19
+
20
+ class _MappingMode:
21
+ ValueType = typing.NewType('ValueType', builtins.int)
22
+ V: typing_extensions.TypeAlias = ValueType
23
+
24
+ class _MappingModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MappingMode.ValueType], builtins.type):
25
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
26
+ MAPPING_MODE_UNSPECIFIED: _MappingMode.ValueType
27
+ MAPPING_MODE_CREATE_NEW_MAP: _MappingMode.ValueType
28
+ MAPPING_MODE_LOCALIZE_ONLY: _MappingMode.ValueType
29
+ MAPPING_MODE_UPDATE_EXISTING_MAP: _MappingMode.ValueType
30
+
31
+ class MappingMode(_MappingMode, metaclass=_MappingModeEnumTypeWrapper):
32
+ """MappingMode represnts the various form of mapping and localizing SLAM can perform.
33
+ These include, creating a new map, localizing on an existiing map and updating an
34
+ exisiting map.
35
+ """
36
+ MAPPING_MODE_UNSPECIFIED: MappingMode.ValueType
37
+ MAPPING_MODE_CREATE_NEW_MAP: MappingMode.ValueType
38
+ MAPPING_MODE_LOCALIZE_ONLY: MappingMode.ValueType
39
+ MAPPING_MODE_UPDATE_EXISTING_MAP: MappingMode.ValueType
40
+ global___MappingMode = MappingMode
41
+
42
+ class _SensorType:
43
+ ValueType = typing.NewType('ValueType', builtins.int)
44
+ V: typing_extensions.TypeAlias = ValueType
45
+
46
+ class _SensorTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_SensorType.ValueType], builtins.type):
47
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
48
+ SENSOR_TYPE_UNSPECIFIED: _SensorType.ValueType
49
+ SENSOR_TYPE_CAMERA: _SensorType.ValueType
50
+ SENSOR_TYPE_MOVEMENT_SENSOR: _SensorType.ValueType
51
+
52
+ class SensorType(_SensorType, metaclass=_SensorTypeEnumTypeWrapper):
53
+ ...
54
+ SENSOR_TYPE_UNSPECIFIED: SensorType.ValueType
55
+ SENSOR_TYPE_CAMERA: SensorType.ValueType
56
+ SENSOR_TYPE_MOVEMENT_SENSOR: SensorType.ValueType
57
+ global___SensorType = SensorType
58
+
59
+ @typing.final
60
+ class GetPositionRequest(google.protobuf.message.Message):
61
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
62
+ NAME_FIELD_NUMBER: builtins.int
63
+ name: builtins.str
64
+ 'Name of slam service'
65
+
66
+ def __init__(self, *, name: builtins.str=...) -> None:
67
+ ...
68
+
69
+ def ClearField(self, field_name: typing.Literal['name', b'name']) -> None:
70
+ ...
71
+ global___GetPositionRequest = GetPositionRequest
72
+
73
+ @typing.final
74
+ class GetPositionResponse(google.protobuf.message.Message):
75
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
76
+ POSE_FIELD_NUMBER: builtins.int
77
+
78
+ @property
79
+ def pose(self) -> common.v1.common_pb2.Pose:
80
+ """Current position of the specified component in the SLAM Map"""
81
+
82
+ def __init__(self, *, pose: common.v1.common_pb2.Pose | None=...) -> None:
83
+ ...
84
+
85
+ def HasField(self, field_name: typing.Literal['pose', b'pose']) -> builtins.bool:
86
+ ...
87
+
88
+ def ClearField(self, field_name: typing.Literal['pose', b'pose']) -> None:
89
+ ...
90
+ global___GetPositionResponse = GetPositionResponse
91
+
92
+ @typing.final
93
+ class GetPointCloudMapRequest(google.protobuf.message.Message):
94
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
95
+ NAME_FIELD_NUMBER: builtins.int
96
+ RETURN_EDITED_MAP_FIELD_NUMBER: builtins.int
97
+ name: builtins.str
98
+ 'Name of slam service'
99
+ return_edited_map: builtins.bool
100
+ 'For SLAM services that implement handling an edited map, this boolean\n should indicate whether to return that edited map. If the SLAM service\n does not handle edited maps, the unedited map will be returned instead.\n '
101
+
102
+ def __init__(self, *, name: builtins.str=..., return_edited_map: builtins.bool | None=...) -> None:
103
+ ...
104
+
105
+ def HasField(self, field_name: typing.Literal['_return_edited_map', b'_return_edited_map', 'return_edited_map', b'return_edited_map']) -> builtins.bool:
106
+ ...
107
+
108
+ def ClearField(self, field_name: typing.Literal['_return_edited_map', b'_return_edited_map', 'name', b'name', 'return_edited_map', b'return_edited_map']) -> None:
109
+ ...
110
+
111
+ def WhichOneof(self, oneof_group: typing.Literal['_return_edited_map', b'_return_edited_map']) -> typing.Literal['return_edited_map'] | None:
112
+ ...
113
+ global___GetPointCloudMapRequest = GetPointCloudMapRequest
114
+
115
+ @typing.final
116
+ class GetPointCloudMapResponse(google.protobuf.message.Message):
117
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
118
+ POINT_CLOUD_PCD_CHUNK_FIELD_NUMBER: builtins.int
119
+ point_cloud_pcd_chunk: builtins.bytes
120
+ 'One chunk of the PointCloud.\n For a given GetPointCloudMap request, concatenating all\n GetPointCloudMapResponse.point_cloud_pcd_chunk values in the\n order received result in the complete pointcloud in standard PCD\n format where XY is the ground plane and positive Z is up, following\n the Right Hand Rule.\n\n Read more about the pointcloud format here:\n https://pointclouds.org/documentation/tutorials/pcd_file_format.html\n\n Viam expects pointcloud data with fields "x y z" or "x y z rgb", and for\n this to be specified in the pointcloud header in the FIELDS entry. If color\n data is included in the pointcloud, Viam\'s services assume that the color\n value encodes a confidence score for that data point. Viam expects the\n confidence score to be encoded in the blue parameter of the RGB value, on a\n scale from 1-100.\n\n Pointclouds are little endian encoded.\n '
121
+
122
+ def __init__(self, *, point_cloud_pcd_chunk: builtins.bytes=...) -> None:
123
+ ...
124
+
125
+ def ClearField(self, field_name: typing.Literal['point_cloud_pcd_chunk', b'point_cloud_pcd_chunk']) -> None:
126
+ ...
127
+ global___GetPointCloudMapResponse = GetPointCloudMapResponse
128
+
129
+ @typing.final
130
+ class GetInternalStateRequest(google.protobuf.message.Message):
131
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
132
+ NAME_FIELD_NUMBER: builtins.int
133
+ name: builtins.str
134
+ 'Name of slam service'
135
+
136
+ def __init__(self, *, name: builtins.str=...) -> None:
137
+ ...
138
+
139
+ def ClearField(self, field_name: typing.Literal['name', b'name']) -> None:
140
+ ...
141
+ global___GetInternalStateRequest = GetInternalStateRequest
142
+
143
+ @typing.final
144
+ class GetInternalStateResponse(google.protobuf.message.Message):
145
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
146
+ INTERNAL_STATE_CHUNK_FIELD_NUMBER: builtins.int
147
+ internal_state_chunk: builtins.bytes
148
+ 'Chunk of the internal state of the SLAM algorithm required to continue\n mapping/localization\n '
149
+
150
+ def __init__(self, *, internal_state_chunk: builtins.bytes=...) -> None:
151
+ ...
152
+
153
+ def ClearField(self, field_name: typing.Literal['internal_state_chunk', b'internal_state_chunk']) -> None:
154
+ ...
155
+ global___GetInternalStateResponse = GetInternalStateResponse
156
+
157
+ @typing.final
158
+ class GetPropertiesRequest(google.protobuf.message.Message):
159
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
160
+ NAME_FIELD_NUMBER: builtins.int
161
+ name: builtins.str
162
+ 'Name of the slam service'
163
+
164
+ def __init__(self, *, name: builtins.str=...) -> None:
165
+ ...
166
+
167
+ def ClearField(self, field_name: typing.Literal['name', b'name']) -> None:
168
+ ...
169
+ global___GetPropertiesRequest = GetPropertiesRequest
170
+
171
+ @typing.final
172
+ class GetPropertiesResponse(google.protobuf.message.Message):
173
+ """Returns properties information for the named slam service"""
174
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
175
+ CLOUD_SLAM_FIELD_NUMBER: builtins.int
176
+ MAPPING_MODE_FIELD_NUMBER: builtins.int
177
+ INTERNAL_STATE_FILE_TYPE_FIELD_NUMBER: builtins.int
178
+ SENSOR_INFO_FIELD_NUMBER: builtins.int
179
+ cloud_slam: builtins.bool
180
+ mapping_mode: global___MappingMode.ValueType
181
+ internal_state_file_type: builtins.str
182
+
183
+ @property
184
+ def sensor_info(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SensorInfo]:
185
+ ...
186
+
187
+ def __init__(self, *, cloud_slam: builtins.bool=..., mapping_mode: global___MappingMode.ValueType=..., internal_state_file_type: builtins.str | None=..., sensor_info: collections.abc.Iterable[global___SensorInfo] | None=...) -> None:
188
+ ...
189
+
190
+ def HasField(self, field_name: typing.Literal['_internal_state_file_type', b'_internal_state_file_type', 'internal_state_file_type', b'internal_state_file_type']) -> builtins.bool:
191
+ ...
192
+
193
+ def ClearField(self, field_name: typing.Literal['_internal_state_file_type', b'_internal_state_file_type', 'cloud_slam', b'cloud_slam', 'internal_state_file_type', b'internal_state_file_type', 'mapping_mode', b'mapping_mode', 'sensor_info', b'sensor_info']) -> None:
194
+ ...
195
+
196
+ def WhichOneof(self, oneof_group: typing.Literal['_internal_state_file_type', b'_internal_state_file_type']) -> typing.Literal['internal_state_file_type'] | None:
197
+ ...
198
+ global___GetPropertiesResponse = GetPropertiesResponse
199
+
200
+ @typing.final
201
+ class SensorInfo(google.protobuf.message.Message):
202
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
203
+ NAME_FIELD_NUMBER: builtins.int
204
+ TYPE_FIELD_NUMBER: builtins.int
205
+ name: builtins.str
206
+ type: global___SensorType.ValueType
207
+
208
+ def __init__(self, *, name: builtins.str=..., type: global___SensorType.ValueType=...) -> None:
209
+ ...
210
+
211
+ def ClearField(self, field_name: typing.Literal['name', b'name', 'type', b'type']) -> None:
212
+ ...
213
+ global___SensorInfo = SensorInfo
File without changes
File without changes