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,425 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+ from .... import app
6
+ import builtins
7
+ import collections.abc
8
+ import google.protobuf.any_pb2
9
+ import google.protobuf.descriptor
10
+ import google.protobuf.internal.containers
11
+ import google.protobuf.internal.enum_type_wrapper
12
+ import google.protobuf.message
13
+ import google.protobuf.struct_pb2
14
+ import google.protobuf.timestamp_pb2
15
+ import sys
16
+ import typing
17
+ if sys.version_info >= (3, 10):
18
+ import typing as typing_extensions
19
+ else:
20
+ import typing_extensions
21
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
22
+
23
+ class _MimeType:
24
+ ValueType = typing.NewType('ValueType', builtins.int)
25
+ V: typing_extensions.TypeAlias = ValueType
26
+
27
+ class _MimeTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MimeType.ValueType], builtins.type):
28
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
29
+ MIME_TYPE_UNSPECIFIED: _MimeType.ValueType
30
+ MIME_TYPE_IMAGE_JPEG: _MimeType.ValueType
31
+ MIME_TYPE_IMAGE_PNG: _MimeType.ValueType
32
+ MIME_TYPE_APPLICATION_PCD: _MimeType.ValueType
33
+
34
+ class MimeType(_MimeType, metaclass=_MimeTypeEnumTypeWrapper):
35
+ ...
36
+ MIME_TYPE_UNSPECIFIED: MimeType.ValueType
37
+ MIME_TYPE_IMAGE_JPEG: MimeType.ValueType
38
+ MIME_TYPE_IMAGE_PNG: MimeType.ValueType
39
+ MIME_TYPE_APPLICATION_PCD: MimeType.ValueType
40
+ global___MimeType = MimeType
41
+
42
+ class _DataType:
43
+ ValueType = typing.NewType('ValueType', builtins.int)
44
+ V: typing_extensions.TypeAlias = ValueType
45
+
46
+ class _DataTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DataType.ValueType], builtins.type):
47
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
48
+ DATA_TYPE_UNSPECIFIED: _DataType.ValueType
49
+ DATA_TYPE_BINARY_SENSOR: _DataType.ValueType
50
+ DATA_TYPE_TABULAR_SENSOR: _DataType.ValueType
51
+ DATA_TYPE_FILE: _DataType.ValueType
52
+
53
+ class DataType(_DataType, metaclass=_DataTypeEnumTypeWrapper):
54
+ """DataType specifies the type of data uploaded."""
55
+ DATA_TYPE_UNSPECIFIED: DataType.ValueType
56
+ DATA_TYPE_BINARY_SENSOR: DataType.ValueType
57
+ DATA_TYPE_TABULAR_SENSOR: DataType.ValueType
58
+ DATA_TYPE_FILE: DataType.ValueType
59
+ global___DataType = DataType
60
+
61
+ @typing.final
62
+ class DataCaptureUploadRequest(google.protobuf.message.Message):
63
+ """DataCaptureUploadRequest requests to upload the contents and metadata for tabular data."""
64
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
65
+ METADATA_FIELD_NUMBER: builtins.int
66
+ SENSOR_CONTENTS_FIELD_NUMBER: builtins.int
67
+
68
+ @property
69
+ def metadata(self) -> global___UploadMetadata:
70
+ ...
71
+
72
+ @property
73
+ def sensor_contents(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SensorData]:
74
+ ...
75
+
76
+ def __init__(self, *, metadata: global___UploadMetadata | None=..., sensor_contents: collections.abc.Iterable[global___SensorData] | None=...) -> None:
77
+ ...
78
+
79
+ def HasField(self, field_name: typing.Literal['metadata', b'metadata']) -> builtins.bool:
80
+ ...
81
+
82
+ def ClearField(self, field_name: typing.Literal['metadata', b'metadata', 'sensor_contents', b'sensor_contents']) -> None:
83
+ ...
84
+ global___DataCaptureUploadRequest = DataCaptureUploadRequest
85
+
86
+ @typing.final
87
+ class DataCaptureUploadResponse(google.protobuf.message.Message):
88
+ """DataCaptureUploadResponse returns the file id of the uploaded contents and metadata for tabular data."""
89
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
90
+ FILE_ID_FIELD_NUMBER: builtins.int
91
+ BINARY_DATA_ID_FIELD_NUMBER: builtins.int
92
+ file_id: builtins.str
93
+ binary_data_id: builtins.str
94
+
95
+ def __init__(self, *, file_id: builtins.str=..., binary_data_id: builtins.str=...) -> None:
96
+ ...
97
+
98
+ def ClearField(self, field_name: typing.Literal['binary_data_id', b'binary_data_id', 'file_id', b'file_id']) -> None:
99
+ ...
100
+ global___DataCaptureUploadResponse = DataCaptureUploadResponse
101
+
102
+ @typing.final
103
+ class FileUploadRequest(google.protobuf.message.Message):
104
+ """FileUploadRequest requests to upload the contents and metadata for binary (image + file) data.
105
+ The first packet must be the UploadMetadata associated with the binary data.
106
+ """
107
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
108
+ METADATA_FIELD_NUMBER: builtins.int
109
+ FILE_CONTENTS_FIELD_NUMBER: builtins.int
110
+
111
+ @property
112
+ def metadata(self) -> global___UploadMetadata:
113
+ ...
114
+
115
+ @property
116
+ def file_contents(self) -> global___FileData:
117
+ ...
118
+
119
+ def __init__(self, *, metadata: global___UploadMetadata | None=..., file_contents: global___FileData | None=...) -> None:
120
+ ...
121
+
122
+ def HasField(self, field_name: typing.Literal['file_contents', b'file_contents', 'metadata', b'metadata', 'upload_packet', b'upload_packet']) -> builtins.bool:
123
+ ...
124
+
125
+ def ClearField(self, field_name: typing.Literal['file_contents', b'file_contents', 'metadata', b'metadata', 'upload_packet', b'upload_packet']) -> None:
126
+ ...
127
+
128
+ def WhichOneof(self, oneof_group: typing.Literal['upload_packet', b'upload_packet']) -> typing.Literal['metadata', 'file_contents'] | None:
129
+ ...
130
+ global___FileUploadRequest = FileUploadRequest
131
+
132
+ @typing.final
133
+ class FileUploadResponse(google.protobuf.message.Message):
134
+ """FileUploadResponse returns the file id of the uploaded contents and metadata for binary (image + file) data."""
135
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
136
+ FILE_ID_FIELD_NUMBER: builtins.int
137
+ BINARY_DATA_ID_FIELD_NUMBER: builtins.int
138
+ file_id: builtins.str
139
+ binary_data_id: builtins.str
140
+
141
+ def __init__(self, *, file_id: builtins.str=..., binary_data_id: builtins.str=...) -> None:
142
+ ...
143
+
144
+ def ClearField(self, field_name: typing.Literal['binary_data_id', b'binary_data_id', 'file_id', b'file_id']) -> None:
145
+ ...
146
+ global___FileUploadResponse = FileUploadResponse
147
+
148
+ @typing.final
149
+ class StreamingDataCaptureUploadRequest(google.protobuf.message.Message):
150
+ """StreamingDataCaptureUploadRequest requests to upload the contents and metadata for streaming binary (image + file) data.
151
+ The first packet must be the DataCaptureUploadMetadata associated with the data.
152
+ """
153
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
154
+ METADATA_FIELD_NUMBER: builtins.int
155
+ DATA_FIELD_NUMBER: builtins.int
156
+ data: builtins.bytes
157
+
158
+ @property
159
+ def metadata(self) -> global___DataCaptureUploadMetadata:
160
+ ...
161
+
162
+ def __init__(self, *, metadata: global___DataCaptureUploadMetadata | None=..., data: builtins.bytes=...) -> None:
163
+ ...
164
+
165
+ def HasField(self, field_name: typing.Literal['data', b'data', 'metadata', b'metadata', 'upload_packet', b'upload_packet']) -> builtins.bool:
166
+ ...
167
+
168
+ def ClearField(self, field_name: typing.Literal['data', b'data', 'metadata', b'metadata', 'upload_packet', b'upload_packet']) -> None:
169
+ ...
170
+
171
+ def WhichOneof(self, oneof_group: typing.Literal['upload_packet', b'upload_packet']) -> typing.Literal['metadata', 'data'] | None:
172
+ ...
173
+ global___StreamingDataCaptureUploadRequest = StreamingDataCaptureUploadRequest
174
+
175
+ @typing.final
176
+ class StreamingDataCaptureUploadResponse(google.protobuf.message.Message):
177
+ """StreamingDataCaptureUploadResponse returns the file id of the uploaded contents and metadata for streaming binary (image + file) data."""
178
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
179
+ FILE_ID_FIELD_NUMBER: builtins.int
180
+ BINARY_DATA_ID_FIELD_NUMBER: builtins.int
181
+ file_id: builtins.str
182
+ binary_data_id: builtins.str
183
+
184
+ def __init__(self, *, file_id: builtins.str=..., binary_data_id: builtins.str=...) -> None:
185
+ ...
186
+
187
+ def ClearField(self, field_name: typing.Literal['binary_data_id', b'binary_data_id', 'file_id', b'file_id']) -> None:
188
+ ...
189
+ global___StreamingDataCaptureUploadResponse = StreamingDataCaptureUploadResponse
190
+
191
+ @typing.final
192
+ class SensorMetadata(google.protobuf.message.Message):
193
+ """SensorMetadata contains the time the sensor data was requested and was
194
+ received.
195
+ """
196
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
197
+ TIME_REQUESTED_FIELD_NUMBER: builtins.int
198
+ TIME_RECEIVED_FIELD_NUMBER: builtins.int
199
+ MIME_TYPE_FIELD_NUMBER: builtins.int
200
+ ANNOTATIONS_FIELD_NUMBER: builtins.int
201
+ mime_type: global___MimeType.ValueType
202
+
203
+ @property
204
+ def time_requested(self) -> google.protobuf.timestamp_pb2.Timestamp:
205
+ ...
206
+
207
+ @property
208
+ def time_received(self) -> google.protobuf.timestamp_pb2.Timestamp:
209
+ ...
210
+
211
+ @property
212
+ def annotations(self) -> app.data.v1.data_pb2.Annotations:
213
+ ...
214
+
215
+ def __init__(self, *, time_requested: google.protobuf.timestamp_pb2.Timestamp | None=..., time_received: google.protobuf.timestamp_pb2.Timestamp | None=..., mime_type: global___MimeType.ValueType=..., annotations: app.data.v1.data_pb2.Annotations | None=...) -> None:
216
+ ...
217
+
218
+ def HasField(self, field_name: typing.Literal['annotations', b'annotations', 'time_received', b'time_received', 'time_requested', b'time_requested']) -> builtins.bool:
219
+ ...
220
+
221
+ def ClearField(self, field_name: typing.Literal['annotations', b'annotations', 'mime_type', b'mime_type', 'time_received', b'time_received', 'time_requested', b'time_requested']) -> None:
222
+ ...
223
+ global___SensorMetadata = SensorMetadata
224
+
225
+ @typing.final
226
+ class SensorData(google.protobuf.message.Message):
227
+ """SensorData contains the contents and metadata for tabular data."""
228
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
229
+ METADATA_FIELD_NUMBER: builtins.int
230
+ STRUCT_FIELD_NUMBER: builtins.int
231
+ BINARY_FIELD_NUMBER: builtins.int
232
+ binary: builtins.bytes
233
+
234
+ @property
235
+ def metadata(self) -> global___SensorMetadata:
236
+ ...
237
+
238
+ @property
239
+ def struct(self) -> google.protobuf.struct_pb2.Struct:
240
+ ...
241
+
242
+ def __init__(self, *, metadata: global___SensorMetadata | None=..., struct: google.protobuf.struct_pb2.Struct | None=..., binary: builtins.bytes=...) -> None:
243
+ ...
244
+
245
+ def HasField(self, field_name: typing.Literal['binary', b'binary', 'data', b'data', 'metadata', b'metadata', 'struct', b'struct']) -> builtins.bool:
246
+ ...
247
+
248
+ def ClearField(self, field_name: typing.Literal['binary', b'binary', 'data', b'data', 'metadata', b'metadata', 'struct', b'struct']) -> None:
249
+ ...
250
+
251
+ def WhichOneof(self, oneof_group: typing.Literal['data', b'data']) -> typing.Literal['struct', 'binary'] | None:
252
+ ...
253
+ global___SensorData = SensorData
254
+
255
+ @typing.final
256
+ class FileData(google.protobuf.message.Message):
257
+ """FileData contains the contents of binary (image + file) data."""
258
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
259
+ DATA_FIELD_NUMBER: builtins.int
260
+ data: builtins.bytes
261
+
262
+ def __init__(self, *, data: builtins.bytes=...) -> None:
263
+ ...
264
+
265
+ def ClearField(self, field_name: typing.Literal['data', b'data']) -> None:
266
+ ...
267
+ global___FileData = FileData
268
+
269
+ @typing.final
270
+ class UploadMetadata(google.protobuf.message.Message):
271
+ """UploadMetadata contains the metadata for binary (image + file) data."""
272
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
273
+
274
+ @typing.final
275
+ class MethodParametersEntry(google.protobuf.message.Message):
276
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
277
+ KEY_FIELD_NUMBER: builtins.int
278
+ VALUE_FIELD_NUMBER: builtins.int
279
+ key: builtins.str
280
+
281
+ @property
282
+ def value(self) -> google.protobuf.any_pb2.Any:
283
+ ...
284
+
285
+ def __init__(self, *, key: builtins.str=..., value: google.protobuf.any_pb2.Any | None=...) -> None:
286
+ ...
287
+
288
+ def HasField(self, field_name: typing.Literal['value', b'value']) -> builtins.bool:
289
+ ...
290
+
291
+ def ClearField(self, field_name: typing.Literal['key', b'key', 'value', b'value']) -> None:
292
+ ...
293
+ PART_ID_FIELD_NUMBER: builtins.int
294
+ COMPONENT_TYPE_FIELD_NUMBER: builtins.int
295
+ COMPONENT_NAME_FIELD_NUMBER: builtins.int
296
+ METHOD_NAME_FIELD_NUMBER: builtins.int
297
+ TYPE_FIELD_NUMBER: builtins.int
298
+ FILE_NAME_FIELD_NUMBER: builtins.int
299
+ METHOD_PARAMETERS_FIELD_NUMBER: builtins.int
300
+ FILE_EXTENSION_FIELD_NUMBER: builtins.int
301
+ TAGS_FIELD_NUMBER: builtins.int
302
+ part_id: builtins.str
303
+ component_type: builtins.str
304
+ component_name: builtins.str
305
+ method_name: builtins.str
306
+ type: global___DataType.ValueType
307
+ file_name: builtins.str
308
+ file_extension: builtins.str
309
+
310
+ @property
311
+ def method_parameters(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, google.protobuf.any_pb2.Any]:
312
+ ...
313
+
314
+ @property
315
+ def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
316
+ ...
317
+
318
+ def __init__(self, *, part_id: builtins.str=..., component_type: builtins.str=..., component_name: builtins.str=..., method_name: builtins.str=..., type: global___DataType.ValueType=..., file_name: builtins.str=..., method_parameters: collections.abc.Mapping[builtins.str, google.protobuf.any_pb2.Any] | None=..., file_extension: builtins.str=..., tags: collections.abc.Iterable[builtins.str] | None=...) -> None:
319
+ ...
320
+
321
+ def ClearField(self, field_name: typing.Literal['component_name', b'component_name', 'component_type', b'component_type', 'file_extension', b'file_extension', 'file_name', b'file_name', 'method_name', b'method_name', 'method_parameters', b'method_parameters', 'part_id', b'part_id', 'tags', b'tags', 'type', b'type']) -> None:
322
+ ...
323
+ global___UploadMetadata = UploadMetadata
324
+
325
+ @typing.final
326
+ class CaptureInterval(google.protobuf.message.Message):
327
+ """CaptureInterval specifies the start and end times of the data capture."""
328
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
329
+ START_FIELD_NUMBER: builtins.int
330
+ END_FIELD_NUMBER: builtins.int
331
+
332
+ @property
333
+ def start(self) -> google.protobuf.timestamp_pb2.Timestamp:
334
+ ...
335
+
336
+ @property
337
+ def end(self) -> google.protobuf.timestamp_pb2.Timestamp:
338
+ ...
339
+
340
+ def __init__(self, *, start: google.protobuf.timestamp_pb2.Timestamp | None=..., end: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None:
341
+ ...
342
+
343
+ def HasField(self, field_name: typing.Literal['end', b'end', 'start', b'start']) -> builtins.bool:
344
+ ...
345
+
346
+ def ClearField(self, field_name: typing.Literal['end', b'end', 'start', b'start']) -> None:
347
+ ...
348
+ global___CaptureInterval = CaptureInterval
349
+
350
+ @typing.final
351
+ class DataCaptureMetadata(google.protobuf.message.Message):
352
+ """DataCaptureMetadata contains the metadata for data captured by collectors."""
353
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
354
+
355
+ @typing.final
356
+ class MethodParametersEntry(google.protobuf.message.Message):
357
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
358
+ KEY_FIELD_NUMBER: builtins.int
359
+ VALUE_FIELD_NUMBER: builtins.int
360
+ key: builtins.str
361
+
362
+ @property
363
+ def value(self) -> google.protobuf.any_pb2.Any:
364
+ ...
365
+
366
+ def __init__(self, *, key: builtins.str=..., value: google.protobuf.any_pb2.Any | None=...) -> None:
367
+ ...
368
+
369
+ def HasField(self, field_name: typing.Literal['value', b'value']) -> builtins.bool:
370
+ ...
371
+
372
+ def ClearField(self, field_name: typing.Literal['key', b'key', 'value', b'value']) -> None:
373
+ ...
374
+ COMPONENT_TYPE_FIELD_NUMBER: builtins.int
375
+ COMPONENT_NAME_FIELD_NUMBER: builtins.int
376
+ METHOD_NAME_FIELD_NUMBER: builtins.int
377
+ TYPE_FIELD_NUMBER: builtins.int
378
+ METHOD_PARAMETERS_FIELD_NUMBER: builtins.int
379
+ FILE_EXTENSION_FIELD_NUMBER: builtins.int
380
+ TAGS_FIELD_NUMBER: builtins.int
381
+ component_type: builtins.str
382
+ component_name: builtins.str
383
+ method_name: builtins.str
384
+ type: global___DataType.ValueType
385
+ file_extension: builtins.str
386
+
387
+ @property
388
+ def method_parameters(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, google.protobuf.any_pb2.Any]:
389
+ ...
390
+
391
+ @property
392
+ def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
393
+ ...
394
+
395
+ def __init__(self, *, component_type: builtins.str=..., component_name: builtins.str=..., method_name: builtins.str=..., type: global___DataType.ValueType=..., method_parameters: collections.abc.Mapping[builtins.str, google.protobuf.any_pb2.Any] | None=..., file_extension: builtins.str=..., tags: collections.abc.Iterable[builtins.str] | None=...) -> None:
396
+ ...
397
+
398
+ def ClearField(self, field_name: typing.Literal['component_name', b'component_name', 'component_type', b'component_type', 'file_extension', b'file_extension', 'method_name', b'method_name', 'method_parameters', b'method_parameters', 'tags', b'tags', 'type', b'type']) -> None:
399
+ ...
400
+ global___DataCaptureMetadata = DataCaptureMetadata
401
+
402
+ @typing.final
403
+ class DataCaptureUploadMetadata(google.protobuf.message.Message):
404
+ """DataCaptureUploadMetadata contains the metadata for streaming binary (image + file) data."""
405
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
406
+ UPLOAD_METADATA_FIELD_NUMBER: builtins.int
407
+ SENSOR_METADATA_FIELD_NUMBER: builtins.int
408
+
409
+ @property
410
+ def upload_metadata(self) -> global___UploadMetadata:
411
+ ...
412
+
413
+ @property
414
+ def sensor_metadata(self) -> global___SensorMetadata:
415
+ ...
416
+
417
+ def __init__(self, *, upload_metadata: global___UploadMetadata | None=..., sensor_metadata: global___SensorMetadata | None=...) -> None:
418
+ ...
419
+
420
+ def HasField(self, field_name: typing.Literal['sensor_metadata', b'sensor_metadata', 'upload_metadata', b'upload_metadata']) -> builtins.bool:
421
+ ...
422
+
423
+ def ClearField(self, field_name: typing.Literal['sensor_metadata', b'sensor_metadata', 'upload_metadata', b'upload_metadata']) -> None:
424
+ ...
425
+ global___DataCaptureUploadMetadata = DataCaptureUploadMetadata
File without changes
File without changes
@@ -0,0 +1,28 @@
1
+ import abc
2
+ import typing
3
+ import grpclib.const
4
+ import grpclib.client
5
+ import grpclib.exceptions
6
+ if typing.TYPE_CHECKING:
7
+ import grpclib.server
8
+ from .... import app
9
+ from .... import service
10
+
11
+ class MLInferenceServiceBase(abc.ABC):
12
+
13
+ @abc.abstractmethod
14
+ async def GetInference(self, stream: 'grpclib.server.Stream[app.mlinference.v1.ml_inference_pb2.GetInferenceRequest, app.mlinference.v1.ml_inference_pb2.GetInferenceResponse]') -> None:
15
+ pass
16
+
17
+ def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]:
18
+ return {'/viam.app.mlinference.v1.MLInferenceService/GetInference': grpclib.const.Handler(self.GetInference, grpclib.const.Cardinality.UNARY_UNARY, app.mlinference.v1.ml_inference_pb2.GetInferenceRequest, app.mlinference.v1.ml_inference_pb2.GetInferenceResponse)}
19
+
20
+ class UnimplementedMLInferenceServiceBase(MLInferenceServiceBase):
21
+
22
+ async def GetInference(self, stream: 'grpclib.server.Stream[app.mlinference.v1.ml_inference_pb2.GetInferenceRequest, app.mlinference.v1.ml_inference_pb2.GetInferenceResponse]') -> None:
23
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
24
+
25
+ class MLInferenceServiceStub:
26
+
27
+ def __init__(self, channel: grpclib.client.Channel) -> None:
28
+ self.GetInference = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.mlinference.v1.MLInferenceService/GetInference', app.mlinference.v1.ml_inference_pb2.GetInferenceRequest, app.mlinference.v1.ml_inference_pb2.GetInferenceResponse)
@@ -0,0 +1,23 @@
1
+ """Generated protocol buffer code."""
2
+ from google.protobuf import descriptor as _descriptor
3
+ from google.protobuf import descriptor_pool as _descriptor_pool
4
+ from google.protobuf import runtime_version as _runtime_version
5
+ from google.protobuf import symbol_database as _symbol_database
6
+ from google.protobuf.internal import builder as _builder
7
+ _runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 5, 29, 2, '', 'app/mlinference/v1/ml_inference.proto')
8
+ _sym_db = _symbol_database.Default()
9
+ from ....app.data.v1 import data_pb2 as app_dot_data_dot_v1_dot_data__pb2
10
+ from ....service.mlmodel.v1 import mlmodel_pb2 as service_dot_mlmodel_dot_v1_dot_mlmodel__pb2
11
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%app/mlinference/v1/ml_inference.proto\x12\x17viam.app.mlinference.v1\x1a\x16app/data/v1/data.proto\x1a service/mlmodel/v1/mlmodel.proto"\xfb\x01\n\x13GetInferenceRequest\x12(\n\x10registry_item_id\x18\x01 \x01(\tR\x0eregistryItemId\x122\n\x15registry_item_version\x18\x02 \x01(\tR\x13registryItemVersion\x127\n\tbinary_id\x18\x03 \x01(\x0b2\x1a.viam.app.data.v1.BinaryIDR\x08binaryId\x12$\n\x0ebinary_data_id\x18\x05 \x01(\tR\x0cbinaryDataId\x12\'\n\x0forganization_id\x18\x04 \x01(\tR\x0eorganizationId"\xa4\x01\n\x14GetInferenceResponse\x12K\n\x0eoutput_tensors\x18\x01 \x01(\x0b2$.viam.service.mlmodel.v1.FlatTensorsR\routputTensors\x12?\n\x0bannotations\x18\x02 \x01(\x0b2\x1d.viam.app.data.v1.AnnotationsR\x0bannotations2\x81\x01\n\x12MLInferenceService\x12k\n\x0cGetInference\x12,.viam.app.mlinference.v1.GetInferenceRequest\x1a-.viam.app.mlinference.v1.GetInferenceResponseB$Z"go.viam.com/api/app/mlinference/v1b\x06proto3')
12
+ _globals = globals()
13
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
14
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.mlinference.v1.ml_inference_pb2', _globals)
15
+ if not _descriptor._USE_C_DESCRIPTORS:
16
+ _globals['DESCRIPTOR']._loaded_options = None
17
+ _globals['DESCRIPTOR']._serialized_options = b'Z"go.viam.com/api/app/mlinference/v1'
18
+ _globals['_GETINFERENCEREQUEST']._serialized_start = 125
19
+ _globals['_GETINFERENCEREQUEST']._serialized_end = 376
20
+ _globals['_GETINFERENCERESPONSE']._serialized_start = 379
21
+ _globals['_GETINFERENCERESPONSE']._serialized_end = 543
22
+ _globals['_MLINFERENCESERVICE']._serialized_start = 546
23
+ _globals['_MLINFERENCESERVICE']._serialized_end = 675
@@ -0,0 +1,63 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+ from .... import app
6
+ import builtins
7
+ import google.protobuf.descriptor
8
+ import google.protobuf.message
9
+ from .... import service
10
+ import typing
11
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
12
+
13
+ @typing.final
14
+ class GetInferenceRequest(google.protobuf.message.Message):
15
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
16
+ REGISTRY_ITEM_ID_FIELD_NUMBER: builtins.int
17
+ REGISTRY_ITEM_VERSION_FIELD_NUMBER: builtins.int
18
+ BINARY_ID_FIELD_NUMBER: builtins.int
19
+ BINARY_DATA_ID_FIELD_NUMBER: builtins.int
20
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
21
+ registry_item_id: builtins.str
22
+ 'The model framework and model type are inferred from the ML model registry item;\n For valid model types (classification, detections) we will return the formatted\n labels or annotations from the associated inference outputs.\n '
23
+ registry_item_version: builtins.str
24
+ binary_data_id: builtins.str
25
+ organization_id: builtins.str
26
+
27
+ @property
28
+ def binary_id(self) -> app.data.v1.data_pb2.BinaryID:
29
+ ...
30
+
31
+ def __init__(self, *, registry_item_id: builtins.str=..., registry_item_version: builtins.str=..., binary_id: app.data.v1.data_pb2.BinaryID | None=..., binary_data_id: builtins.str=..., organization_id: builtins.str=...) -> None:
32
+ ...
33
+
34
+ def HasField(self, field_name: typing.Literal['binary_id', b'binary_id']) -> builtins.bool:
35
+ ...
36
+
37
+ def ClearField(self, field_name: typing.Literal['binary_data_id', b'binary_data_id', 'binary_id', b'binary_id', 'organization_id', b'organization_id', 'registry_item_id', b'registry_item_id', 'registry_item_version', b'registry_item_version']) -> None:
38
+ ...
39
+ global___GetInferenceRequest = GetInferenceRequest
40
+
41
+ @typing.final
42
+ class GetInferenceResponse(google.protobuf.message.Message):
43
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
44
+ OUTPUT_TENSORS_FIELD_NUMBER: builtins.int
45
+ ANNOTATIONS_FIELD_NUMBER: builtins.int
46
+
47
+ @property
48
+ def output_tensors(self) -> service.mlmodel.v1.mlmodel_pb2.FlatTensors:
49
+ ...
50
+
51
+ @property
52
+ def annotations(self) -> app.data.v1.data_pb2.Annotations:
53
+ ...
54
+
55
+ def __init__(self, *, output_tensors: service.mlmodel.v1.mlmodel_pb2.FlatTensors | None=..., annotations: app.data.v1.data_pb2.Annotations | None=...) -> None:
56
+ ...
57
+
58
+ def HasField(self, field_name: typing.Literal['annotations', b'annotations', 'output_tensors', b'output_tensors']) -> builtins.bool:
59
+ ...
60
+
61
+ def ClearField(self, field_name: typing.Literal['annotations', b'annotations', 'output_tensors', b'output_tensors']) -> None:
62
+ ...
63
+ global___GetInferenceResponse = GetInferenceResponse
File without changes
File without changes
@@ -0,0 +1,78 @@
1
+ import abc
2
+ import typing
3
+ import grpclib.const
4
+ import grpclib.client
5
+ import grpclib.exceptions
6
+ if typing.TYPE_CHECKING:
7
+ import grpclib.server
8
+ import google.protobuf.timestamp_pb2
9
+ import google.rpc.status_pb2
10
+ from .... import tagger
11
+ from .... import app
12
+
13
+ class MLTrainingServiceBase(abc.ABC):
14
+
15
+ @abc.abstractmethod
16
+ async def SubmitTrainingJob(self, stream: 'grpclib.server.Stream[app.mltraining.v1.ml_training_pb2.SubmitTrainingJobRequest, app.mltraining.v1.ml_training_pb2.SubmitTrainingJobResponse]') -> None:
17
+ pass
18
+
19
+ @abc.abstractmethod
20
+ async def SubmitCustomTrainingJob(self, stream: 'grpclib.server.Stream[app.mltraining.v1.ml_training_pb2.SubmitCustomTrainingJobRequest, app.mltraining.v1.ml_training_pb2.SubmitCustomTrainingJobResponse]') -> None:
21
+ pass
22
+
23
+ @abc.abstractmethod
24
+ async def GetTrainingJob(self, stream: 'grpclib.server.Stream[app.mltraining.v1.ml_training_pb2.GetTrainingJobRequest, app.mltraining.v1.ml_training_pb2.GetTrainingJobResponse]') -> None:
25
+ pass
26
+
27
+ @abc.abstractmethod
28
+ async def ListTrainingJobs(self, stream: 'grpclib.server.Stream[app.mltraining.v1.ml_training_pb2.ListTrainingJobsRequest, app.mltraining.v1.ml_training_pb2.ListTrainingJobsResponse]') -> None:
29
+ pass
30
+
31
+ @abc.abstractmethod
32
+ async def CancelTrainingJob(self, stream: 'grpclib.server.Stream[app.mltraining.v1.ml_training_pb2.CancelTrainingJobRequest, app.mltraining.v1.ml_training_pb2.CancelTrainingJobResponse]') -> None:
33
+ pass
34
+
35
+ @abc.abstractmethod
36
+ async def DeleteCompletedTrainingJob(self, stream: 'grpclib.server.Stream[app.mltraining.v1.ml_training_pb2.DeleteCompletedTrainingJobRequest, app.mltraining.v1.ml_training_pb2.DeleteCompletedTrainingJobResponse]') -> None:
37
+ pass
38
+
39
+ @abc.abstractmethod
40
+ async def GetTrainingJobLogs(self, stream: 'grpclib.server.Stream[app.mltraining.v1.ml_training_pb2.GetTrainingJobLogsRequest, app.mltraining.v1.ml_training_pb2.GetTrainingJobLogsResponse]') -> None:
41
+ pass
42
+
43
+ def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]:
44
+ return {'/viam.app.mltraining.v1.MLTrainingService/SubmitTrainingJob': grpclib.const.Handler(self.SubmitTrainingJob, grpclib.const.Cardinality.UNARY_UNARY, app.mltraining.v1.ml_training_pb2.SubmitTrainingJobRequest, app.mltraining.v1.ml_training_pb2.SubmitTrainingJobResponse), '/viam.app.mltraining.v1.MLTrainingService/SubmitCustomTrainingJob': grpclib.const.Handler(self.SubmitCustomTrainingJob, grpclib.const.Cardinality.UNARY_UNARY, app.mltraining.v1.ml_training_pb2.SubmitCustomTrainingJobRequest, app.mltraining.v1.ml_training_pb2.SubmitCustomTrainingJobResponse), '/viam.app.mltraining.v1.MLTrainingService/GetTrainingJob': grpclib.const.Handler(self.GetTrainingJob, grpclib.const.Cardinality.UNARY_UNARY, app.mltraining.v1.ml_training_pb2.GetTrainingJobRequest, app.mltraining.v1.ml_training_pb2.GetTrainingJobResponse), '/viam.app.mltraining.v1.MLTrainingService/ListTrainingJobs': grpclib.const.Handler(self.ListTrainingJobs, grpclib.const.Cardinality.UNARY_UNARY, app.mltraining.v1.ml_training_pb2.ListTrainingJobsRequest, app.mltraining.v1.ml_training_pb2.ListTrainingJobsResponse), '/viam.app.mltraining.v1.MLTrainingService/CancelTrainingJob': grpclib.const.Handler(self.CancelTrainingJob, grpclib.const.Cardinality.UNARY_UNARY, app.mltraining.v1.ml_training_pb2.CancelTrainingJobRequest, app.mltraining.v1.ml_training_pb2.CancelTrainingJobResponse), '/viam.app.mltraining.v1.MLTrainingService/DeleteCompletedTrainingJob': grpclib.const.Handler(self.DeleteCompletedTrainingJob, grpclib.const.Cardinality.UNARY_UNARY, app.mltraining.v1.ml_training_pb2.DeleteCompletedTrainingJobRequest, app.mltraining.v1.ml_training_pb2.DeleteCompletedTrainingJobResponse), '/viam.app.mltraining.v1.MLTrainingService/GetTrainingJobLogs': grpclib.const.Handler(self.GetTrainingJobLogs, grpclib.const.Cardinality.UNARY_UNARY, app.mltraining.v1.ml_training_pb2.GetTrainingJobLogsRequest, app.mltraining.v1.ml_training_pb2.GetTrainingJobLogsResponse)}
45
+
46
+ class UnimplementedMLTrainingServiceBase(MLTrainingServiceBase):
47
+
48
+ async def SubmitTrainingJob(self, stream: 'grpclib.server.Stream[app.mltraining.v1.ml_training_pb2.SubmitTrainingJobRequest, app.mltraining.v1.ml_training_pb2.SubmitTrainingJobResponse]') -> None:
49
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
50
+
51
+ async def SubmitCustomTrainingJob(self, stream: 'grpclib.server.Stream[app.mltraining.v1.ml_training_pb2.SubmitCustomTrainingJobRequest, app.mltraining.v1.ml_training_pb2.SubmitCustomTrainingJobResponse]') -> None:
52
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
53
+
54
+ async def GetTrainingJob(self, stream: 'grpclib.server.Stream[app.mltraining.v1.ml_training_pb2.GetTrainingJobRequest, app.mltraining.v1.ml_training_pb2.GetTrainingJobResponse]') -> None:
55
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
56
+
57
+ async def ListTrainingJobs(self, stream: 'grpclib.server.Stream[app.mltraining.v1.ml_training_pb2.ListTrainingJobsRequest, app.mltraining.v1.ml_training_pb2.ListTrainingJobsResponse]') -> None:
58
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
59
+
60
+ async def CancelTrainingJob(self, stream: 'grpclib.server.Stream[app.mltraining.v1.ml_training_pb2.CancelTrainingJobRequest, app.mltraining.v1.ml_training_pb2.CancelTrainingJobResponse]') -> None:
61
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
62
+
63
+ async def DeleteCompletedTrainingJob(self, stream: 'grpclib.server.Stream[app.mltraining.v1.ml_training_pb2.DeleteCompletedTrainingJobRequest, app.mltraining.v1.ml_training_pb2.DeleteCompletedTrainingJobResponse]') -> None:
64
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
65
+
66
+ async def GetTrainingJobLogs(self, stream: 'grpclib.server.Stream[app.mltraining.v1.ml_training_pb2.GetTrainingJobLogsRequest, app.mltraining.v1.ml_training_pb2.GetTrainingJobLogsResponse]') -> None:
67
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
68
+
69
+ class MLTrainingServiceStub:
70
+
71
+ def __init__(self, channel: grpclib.client.Channel) -> None:
72
+ self.SubmitTrainingJob = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.mltraining.v1.MLTrainingService/SubmitTrainingJob', app.mltraining.v1.ml_training_pb2.SubmitTrainingJobRequest, app.mltraining.v1.ml_training_pb2.SubmitTrainingJobResponse)
73
+ self.SubmitCustomTrainingJob = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.mltraining.v1.MLTrainingService/SubmitCustomTrainingJob', app.mltraining.v1.ml_training_pb2.SubmitCustomTrainingJobRequest, app.mltraining.v1.ml_training_pb2.SubmitCustomTrainingJobResponse)
74
+ self.GetTrainingJob = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.mltraining.v1.MLTrainingService/GetTrainingJob', app.mltraining.v1.ml_training_pb2.GetTrainingJobRequest, app.mltraining.v1.ml_training_pb2.GetTrainingJobResponse)
75
+ self.ListTrainingJobs = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.mltraining.v1.MLTrainingService/ListTrainingJobs', app.mltraining.v1.ml_training_pb2.ListTrainingJobsRequest, app.mltraining.v1.ml_training_pb2.ListTrainingJobsResponse)
76
+ self.CancelTrainingJob = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.mltraining.v1.MLTrainingService/CancelTrainingJob', app.mltraining.v1.ml_training_pb2.CancelTrainingJobRequest, app.mltraining.v1.ml_training_pb2.CancelTrainingJobResponse)
77
+ self.DeleteCompletedTrainingJob = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.mltraining.v1.MLTrainingService/DeleteCompletedTrainingJob', app.mltraining.v1.ml_training_pb2.DeleteCompletedTrainingJobRequest, app.mltraining.v1.ml_training_pb2.DeleteCompletedTrainingJobResponse)
78
+ self.GetTrainingJobLogs = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.mltraining.v1.MLTrainingService/GetTrainingJobLogs', app.mltraining.v1.ml_training_pb2.GetTrainingJobLogsRequest, app.mltraining.v1.ml_training_pb2.GetTrainingJobLogsResponse)