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,1485 @@
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.any_pb2
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 google.protobuf.struct_pb2
13
+ import google.protobuf.timestamp_pb2
14
+ import sys
15
+ import typing
16
+ if sys.version_info >= (3, 10):
17
+ import typing as typing_extensions
18
+ else:
19
+ import typing_extensions
20
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
21
+
22
+ class _Order:
23
+ ValueType = typing.NewType('ValueType', builtins.int)
24
+ V: typing_extensions.TypeAlias = ValueType
25
+
26
+ class _OrderEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Order.ValueType], builtins.type):
27
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
28
+ ORDER_UNSPECIFIED: _Order.ValueType
29
+ ORDER_DESCENDING: _Order.ValueType
30
+ ORDER_ASCENDING: _Order.ValueType
31
+
32
+ class Order(_Order, metaclass=_OrderEnumTypeWrapper):
33
+ """Order specifies the order in which data is returned."""
34
+ ORDER_UNSPECIFIED: Order.ValueType
35
+ ORDER_DESCENDING: Order.ValueType
36
+ ORDER_ASCENDING: Order.ValueType
37
+ global___Order = Order
38
+
39
+ class _TagsFilterType:
40
+ ValueType = typing.NewType('ValueType', builtins.int)
41
+ V: typing_extensions.TypeAlias = ValueType
42
+
43
+ class _TagsFilterTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_TagsFilterType.ValueType], builtins.type):
44
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
45
+ TAGS_FILTER_TYPE_UNSPECIFIED: _TagsFilterType.ValueType
46
+ TAGS_FILTER_TYPE_MATCH_BY_OR: _TagsFilterType.ValueType
47
+ 'TAGS_FILTER_TYPE_MATCH_BY_OR specifies documents matched (using logical OR) on the tags field in the TagsFilter.'
48
+ TAGS_FILTER_TYPE_TAGGED: _TagsFilterType.ValueType
49
+ 'TAGS_FILTER_TYPE_TAGGED specifies that all tagged documents should be returned.'
50
+ TAGS_FILTER_TYPE_UNTAGGED: _TagsFilterType.ValueType
51
+ 'TAGS_FILTER_TYPE_UNTAGGED specifes that all untagged documents should be returned.'
52
+
53
+ class TagsFilterType(_TagsFilterType, metaclass=_TagsFilterTypeEnumTypeWrapper):
54
+ """TagsFilterType specifies how data can be filtered based on tags."""
55
+ TAGS_FILTER_TYPE_UNSPECIFIED: TagsFilterType.ValueType
56
+ TAGS_FILTER_TYPE_MATCH_BY_OR: TagsFilterType.ValueType
57
+ 'TAGS_FILTER_TYPE_MATCH_BY_OR specifies documents matched (using logical OR) on the tags field in the TagsFilter.'
58
+ TAGS_FILTER_TYPE_TAGGED: TagsFilterType.ValueType
59
+ 'TAGS_FILTER_TYPE_TAGGED specifies that all tagged documents should be returned.'
60
+ TAGS_FILTER_TYPE_UNTAGGED: TagsFilterType.ValueType
61
+ 'TAGS_FILTER_TYPE_UNTAGGED specifes that all untagged documents should be returned.'
62
+ global___TagsFilterType = TagsFilterType
63
+
64
+ class _TabularDataSourceType:
65
+ ValueType = typing.NewType('ValueType', builtins.int)
66
+ V: typing_extensions.TypeAlias = ValueType
67
+
68
+ class _TabularDataSourceTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_TabularDataSourceType.ValueType], builtins.type):
69
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
70
+ TABULAR_DATA_SOURCE_TYPE_UNSPECIFIED: _TabularDataSourceType.ValueType
71
+ TABULAR_DATA_SOURCE_TYPE_STANDARD: _TabularDataSourceType.ValueType
72
+ 'TABULAR_DATA_SOURCE_TYPE_STANDARD indicates reading from standard storage. This is\n the default option and available for all data synced to Viam.\n '
73
+ TABULAR_DATA_SOURCE_TYPE_HOT_STORAGE: _TabularDataSourceType.ValueType
74
+ 'TABULAR_DATA_SOURCE_TYPE_HOT_STORAGE indicates reading from hot storage. This is a\n premium feature requiring opting in specific data sources.\n See docs at https://docs.viam.com/data-ai/capture-data/advanced/advanced-data-capture-sync/#capture-to-the-hot-data-store\n '
75
+ TABULAR_DATA_SOURCE_TYPE_PIPELINE_SINK: _TabularDataSourceType.ValueType
76
+ 'TABULAR_DATA_SOURCE_TYPE_PIPELINE_SINK indicates reading the output data of\n a data pipeline. When using this, a pipeline ID needs to be specified.\n '
77
+
78
+ class TabularDataSourceType(_TabularDataSourceType, metaclass=_TabularDataSourceTypeEnumTypeWrapper):
79
+ """TabularDataSourceType specifies the data source type for TabularDataByMQL queries."""
80
+ TABULAR_DATA_SOURCE_TYPE_UNSPECIFIED: TabularDataSourceType.ValueType
81
+ TABULAR_DATA_SOURCE_TYPE_STANDARD: TabularDataSourceType.ValueType
82
+ 'TABULAR_DATA_SOURCE_TYPE_STANDARD indicates reading from standard storage. This is\nthe default option and available for all data synced to Viam.\n'
83
+ TABULAR_DATA_SOURCE_TYPE_HOT_STORAGE: TabularDataSourceType.ValueType
84
+ 'TABULAR_DATA_SOURCE_TYPE_HOT_STORAGE indicates reading from hot storage. This is a\npremium feature requiring opting in specific data sources.\nSee docs at https://docs.viam.com/data-ai/capture-data/advanced/advanced-data-capture-sync/#capture-to-the-hot-data-store\n'
85
+ TABULAR_DATA_SOURCE_TYPE_PIPELINE_SINK: TabularDataSourceType.ValueType
86
+ 'TABULAR_DATA_SOURCE_TYPE_PIPELINE_SINK indicates reading the output data of\na data pipeline. When using this, a pipeline ID needs to be specified.\n'
87
+ global___TabularDataSourceType = TabularDataSourceType
88
+
89
+ @typing.final
90
+ class DataRequest(google.protobuf.message.Message):
91
+ """DataRequest encapsulates the filter for the data, a limit on the maximum results returned,
92
+ a last string associated with the last returned document, and the sorting order by time.
93
+ last is returned in the responses TabularDataByFilterResponse and BinaryDataByFilterResponse
94
+ from the API calls TabularDataByFilter and BinaryDataByFilter, respectively.
95
+ We can then use the last string from the previous API calls in the subsequent request
96
+ to get the next set of ordered documents.
97
+ """
98
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
99
+ FILTER_FIELD_NUMBER: builtins.int
100
+ LIMIT_FIELD_NUMBER: builtins.int
101
+ LAST_FIELD_NUMBER: builtins.int
102
+ SORT_ORDER_FIELD_NUMBER: builtins.int
103
+ limit: builtins.int
104
+ last: builtins.str
105
+ sort_order: global___Order.ValueType
106
+
107
+ @property
108
+ def filter(self) -> global___Filter:
109
+ ...
110
+
111
+ def __init__(self, *, filter: global___Filter | None=..., limit: builtins.int=..., last: builtins.str=..., sort_order: global___Order.ValueType=...) -> None:
112
+ ...
113
+
114
+ def HasField(self, field_name: typing.Literal['filter', b'filter']) -> builtins.bool:
115
+ ...
116
+
117
+ def ClearField(self, field_name: typing.Literal['filter', b'filter', 'last', b'last', 'limit', b'limit', 'sort_order', b'sort_order']) -> None:
118
+ ...
119
+ global___DataRequest = DataRequest
120
+
121
+ @typing.final
122
+ class Filter(google.protobuf.message.Message):
123
+ """Filter defines the fields over which we can filter data using a logic AND.
124
+ For example, if component_type and robot_id are specified, only data from that `robot_id` of
125
+ type `component_type` is returned. However, we logical OR over the specified tags and bounding
126
+ box labels, such that if component_type, robot_id, tagA, tagB are specified,
127
+ we return data from that `robot_id` of type `component_type` with `tagA` or `tagB`.
128
+ """
129
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
130
+ COMPONENT_NAME_FIELD_NUMBER: builtins.int
131
+ COMPONENT_TYPE_FIELD_NUMBER: builtins.int
132
+ METHOD_FIELD_NUMBER: builtins.int
133
+ ROBOT_NAME_FIELD_NUMBER: builtins.int
134
+ ROBOT_ID_FIELD_NUMBER: builtins.int
135
+ PART_NAME_FIELD_NUMBER: builtins.int
136
+ PART_ID_FIELD_NUMBER: builtins.int
137
+ LOCATION_IDS_FIELD_NUMBER: builtins.int
138
+ ORGANIZATION_IDS_FIELD_NUMBER: builtins.int
139
+ MIME_TYPE_FIELD_NUMBER: builtins.int
140
+ INTERVAL_FIELD_NUMBER: builtins.int
141
+ TAGS_FILTER_FIELD_NUMBER: builtins.int
142
+ BBOX_LABELS_FIELD_NUMBER: builtins.int
143
+ DATASET_ID_FIELD_NUMBER: builtins.int
144
+ component_name: builtins.str
145
+ component_type: builtins.str
146
+ method: builtins.str
147
+ robot_name: builtins.str
148
+ robot_id: builtins.str
149
+ part_name: builtins.str
150
+ part_id: builtins.str
151
+ dataset_id: builtins.str
152
+
153
+ @property
154
+ def location_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
155
+ ...
156
+
157
+ @property
158
+ def organization_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
159
+ ...
160
+
161
+ @property
162
+ def mime_type(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
163
+ ...
164
+
165
+ @property
166
+ def interval(self) -> global___CaptureInterval:
167
+ ...
168
+
169
+ @property
170
+ def tags_filter(self) -> global___TagsFilter:
171
+ ...
172
+
173
+ @property
174
+ def bbox_labels(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
175
+ """bbox_labels are used to match documents with the specified bounding box labels (using logical OR)."""
176
+
177
+ def __init__(self, *, component_name: builtins.str=..., component_type: builtins.str=..., method: builtins.str=..., robot_name: builtins.str=..., robot_id: builtins.str=..., part_name: builtins.str=..., part_id: builtins.str=..., location_ids: collections.abc.Iterable[builtins.str] | None=..., organization_ids: collections.abc.Iterable[builtins.str] | None=..., mime_type: collections.abc.Iterable[builtins.str] | None=..., interval: global___CaptureInterval | None=..., tags_filter: global___TagsFilter | None=..., bbox_labels: collections.abc.Iterable[builtins.str] | None=..., dataset_id: builtins.str=...) -> None:
178
+ ...
179
+
180
+ def HasField(self, field_name: typing.Literal['interval', b'interval', 'tags_filter', b'tags_filter']) -> builtins.bool:
181
+ ...
182
+
183
+ def ClearField(self, field_name: typing.Literal['bbox_labels', b'bbox_labels', 'component_name', b'component_name', 'component_type', b'component_type', 'dataset_id', b'dataset_id', 'interval', b'interval', 'location_ids', b'location_ids', 'method', b'method', 'mime_type', b'mime_type', 'organization_ids', b'organization_ids', 'part_id', b'part_id', 'part_name', b'part_name', 'robot_id', b'robot_id', 'robot_name', b'robot_name', 'tags_filter', b'tags_filter']) -> None:
184
+ ...
185
+ global___Filter = Filter
186
+
187
+ @typing.final
188
+ class TagsFilter(google.protobuf.message.Message):
189
+ """TagsFilter defines the type of filtering and, if applicable, over which tags to perform a logical OR."""
190
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
191
+ TYPE_FIELD_NUMBER: builtins.int
192
+ TAGS_FIELD_NUMBER: builtins.int
193
+ type: global___TagsFilterType.ValueType
194
+
195
+ @property
196
+ def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
197
+ """Tags are used to match documents if `type` is UNSPECIFIED or MATCH_BY_OR."""
198
+
199
+ def __init__(self, *, type: global___TagsFilterType.ValueType=..., tags: collections.abc.Iterable[builtins.str] | None=...) -> None:
200
+ ...
201
+
202
+ def ClearField(self, field_name: typing.Literal['tags', b'tags', 'type', b'type']) -> None:
203
+ ...
204
+ global___TagsFilter = TagsFilter
205
+
206
+ @typing.final
207
+ class CaptureMetadata(google.protobuf.message.Message):
208
+ """CaptureMetadata contains information on the settings used for the data capture."""
209
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
210
+
211
+ @typing.final
212
+ class MethodParametersEntry(google.protobuf.message.Message):
213
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
214
+ KEY_FIELD_NUMBER: builtins.int
215
+ VALUE_FIELD_NUMBER: builtins.int
216
+ key: builtins.str
217
+
218
+ @property
219
+ def value(self) -> google.protobuf.any_pb2.Any:
220
+ ...
221
+
222
+ def __init__(self, *, key: builtins.str=..., value: google.protobuf.any_pb2.Any | None=...) -> None:
223
+ ...
224
+
225
+ def HasField(self, field_name: typing.Literal['value', b'value']) -> builtins.bool:
226
+ ...
227
+
228
+ def ClearField(self, field_name: typing.Literal['key', b'key', 'value', b'value']) -> None:
229
+ ...
230
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
231
+ LOCATION_ID_FIELD_NUMBER: builtins.int
232
+ ROBOT_NAME_FIELD_NUMBER: builtins.int
233
+ ROBOT_ID_FIELD_NUMBER: builtins.int
234
+ PART_NAME_FIELD_NUMBER: builtins.int
235
+ PART_ID_FIELD_NUMBER: builtins.int
236
+ COMPONENT_TYPE_FIELD_NUMBER: builtins.int
237
+ COMPONENT_NAME_FIELD_NUMBER: builtins.int
238
+ METHOD_NAME_FIELD_NUMBER: builtins.int
239
+ METHOD_PARAMETERS_FIELD_NUMBER: builtins.int
240
+ TAGS_FIELD_NUMBER: builtins.int
241
+ MIME_TYPE_FIELD_NUMBER: builtins.int
242
+ organization_id: builtins.str
243
+ location_id: builtins.str
244
+ robot_name: builtins.str
245
+ robot_id: builtins.str
246
+ part_name: builtins.str
247
+ part_id: builtins.str
248
+ component_type: builtins.str
249
+ component_name: builtins.str
250
+ method_name: builtins.str
251
+ mime_type: builtins.str
252
+
253
+ @property
254
+ def method_parameters(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, google.protobuf.any_pb2.Any]:
255
+ ...
256
+
257
+ @property
258
+ def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
259
+ ...
260
+
261
+ def __init__(self, *, organization_id: builtins.str=..., location_id: builtins.str=..., robot_name: builtins.str=..., robot_id: builtins.str=..., part_name: builtins.str=..., part_id: builtins.str=..., component_type: builtins.str=..., component_name: builtins.str=..., method_name: builtins.str=..., method_parameters: collections.abc.Mapping[builtins.str, google.protobuf.any_pb2.Any] | None=..., tags: collections.abc.Iterable[builtins.str] | None=..., mime_type: builtins.str=...) -> None:
262
+ ...
263
+
264
+ def ClearField(self, field_name: typing.Literal['component_name', b'component_name', 'component_type', b'component_type', 'location_id', b'location_id', 'method_name', b'method_name', 'method_parameters', b'method_parameters', 'mime_type', b'mime_type', 'organization_id', b'organization_id', 'part_id', b'part_id', 'part_name', b'part_name', 'robot_id', b'robot_id', 'robot_name', b'robot_name', 'tags', b'tags']) -> None:
265
+ ...
266
+ global___CaptureMetadata = CaptureMetadata
267
+
268
+ @typing.final
269
+ class CaptureInterval(google.protobuf.message.Message):
270
+ """CaptureInterval describes the start and end time of the capture in this file."""
271
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
272
+ START_FIELD_NUMBER: builtins.int
273
+ END_FIELD_NUMBER: builtins.int
274
+
275
+ @property
276
+ def start(self) -> google.protobuf.timestamp_pb2.Timestamp:
277
+ ...
278
+
279
+ @property
280
+ def end(self) -> google.protobuf.timestamp_pb2.Timestamp:
281
+ ...
282
+
283
+ def __init__(self, *, start: google.protobuf.timestamp_pb2.Timestamp | None=..., end: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None:
284
+ ...
285
+
286
+ def HasField(self, field_name: typing.Literal['end', b'end', 'start', b'start']) -> builtins.bool:
287
+ ...
288
+
289
+ def ClearField(self, field_name: typing.Literal['end', b'end', 'start', b'start']) -> None:
290
+ ...
291
+ global___CaptureInterval = CaptureInterval
292
+
293
+ @typing.final
294
+ class TabularDataByFilterRequest(google.protobuf.message.Message):
295
+ """TabularDataByFilterRequest requests tabular data based on filter values."""
296
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
297
+ DATA_REQUEST_FIELD_NUMBER: builtins.int
298
+ COUNT_ONLY_FIELD_NUMBER: builtins.int
299
+ INCLUDE_INTERNAL_DATA_FIELD_NUMBER: builtins.int
300
+ count_only: builtins.bool
301
+ include_internal_data: builtins.bool
302
+
303
+ @property
304
+ def data_request(self) -> global___DataRequest:
305
+ ...
306
+
307
+ def __init__(self, *, data_request: global___DataRequest | None=..., count_only: builtins.bool=..., include_internal_data: builtins.bool=...) -> None:
308
+ ...
309
+
310
+ def HasField(self, field_name: typing.Literal['data_request', b'data_request']) -> builtins.bool:
311
+ ...
312
+
313
+ def ClearField(self, field_name: typing.Literal['count_only', b'count_only', 'data_request', b'data_request', 'include_internal_data', b'include_internal_data']) -> None:
314
+ ...
315
+ global___TabularDataByFilterRequest = TabularDataByFilterRequest
316
+
317
+ @typing.final
318
+ class TabularDataByFilterResponse(google.protobuf.message.Message):
319
+ """TabularDataByFilterResponse provides the data and metadata of tabular data."""
320
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
321
+ METADATA_FIELD_NUMBER: builtins.int
322
+ DATA_FIELD_NUMBER: builtins.int
323
+ COUNT_FIELD_NUMBER: builtins.int
324
+ LAST_FIELD_NUMBER: builtins.int
325
+ TOTAL_SIZE_BYTES_FIELD_NUMBER: builtins.int
326
+ count: builtins.int
327
+ last: builtins.str
328
+ total_size_bytes: builtins.int
329
+
330
+ @property
331
+ def metadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CaptureMetadata]:
332
+ ...
333
+
334
+ @property
335
+ def data(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TabularData]:
336
+ ...
337
+
338
+ def __init__(self, *, metadata: collections.abc.Iterable[global___CaptureMetadata] | None=..., data: collections.abc.Iterable[global___TabularData] | None=..., count: builtins.int=..., last: builtins.str=..., total_size_bytes: builtins.int=...) -> None:
339
+ ...
340
+
341
+ def ClearField(self, field_name: typing.Literal['count', b'count', 'data', b'data', 'last', b'last', 'metadata', b'metadata', 'total_size_bytes', b'total_size_bytes']) -> None:
342
+ ...
343
+ global___TabularDataByFilterResponse = TabularDataByFilterResponse
344
+
345
+ @typing.final
346
+ class TabularData(google.protobuf.message.Message):
347
+ """TabularData contains data and metadata associated with tabular data."""
348
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
349
+ DATA_FIELD_NUMBER: builtins.int
350
+ METADATA_INDEX_FIELD_NUMBER: builtins.int
351
+ TIME_REQUESTED_FIELD_NUMBER: builtins.int
352
+ TIME_RECEIVED_FIELD_NUMBER: builtins.int
353
+ metadata_index: builtins.int
354
+
355
+ @property
356
+ def data(self) -> google.protobuf.struct_pb2.Struct:
357
+ ...
358
+
359
+ @property
360
+ def time_requested(self) -> google.protobuf.timestamp_pb2.Timestamp:
361
+ ...
362
+
363
+ @property
364
+ def time_received(self) -> google.protobuf.timestamp_pb2.Timestamp:
365
+ ...
366
+
367
+ def __init__(self, *, data: google.protobuf.struct_pb2.Struct | None=..., metadata_index: builtins.int=..., time_requested: google.protobuf.timestamp_pb2.Timestamp | None=..., time_received: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None:
368
+ ...
369
+
370
+ def HasField(self, field_name: typing.Literal['data', b'data', 'time_received', b'time_received', 'time_requested', b'time_requested']) -> builtins.bool:
371
+ ...
372
+
373
+ def ClearField(self, field_name: typing.Literal['data', b'data', 'metadata_index', b'metadata_index', 'time_received', b'time_received', 'time_requested', b'time_requested']) -> None:
374
+ ...
375
+ global___TabularData = TabularData
376
+
377
+ @typing.final
378
+ class TabularDataBySQLRequest(google.protobuf.message.Message):
379
+ """TabularDataBySQLRequest requests tabular data using a SQL query."""
380
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
381
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
382
+ SQL_QUERY_FIELD_NUMBER: builtins.int
383
+ organization_id: builtins.str
384
+ sql_query: builtins.str
385
+ 'sql_query accepts any valid SQL SELECT statement. Tabular data is held in a database\n called "sensorData" and a table called readings, so queries should select from "readings"\n or "sensorData.readings".\n '
386
+
387
+ def __init__(self, *, organization_id: builtins.str=..., sql_query: builtins.str=...) -> None:
388
+ ...
389
+
390
+ def ClearField(self, field_name: typing.Literal['organization_id', b'organization_id', 'sql_query', b'sql_query']) -> None:
391
+ ...
392
+ global___TabularDataBySQLRequest = TabularDataBySQLRequest
393
+
394
+ @typing.final
395
+ class TabularDataBySQLResponse(google.protobuf.message.Message):
396
+ """TabularDataBySQLResponse provides unified tabular data and metadata, queried with SQL."""
397
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
398
+ RAW_DATA_FIELD_NUMBER: builtins.int
399
+
400
+ @property
401
+ def raw_data(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]:
402
+ ...
403
+
404
+ def __init__(self, *, raw_data: collections.abc.Iterable[builtins.bytes] | None=...) -> None:
405
+ ...
406
+
407
+ def ClearField(self, field_name: typing.Literal['raw_data', b'raw_data']) -> None:
408
+ ...
409
+ global___TabularDataBySQLResponse = TabularDataBySQLResponse
410
+
411
+ @typing.final
412
+ class TabularDataSource(google.protobuf.message.Message):
413
+ """TabularDataSource specifies the data source for user queries to execute on."""
414
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
415
+ TYPE_FIELD_NUMBER: builtins.int
416
+ PIPELINE_ID_FIELD_NUMBER: builtins.int
417
+ type: global___TabularDataSourceType.ValueType
418
+ pipeline_id: builtins.str
419
+ 'pipeline_id is the ID of the pipeline to query. Required when using\n TABULAR_DATA_SOURCE_TYPE_PIPELINE_SINK.\n '
420
+
421
+ def __init__(self, *, type: global___TabularDataSourceType.ValueType=..., pipeline_id: builtins.str | None=...) -> None:
422
+ ...
423
+
424
+ def HasField(self, field_name: typing.Literal['_pipeline_id', b'_pipeline_id', 'pipeline_id', b'pipeline_id']) -> builtins.bool:
425
+ ...
426
+
427
+ def ClearField(self, field_name: typing.Literal['_pipeline_id', b'_pipeline_id', 'pipeline_id', b'pipeline_id', 'type', b'type']) -> None:
428
+ ...
429
+
430
+ def WhichOneof(self, oneof_group: typing.Literal['_pipeline_id', b'_pipeline_id']) -> typing.Literal['pipeline_id'] | None:
431
+ ...
432
+ global___TabularDataSource = TabularDataSource
433
+
434
+ @typing.final
435
+ class TabularDataByMQLRequest(google.protobuf.message.Message):
436
+ """TabularDataByMQLRequest requests tabular data using an MQL query."""
437
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
438
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
439
+ MQL_BINARY_FIELD_NUMBER: builtins.int
440
+ USE_RECENT_DATA_FIELD_NUMBER: builtins.int
441
+ DATA_SOURCE_FIELD_NUMBER: builtins.int
442
+ organization_id: builtins.str
443
+ use_recent_data: builtins.bool
444
+ 'Deprecated, please use TABULAR_DATA_SOURCE_TYPE_HOT_STORAGE instead.'
445
+
446
+ @property
447
+ def mql_binary(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]:
448
+ """mql_binary accepts a MongoDB aggregation pipeline as a list of BSON documents, where each
449
+ document is one stage in the pipeline. The pipeline is run on the "sensorData.readings"
450
+ namespace, which holds the Viam organization's tabular data.
451
+ """
452
+
453
+ @property
454
+ def data_source(self) -> global___TabularDataSource:
455
+ """data_source is an optional field that can be used to specify the data source for the query.
456
+ If not specified, the query will run on "standard" storage.
457
+ """
458
+
459
+ def __init__(self, *, organization_id: builtins.str=..., mql_binary: collections.abc.Iterable[builtins.bytes] | None=..., use_recent_data: builtins.bool | None=..., data_source: global___TabularDataSource | None=...) -> None:
460
+ ...
461
+
462
+ def HasField(self, field_name: typing.Literal['_data_source', b'_data_source', '_use_recent_data', b'_use_recent_data', 'data_source', b'data_source', 'use_recent_data', b'use_recent_data']) -> builtins.bool:
463
+ ...
464
+
465
+ def ClearField(self, field_name: typing.Literal['_data_source', b'_data_source', '_use_recent_data', b'_use_recent_data', 'data_source', b'data_source', 'mql_binary', b'mql_binary', 'organization_id', b'organization_id', 'use_recent_data', b'use_recent_data']) -> None:
466
+ ...
467
+
468
+ @typing.overload
469
+ def WhichOneof(self, oneof_group: typing.Literal['_data_source', b'_data_source']) -> typing.Literal['data_source'] | None:
470
+ ...
471
+
472
+ @typing.overload
473
+ def WhichOneof(self, oneof_group: typing.Literal['_use_recent_data', b'_use_recent_data']) -> typing.Literal['use_recent_data'] | None:
474
+ ...
475
+ global___TabularDataByMQLRequest = TabularDataByMQLRequest
476
+
477
+ @typing.final
478
+ class TabularDataByMQLResponse(google.protobuf.message.Message):
479
+ """TabularDataByMQLResponse provides unified tabular data and metadata, queried with MQL."""
480
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
481
+ RAW_DATA_FIELD_NUMBER: builtins.int
482
+
483
+ @property
484
+ def raw_data(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]:
485
+ ...
486
+
487
+ def __init__(self, *, raw_data: collections.abc.Iterable[builtins.bytes] | None=...) -> None:
488
+ ...
489
+
490
+ def ClearField(self, field_name: typing.Literal['raw_data', b'raw_data']) -> None:
491
+ ...
492
+ global___TabularDataByMQLResponse = TabularDataByMQLResponse
493
+
494
+ @typing.final
495
+ class ExportTabularDataRequest(google.protobuf.message.Message):
496
+ """ExportTabularDataRequest requests tabular data from the specified data source."""
497
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
498
+ PART_ID_FIELD_NUMBER: builtins.int
499
+ RESOURCE_NAME_FIELD_NUMBER: builtins.int
500
+ RESOURCE_SUBTYPE_FIELD_NUMBER: builtins.int
501
+ METHOD_NAME_FIELD_NUMBER: builtins.int
502
+ INTERVAL_FIELD_NUMBER: builtins.int
503
+ part_id: builtins.str
504
+ resource_name: builtins.str
505
+ resource_subtype: builtins.str
506
+ method_name: builtins.str
507
+
508
+ @property
509
+ def interval(self) -> global___CaptureInterval:
510
+ ...
511
+
512
+ def __init__(self, *, part_id: builtins.str=..., resource_name: builtins.str=..., resource_subtype: builtins.str=..., method_name: builtins.str=..., interval: global___CaptureInterval | None=...) -> None:
513
+ ...
514
+
515
+ def HasField(self, field_name: typing.Literal['interval', b'interval']) -> builtins.bool:
516
+ ...
517
+
518
+ def ClearField(self, field_name: typing.Literal['interval', b'interval', 'method_name', b'method_name', 'part_id', b'part_id', 'resource_name', b'resource_name', 'resource_subtype', b'resource_subtype']) -> None:
519
+ ...
520
+ global___ExportTabularDataRequest = ExportTabularDataRequest
521
+
522
+ @typing.final
523
+ class ExportTabularDataResponse(google.protobuf.message.Message):
524
+ """ExportTabularDataResponse provides unified tabular data and metadata for a single data point from the specified data source."""
525
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
526
+ PART_ID_FIELD_NUMBER: builtins.int
527
+ RESOURCE_NAME_FIELD_NUMBER: builtins.int
528
+ RESOURCE_SUBTYPE_FIELD_NUMBER: builtins.int
529
+ METHOD_NAME_FIELD_NUMBER: builtins.int
530
+ TIME_CAPTURED_FIELD_NUMBER: builtins.int
531
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
532
+ LOCATION_ID_FIELD_NUMBER: builtins.int
533
+ ROBOT_NAME_FIELD_NUMBER: builtins.int
534
+ ROBOT_ID_FIELD_NUMBER: builtins.int
535
+ PART_NAME_FIELD_NUMBER: builtins.int
536
+ METHOD_PARAMETERS_FIELD_NUMBER: builtins.int
537
+ TAGS_FIELD_NUMBER: builtins.int
538
+ PAYLOAD_FIELD_NUMBER: builtins.int
539
+ part_id: builtins.str
540
+ resource_name: builtins.str
541
+ resource_subtype: builtins.str
542
+ method_name: builtins.str
543
+ organization_id: builtins.str
544
+ location_id: builtins.str
545
+ robot_name: builtins.str
546
+ robot_id: builtins.str
547
+ part_name: builtins.str
548
+
549
+ @property
550
+ def time_captured(self) -> google.protobuf.timestamp_pb2.Timestamp:
551
+ ...
552
+
553
+ @property
554
+ def method_parameters(self) -> google.protobuf.struct_pb2.Struct:
555
+ ...
556
+
557
+ @property
558
+ def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
559
+ ...
560
+
561
+ @property
562
+ def payload(self) -> google.protobuf.struct_pb2.Struct:
563
+ ...
564
+
565
+ def __init__(self, *, part_id: builtins.str=..., resource_name: builtins.str=..., resource_subtype: builtins.str=..., method_name: builtins.str=..., time_captured: google.protobuf.timestamp_pb2.Timestamp | None=..., organization_id: builtins.str=..., location_id: builtins.str=..., robot_name: builtins.str=..., robot_id: builtins.str=..., part_name: builtins.str=..., method_parameters: google.protobuf.struct_pb2.Struct | None=..., tags: collections.abc.Iterable[builtins.str] | None=..., payload: google.protobuf.struct_pb2.Struct | None=...) -> None:
566
+ ...
567
+
568
+ def HasField(self, field_name: typing.Literal['method_parameters', b'method_parameters', 'payload', b'payload', 'time_captured', b'time_captured']) -> builtins.bool:
569
+ ...
570
+
571
+ def ClearField(self, field_name: typing.Literal['location_id', b'location_id', 'method_name', b'method_name', 'method_parameters', b'method_parameters', 'organization_id', b'organization_id', 'part_id', b'part_id', 'part_name', b'part_name', 'payload', b'payload', 'resource_name', b'resource_name', 'resource_subtype', b'resource_subtype', 'robot_id', b'robot_id', 'robot_name', b'robot_name', 'tags', b'tags', 'time_captured', b'time_captured']) -> None:
572
+ ...
573
+ global___ExportTabularDataResponse = ExportTabularDataResponse
574
+
575
+ @typing.final
576
+ class GetLatestTabularDataRequest(google.protobuf.message.Message):
577
+ """GetLatestTabularDataRequest requests the most recent tabular data captured from the specified data source."""
578
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
579
+ PART_ID_FIELD_NUMBER: builtins.int
580
+ RESOURCE_NAME_FIELD_NUMBER: builtins.int
581
+ METHOD_NAME_FIELD_NUMBER: builtins.int
582
+ RESOURCE_SUBTYPE_FIELD_NUMBER: builtins.int
583
+ part_id: builtins.str
584
+ resource_name: builtins.str
585
+ method_name: builtins.str
586
+ resource_subtype: builtins.str
587
+
588
+ def __init__(self, *, part_id: builtins.str=..., resource_name: builtins.str=..., method_name: builtins.str=..., resource_subtype: builtins.str=...) -> None:
589
+ ...
590
+
591
+ def ClearField(self, field_name: typing.Literal['method_name', b'method_name', 'part_id', b'part_id', 'resource_name', b'resource_name', 'resource_subtype', b'resource_subtype']) -> None:
592
+ ...
593
+ global___GetLatestTabularDataRequest = GetLatestTabularDataRequest
594
+
595
+ @typing.final
596
+ class GetLatestTabularDataResponse(google.protobuf.message.Message):
597
+ """GetLatestTabularDataResponse provides the data, time synced, and time captured of the most recent tabular data captured
598
+ from the requested data source, as long as it was synced within the last year.
599
+ """
600
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
601
+ TIME_CAPTURED_FIELD_NUMBER: builtins.int
602
+ TIME_SYNCED_FIELD_NUMBER: builtins.int
603
+ PAYLOAD_FIELD_NUMBER: builtins.int
604
+
605
+ @property
606
+ def time_captured(self) -> google.protobuf.timestamp_pb2.Timestamp:
607
+ ...
608
+
609
+ @property
610
+ def time_synced(self) -> google.protobuf.timestamp_pb2.Timestamp:
611
+ ...
612
+
613
+ @property
614
+ def payload(self) -> google.protobuf.struct_pb2.Struct:
615
+ ...
616
+
617
+ def __init__(self, *, time_captured: google.protobuf.timestamp_pb2.Timestamp | None=..., time_synced: google.protobuf.timestamp_pb2.Timestamp | None=..., payload: google.protobuf.struct_pb2.Struct | None=...) -> None:
618
+ ...
619
+
620
+ def HasField(self, field_name: typing.Literal['payload', b'payload', 'time_captured', b'time_captured', 'time_synced', b'time_synced']) -> builtins.bool:
621
+ ...
622
+
623
+ def ClearField(self, field_name: typing.Literal['payload', b'payload', 'time_captured', b'time_captured', 'time_synced', b'time_synced']) -> None:
624
+ ...
625
+ global___GetLatestTabularDataResponse = GetLatestTabularDataResponse
626
+
627
+ @typing.final
628
+ class BinaryData(google.protobuf.message.Message):
629
+ """BinaryData contains data and metadata associated with binary data."""
630
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
631
+ BINARY_FIELD_NUMBER: builtins.int
632
+ METADATA_FIELD_NUMBER: builtins.int
633
+ binary: builtins.bytes
634
+
635
+ @property
636
+ def metadata(self) -> global___BinaryMetadata:
637
+ ...
638
+
639
+ def __init__(self, *, binary: builtins.bytes=..., metadata: global___BinaryMetadata | None=...) -> None:
640
+ ...
641
+
642
+ def HasField(self, field_name: typing.Literal['metadata', b'metadata']) -> builtins.bool:
643
+ ...
644
+
645
+ def ClearField(self, field_name: typing.Literal['binary', b'binary', 'metadata', b'metadata']) -> None:
646
+ ...
647
+ global___BinaryData = BinaryData
648
+
649
+ @typing.final
650
+ class BinaryDataByFilterRequest(google.protobuf.message.Message):
651
+ """BinaryDataByFilterRequest requests the data and metadata of binary (image + file) data when a filter is provided."""
652
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
653
+ DATA_REQUEST_FIELD_NUMBER: builtins.int
654
+ INCLUDE_BINARY_FIELD_NUMBER: builtins.int
655
+ COUNT_ONLY_FIELD_NUMBER: builtins.int
656
+ INCLUDE_INTERNAL_DATA_FIELD_NUMBER: builtins.int
657
+ include_binary: builtins.bool
658
+ count_only: builtins.bool
659
+ include_internal_data: builtins.bool
660
+
661
+ @property
662
+ def data_request(self) -> global___DataRequest:
663
+ ...
664
+
665
+ def __init__(self, *, data_request: global___DataRequest | None=..., include_binary: builtins.bool=..., count_only: builtins.bool=..., include_internal_data: builtins.bool=...) -> None:
666
+ ...
667
+
668
+ def HasField(self, field_name: typing.Literal['data_request', b'data_request']) -> builtins.bool:
669
+ ...
670
+
671
+ def ClearField(self, field_name: typing.Literal['count_only', b'count_only', 'data_request', b'data_request', 'include_binary', b'include_binary', 'include_internal_data', b'include_internal_data']) -> None:
672
+ ...
673
+ global___BinaryDataByFilterRequest = BinaryDataByFilterRequest
674
+
675
+ @typing.final
676
+ class BinaryDataByFilterResponse(google.protobuf.message.Message):
677
+ """BinaryDataByFilterResponse provides the data and metadata of binary (image + file) data when a filter is provided."""
678
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
679
+ DATA_FIELD_NUMBER: builtins.int
680
+ COUNT_FIELD_NUMBER: builtins.int
681
+ LAST_FIELD_NUMBER: builtins.int
682
+ TOTAL_SIZE_BYTES_FIELD_NUMBER: builtins.int
683
+ count: builtins.int
684
+ last: builtins.str
685
+ total_size_bytes: builtins.int
686
+
687
+ @property
688
+ def data(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryData]:
689
+ ...
690
+
691
+ def __init__(self, *, data: collections.abc.Iterable[global___BinaryData] | None=..., count: builtins.int=..., last: builtins.str=..., total_size_bytes: builtins.int=...) -> None:
692
+ ...
693
+
694
+ def ClearField(self, field_name: typing.Literal['count', b'count', 'data', b'data', 'last', b'last', 'total_size_bytes', b'total_size_bytes']) -> None:
695
+ ...
696
+ global___BinaryDataByFilterResponse = BinaryDataByFilterResponse
697
+
698
+ @typing.final
699
+ class BinaryID(google.protobuf.message.Message):
700
+ """BinaryID is the unique identifier for a file that one can request to be retrieved or modified."""
701
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
702
+ FILE_ID_FIELD_NUMBER: builtins.int
703
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
704
+ LOCATION_ID_FIELD_NUMBER: builtins.int
705
+ file_id: builtins.str
706
+ organization_id: builtins.str
707
+ location_id: builtins.str
708
+
709
+ def __init__(self, *, file_id: builtins.str=..., organization_id: builtins.str=..., location_id: builtins.str=...) -> None:
710
+ ...
711
+
712
+ def ClearField(self, field_name: typing.Literal['file_id', b'file_id', 'location_id', b'location_id', 'organization_id', b'organization_id']) -> None:
713
+ ...
714
+ global___BinaryID = BinaryID
715
+
716
+ @typing.final
717
+ class BinaryDataByIDsRequest(google.protobuf.message.Message):
718
+ """BinaryDataByFilterRequest requests the data and metadata of binary (image + file) data by binary ids."""
719
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
720
+ INCLUDE_BINARY_FIELD_NUMBER: builtins.int
721
+ BINARY_IDS_FIELD_NUMBER: builtins.int
722
+ BINARY_DATA_IDS_FIELD_NUMBER: builtins.int
723
+ include_binary: builtins.bool
724
+
725
+ @property
726
+ def binary_ids(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryID]:
727
+ ...
728
+
729
+ @property
730
+ def binary_data_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
731
+ ...
732
+
733
+ def __init__(self, *, include_binary: builtins.bool=..., binary_ids: collections.abc.Iterable[global___BinaryID] | None=..., binary_data_ids: collections.abc.Iterable[builtins.str] | None=...) -> None:
734
+ ...
735
+
736
+ def ClearField(self, field_name: typing.Literal['binary_data_ids', b'binary_data_ids', 'binary_ids', b'binary_ids', 'include_binary', b'include_binary']) -> None:
737
+ ...
738
+ global___BinaryDataByIDsRequest = BinaryDataByIDsRequest
739
+
740
+ @typing.final
741
+ class BinaryDataByIDsResponse(google.protobuf.message.Message):
742
+ """BinaryDataByIDsResponse provides the data and metadata of binary (image + file) data when a filter is provided."""
743
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
744
+ DATA_FIELD_NUMBER: builtins.int
745
+ COUNT_FIELD_NUMBER: builtins.int
746
+ count: builtins.int
747
+
748
+ @property
749
+ def data(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryData]:
750
+ ...
751
+
752
+ def __init__(self, *, data: collections.abc.Iterable[global___BinaryData] | None=..., count: builtins.int=...) -> None:
753
+ ...
754
+
755
+ def ClearField(self, field_name: typing.Literal['count', b'count', 'data', b'data']) -> None:
756
+ ...
757
+ global___BinaryDataByIDsResponse = BinaryDataByIDsResponse
758
+
759
+ @typing.final
760
+ class BoundingBox(google.protobuf.message.Message):
761
+ """BoundingBox represents a labeled bounding box on an image.
762
+ x and y values are normalized ratios between 0 and 1.
763
+ """
764
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
765
+ ID_FIELD_NUMBER: builtins.int
766
+ LABEL_FIELD_NUMBER: builtins.int
767
+ X_MIN_NORMALIZED_FIELD_NUMBER: builtins.int
768
+ Y_MIN_NORMALIZED_FIELD_NUMBER: builtins.int
769
+ X_MAX_NORMALIZED_FIELD_NUMBER: builtins.int
770
+ Y_MAX_NORMALIZED_FIELD_NUMBER: builtins.int
771
+ CONFIDENCE_FIELD_NUMBER: builtins.int
772
+ id: builtins.str
773
+ label: builtins.str
774
+ x_min_normalized: builtins.float
775
+ y_min_normalized: builtins.float
776
+ x_max_normalized: builtins.float
777
+ y_max_normalized: builtins.float
778
+ confidence: builtins.float
779
+ 'confidence is an optional range from 0 - 1'
780
+
781
+ def __init__(self, *, id: builtins.str=..., label: builtins.str=..., x_min_normalized: builtins.float=..., y_min_normalized: builtins.float=..., x_max_normalized: builtins.float=..., y_max_normalized: builtins.float=..., confidence: builtins.float | None=...) -> None:
782
+ ...
783
+
784
+ def HasField(self, field_name: typing.Literal['_confidence', b'_confidence', 'confidence', b'confidence']) -> builtins.bool:
785
+ ...
786
+
787
+ def ClearField(self, field_name: typing.Literal['_confidence', b'_confidence', 'confidence', b'confidence', 'id', b'id', 'label', b'label', 'x_max_normalized', b'x_max_normalized', 'x_min_normalized', b'x_min_normalized', 'y_max_normalized', b'y_max_normalized', 'y_min_normalized', b'y_min_normalized']) -> None:
788
+ ...
789
+
790
+ def WhichOneof(self, oneof_group: typing.Literal['_confidence', b'_confidence']) -> typing.Literal['confidence'] | None:
791
+ ...
792
+ global___BoundingBox = BoundingBox
793
+
794
+ @typing.final
795
+ class Classification(google.protobuf.message.Message):
796
+ """Classification represents a confidence score with a label."""
797
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
798
+ LABEL_FIELD_NUMBER: builtins.int
799
+ CONFIDENCE_FIELD_NUMBER: builtins.int
800
+ label: builtins.str
801
+ confidence: builtins.float
802
+ 'confidence is an optional range from 0 - 1'
803
+
804
+ def __init__(self, *, label: builtins.str=..., confidence: builtins.float | None=...) -> None:
805
+ ...
806
+
807
+ def HasField(self, field_name: typing.Literal['_confidence', b'_confidence', 'confidence', b'confidence']) -> builtins.bool:
808
+ ...
809
+
810
+ def ClearField(self, field_name: typing.Literal['_confidence', b'_confidence', 'confidence', b'confidence', 'label', b'label']) -> None:
811
+ ...
812
+
813
+ def WhichOneof(self, oneof_group: typing.Literal['_confidence', b'_confidence']) -> typing.Literal['confidence'] | None:
814
+ ...
815
+ global___Classification = Classification
816
+
817
+ @typing.final
818
+ class Annotations(google.protobuf.message.Message):
819
+ """Annotations are data annotations used for machine learning."""
820
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
821
+ BBOXES_FIELD_NUMBER: builtins.int
822
+ CLASSIFICATIONS_FIELD_NUMBER: builtins.int
823
+
824
+ @property
825
+ def bboxes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BoundingBox]:
826
+ ...
827
+
828
+ @property
829
+ def classifications(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Classification]:
830
+ ...
831
+
832
+ def __init__(self, *, bboxes: collections.abc.Iterable[global___BoundingBox] | None=..., classifications: collections.abc.Iterable[global___Classification] | None=...) -> None:
833
+ ...
834
+
835
+ def ClearField(self, field_name: typing.Literal['bboxes', b'bboxes', 'classifications', b'classifications']) -> None:
836
+ ...
837
+ global___Annotations = Annotations
838
+
839
+ @typing.final
840
+ class BinaryMetadata(google.protobuf.message.Message):
841
+ """BinaryMetadata is the metadata associated with binary data."""
842
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
843
+ ID_FIELD_NUMBER: builtins.int
844
+ CAPTURE_METADATA_FIELD_NUMBER: builtins.int
845
+ TIME_REQUESTED_FIELD_NUMBER: builtins.int
846
+ TIME_RECEIVED_FIELD_NUMBER: builtins.int
847
+ FILE_NAME_FIELD_NUMBER: builtins.int
848
+ FILE_EXT_FIELD_NUMBER: builtins.int
849
+ URI_FIELD_NUMBER: builtins.int
850
+ ANNOTATIONS_FIELD_NUMBER: builtins.int
851
+ DATASET_IDS_FIELD_NUMBER: builtins.int
852
+ BINARY_DATA_ID_FIELD_NUMBER: builtins.int
853
+ id: builtins.str
854
+ file_name: builtins.str
855
+ file_ext: builtins.str
856
+ uri: builtins.str
857
+ binary_data_id: builtins.str
858
+
859
+ @property
860
+ def capture_metadata(self) -> global___CaptureMetadata:
861
+ ...
862
+
863
+ @property
864
+ def time_requested(self) -> google.protobuf.timestamp_pb2.Timestamp:
865
+ ...
866
+
867
+ @property
868
+ def time_received(self) -> google.protobuf.timestamp_pb2.Timestamp:
869
+ ...
870
+
871
+ @property
872
+ def annotations(self) -> global___Annotations:
873
+ ...
874
+
875
+ @property
876
+ def dataset_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
877
+ ...
878
+
879
+ def __init__(self, *, id: builtins.str=..., capture_metadata: global___CaptureMetadata | None=..., time_requested: google.protobuf.timestamp_pb2.Timestamp | None=..., time_received: google.protobuf.timestamp_pb2.Timestamp | None=..., file_name: builtins.str=..., file_ext: builtins.str=..., uri: builtins.str=..., annotations: global___Annotations | None=..., dataset_ids: collections.abc.Iterable[builtins.str] | None=..., binary_data_id: builtins.str=...) -> None:
880
+ ...
881
+
882
+ def HasField(self, field_name: typing.Literal['annotations', b'annotations', 'capture_metadata', b'capture_metadata', 'time_received', b'time_received', 'time_requested', b'time_requested']) -> builtins.bool:
883
+ ...
884
+
885
+ def ClearField(self, field_name: typing.Literal['annotations', b'annotations', 'binary_data_id', b'binary_data_id', 'capture_metadata', b'capture_metadata', 'dataset_ids', b'dataset_ids', 'file_ext', b'file_ext', 'file_name', b'file_name', 'id', b'id', 'time_received', b'time_received', 'time_requested', b'time_requested', 'uri', b'uri']) -> None:
886
+ ...
887
+ global___BinaryMetadata = BinaryMetadata
888
+
889
+ @typing.final
890
+ class DeleteTabularDataRequest(google.protobuf.message.Message):
891
+ """DeleteTabularDataRequest deletes the data from the organization that is older than `delete_older_than_days`
892
+ in UTC time. For example, if delete_older_than_days=1 and the request is made at 1AM EST on March 11
893
+ (March 11 5AM UTC), this deletes all data captured through March 10 11:59:59PM UTC.
894
+ If the request is at 10PM EST on March 11 (March 12 2AM UTC), this deletes all data captured
895
+ through March 11 11:59:59PM UTC.
896
+ If delete_older_than_days is 0, all existing data is deleted.
897
+ """
898
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
899
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
900
+ DELETE_OLDER_THAN_DAYS_FIELD_NUMBER: builtins.int
901
+ organization_id: builtins.str
902
+ delete_older_than_days: builtins.int
903
+
904
+ def __init__(self, *, organization_id: builtins.str=..., delete_older_than_days: builtins.int=...) -> None:
905
+ ...
906
+
907
+ def ClearField(self, field_name: typing.Literal['delete_older_than_days', b'delete_older_than_days', 'organization_id', b'organization_id']) -> None:
908
+ ...
909
+ global___DeleteTabularDataRequest = DeleteTabularDataRequest
910
+
911
+ @typing.final
912
+ class DeleteTabularDataResponse(google.protobuf.message.Message):
913
+ """DeleteBinaryDataResponse returns the number of tabular datapoints deleted."""
914
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
915
+ DELETED_COUNT_FIELD_NUMBER: builtins.int
916
+ deleted_count: builtins.int
917
+
918
+ def __init__(self, *, deleted_count: builtins.int=...) -> None:
919
+ ...
920
+
921
+ def ClearField(self, field_name: typing.Literal['deleted_count', b'deleted_count']) -> None:
922
+ ...
923
+ global___DeleteTabularDataResponse = DeleteTabularDataResponse
924
+
925
+ @typing.final
926
+ class DeleteBinaryDataByFilterRequest(google.protobuf.message.Message):
927
+ """DeleteBinaryDataByFilterRequest deletes the data and metadata of binary data when a filter is provided."""
928
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
929
+ FILTER_FIELD_NUMBER: builtins.int
930
+ INCLUDE_INTERNAL_DATA_FIELD_NUMBER: builtins.int
931
+ include_internal_data: builtins.bool
932
+
933
+ @property
934
+ def filter(self) -> global___Filter:
935
+ ...
936
+
937
+ def __init__(self, *, filter: global___Filter | None=..., include_internal_data: builtins.bool=...) -> None:
938
+ ...
939
+
940
+ def HasField(self, field_name: typing.Literal['filter', b'filter']) -> builtins.bool:
941
+ ...
942
+
943
+ def ClearField(self, field_name: typing.Literal['filter', b'filter', 'include_internal_data', b'include_internal_data']) -> None:
944
+ ...
945
+ global___DeleteBinaryDataByFilterRequest = DeleteBinaryDataByFilterRequest
946
+
947
+ @typing.final
948
+ class DeleteBinaryDataByFilterResponse(google.protobuf.message.Message):
949
+ """DeleteBinaryDataByFilterResponse returns the number of binary files deleted when a filter is provided."""
950
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
951
+ DELETED_COUNT_FIELD_NUMBER: builtins.int
952
+ deleted_count: builtins.int
953
+
954
+ def __init__(self, *, deleted_count: builtins.int=...) -> None:
955
+ ...
956
+
957
+ def ClearField(self, field_name: typing.Literal['deleted_count', b'deleted_count']) -> None:
958
+ ...
959
+ global___DeleteBinaryDataByFilterResponse = DeleteBinaryDataByFilterResponse
960
+
961
+ @typing.final
962
+ class DeleteBinaryDataByIDsRequest(google.protobuf.message.Message):
963
+ """DeleteBinaryDataByIDsRequest deletes the data and metadata of binary data when binary ids are provided."""
964
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
965
+ BINARY_IDS_FIELD_NUMBER: builtins.int
966
+ BINARY_DATA_IDS_FIELD_NUMBER: builtins.int
967
+
968
+ @property
969
+ def binary_ids(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryID]:
970
+ ...
971
+
972
+ @property
973
+ def binary_data_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
974
+ ...
975
+
976
+ def __init__(self, *, binary_ids: collections.abc.Iterable[global___BinaryID] | None=..., binary_data_ids: collections.abc.Iterable[builtins.str] | None=...) -> None:
977
+ ...
978
+
979
+ def ClearField(self, field_name: typing.Literal['binary_data_ids', b'binary_data_ids', 'binary_ids', b'binary_ids']) -> None:
980
+ ...
981
+ global___DeleteBinaryDataByIDsRequest = DeleteBinaryDataByIDsRequest
982
+
983
+ @typing.final
984
+ class DeleteBinaryDataByIDsResponse(google.protobuf.message.Message):
985
+ """DeleteBinaryDataByIDsResponse returns the number of binary files deleted when binary ids are provided."""
986
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
987
+ DELETED_COUNT_FIELD_NUMBER: builtins.int
988
+ deleted_count: builtins.int
989
+
990
+ def __init__(self, *, deleted_count: builtins.int=...) -> None:
991
+ ...
992
+
993
+ def ClearField(self, field_name: typing.Literal['deleted_count', b'deleted_count']) -> None:
994
+ ...
995
+ global___DeleteBinaryDataByIDsResponse = DeleteBinaryDataByIDsResponse
996
+
997
+ @typing.final
998
+ class AddTagsToBinaryDataByIDsRequest(google.protobuf.message.Message):
999
+ """AddTagsToBinaryDataByIDsRequest requests adding all specified tags to each of the files when binary ids are provided."""
1000
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1001
+ BINARY_IDS_FIELD_NUMBER: builtins.int
1002
+ BINARY_DATA_IDS_FIELD_NUMBER: builtins.int
1003
+ TAGS_FIELD_NUMBER: builtins.int
1004
+
1005
+ @property
1006
+ def binary_ids(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryID]:
1007
+ ...
1008
+
1009
+ @property
1010
+ def binary_data_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
1011
+ ...
1012
+
1013
+ @property
1014
+ def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
1015
+ ...
1016
+
1017
+ def __init__(self, *, binary_ids: collections.abc.Iterable[global___BinaryID] | None=..., binary_data_ids: collections.abc.Iterable[builtins.str] | None=..., tags: collections.abc.Iterable[builtins.str] | None=...) -> None:
1018
+ ...
1019
+
1020
+ def ClearField(self, field_name: typing.Literal['binary_data_ids', b'binary_data_ids', 'binary_ids', b'binary_ids', 'tags', b'tags']) -> None:
1021
+ ...
1022
+ global___AddTagsToBinaryDataByIDsRequest = AddTagsToBinaryDataByIDsRequest
1023
+
1024
+ @typing.final
1025
+ class AddTagsToBinaryDataByIDsResponse(google.protobuf.message.Message):
1026
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1027
+
1028
+ def __init__(self) -> None:
1029
+ ...
1030
+ global___AddTagsToBinaryDataByIDsResponse = AddTagsToBinaryDataByIDsResponse
1031
+
1032
+ @typing.final
1033
+ class AddTagsToBinaryDataByFilterRequest(google.protobuf.message.Message):
1034
+ """AddTagsToBinaryDataByFilterRequest requests adding all specified tags to each of the files when a filter is provided."""
1035
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1036
+ FILTER_FIELD_NUMBER: builtins.int
1037
+ TAGS_FIELD_NUMBER: builtins.int
1038
+
1039
+ @property
1040
+ def filter(self) -> global___Filter:
1041
+ ...
1042
+
1043
+ @property
1044
+ def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
1045
+ ...
1046
+
1047
+ def __init__(self, *, filter: global___Filter | None=..., tags: collections.abc.Iterable[builtins.str] | None=...) -> None:
1048
+ ...
1049
+
1050
+ def HasField(self, field_name: typing.Literal['filter', b'filter']) -> builtins.bool:
1051
+ ...
1052
+
1053
+ def ClearField(self, field_name: typing.Literal['filter', b'filter', 'tags', b'tags']) -> None:
1054
+ ...
1055
+ global___AddTagsToBinaryDataByFilterRequest = AddTagsToBinaryDataByFilterRequest
1056
+
1057
+ @typing.final
1058
+ class AddTagsToBinaryDataByFilterResponse(google.protobuf.message.Message):
1059
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1060
+
1061
+ def __init__(self) -> None:
1062
+ ...
1063
+ global___AddTagsToBinaryDataByFilterResponse = AddTagsToBinaryDataByFilterResponse
1064
+
1065
+ @typing.final
1066
+ class RemoveTagsFromBinaryDataByIDsRequest(google.protobuf.message.Message):
1067
+ """RemoveTagsFromBinaryDataByIDsRequest requests removing the given tags value from each file when binary ids are provided."""
1068
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1069
+ BINARY_IDS_FIELD_NUMBER: builtins.int
1070
+ BINARY_DATA_IDS_FIELD_NUMBER: builtins.int
1071
+ TAGS_FIELD_NUMBER: builtins.int
1072
+
1073
+ @property
1074
+ def binary_ids(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryID]:
1075
+ ...
1076
+
1077
+ @property
1078
+ def binary_data_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
1079
+ ...
1080
+
1081
+ @property
1082
+ def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
1083
+ ...
1084
+
1085
+ def __init__(self, *, binary_ids: collections.abc.Iterable[global___BinaryID] | None=..., binary_data_ids: collections.abc.Iterable[builtins.str] | None=..., tags: collections.abc.Iterable[builtins.str] | None=...) -> None:
1086
+ ...
1087
+
1088
+ def ClearField(self, field_name: typing.Literal['binary_data_ids', b'binary_data_ids', 'binary_ids', b'binary_ids', 'tags', b'tags']) -> None:
1089
+ ...
1090
+ global___RemoveTagsFromBinaryDataByIDsRequest = RemoveTagsFromBinaryDataByIDsRequest
1091
+
1092
+ @typing.final
1093
+ class RemoveTagsFromBinaryDataByIDsResponse(google.protobuf.message.Message):
1094
+ """RemoveTagsFromBinaryDataByIDsResponse returns the number of binary files which had tags removed"""
1095
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1096
+ DELETED_COUNT_FIELD_NUMBER: builtins.int
1097
+ deleted_count: builtins.int
1098
+
1099
+ def __init__(self, *, deleted_count: builtins.int=...) -> None:
1100
+ ...
1101
+
1102
+ def ClearField(self, field_name: typing.Literal['deleted_count', b'deleted_count']) -> None:
1103
+ ...
1104
+ global___RemoveTagsFromBinaryDataByIDsResponse = RemoveTagsFromBinaryDataByIDsResponse
1105
+
1106
+ @typing.final
1107
+ class RemoveTagsFromBinaryDataByFilterRequest(google.protobuf.message.Message):
1108
+ """RemoveTagsFromBinaryDataByFilterRequest requests removing the given tags value from each file when a filter is provided."""
1109
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1110
+ FILTER_FIELD_NUMBER: builtins.int
1111
+ TAGS_FIELD_NUMBER: builtins.int
1112
+
1113
+ @property
1114
+ def filter(self) -> global___Filter:
1115
+ ...
1116
+
1117
+ @property
1118
+ def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
1119
+ ...
1120
+
1121
+ def __init__(self, *, filter: global___Filter | None=..., tags: collections.abc.Iterable[builtins.str] | None=...) -> None:
1122
+ ...
1123
+
1124
+ def HasField(self, field_name: typing.Literal['filter', b'filter']) -> builtins.bool:
1125
+ ...
1126
+
1127
+ def ClearField(self, field_name: typing.Literal['filter', b'filter', 'tags', b'tags']) -> None:
1128
+ ...
1129
+ global___RemoveTagsFromBinaryDataByFilterRequest = RemoveTagsFromBinaryDataByFilterRequest
1130
+
1131
+ @typing.final
1132
+ class RemoveTagsFromBinaryDataByFilterResponse(google.protobuf.message.Message):
1133
+ """RemoveTagsFromBinaryDataByFilterResponse returns the number of binary files which had tags removed."""
1134
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1135
+ DELETED_COUNT_FIELD_NUMBER: builtins.int
1136
+ deleted_count: builtins.int
1137
+
1138
+ def __init__(self, *, deleted_count: builtins.int=...) -> None:
1139
+ ...
1140
+
1141
+ def ClearField(self, field_name: typing.Literal['deleted_count', b'deleted_count']) -> None:
1142
+ ...
1143
+ global___RemoveTagsFromBinaryDataByFilterResponse = RemoveTagsFromBinaryDataByFilterResponse
1144
+
1145
+ @typing.final
1146
+ class TagsByFilterRequest(google.protobuf.message.Message):
1147
+ """TagsByFilterRequest requests the unique tags from data based on given filter."""
1148
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1149
+ FILTER_FIELD_NUMBER: builtins.int
1150
+
1151
+ @property
1152
+ def filter(self) -> global___Filter:
1153
+ ...
1154
+
1155
+ def __init__(self, *, filter: global___Filter | None=...) -> None:
1156
+ ...
1157
+
1158
+ def HasField(self, field_name: typing.Literal['filter', b'filter']) -> builtins.bool:
1159
+ ...
1160
+
1161
+ def ClearField(self, field_name: typing.Literal['filter', b'filter']) -> None:
1162
+ ...
1163
+ global___TagsByFilterRequest = TagsByFilterRequest
1164
+
1165
+ @typing.final
1166
+ class TagsByFilterResponse(google.protobuf.message.Message):
1167
+ """TagsByFilterResponse returns the unique tags from data based on given filter."""
1168
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1169
+ TAGS_FIELD_NUMBER: builtins.int
1170
+
1171
+ @property
1172
+ def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
1173
+ ...
1174
+
1175
+ def __init__(self, *, tags: collections.abc.Iterable[builtins.str] | None=...) -> None:
1176
+ ...
1177
+
1178
+ def ClearField(self, field_name: typing.Literal['tags', b'tags']) -> None:
1179
+ ...
1180
+ global___TagsByFilterResponse = TagsByFilterResponse
1181
+
1182
+ @typing.final
1183
+ class AddBoundingBoxToImageByIDRequest(google.protobuf.message.Message):
1184
+ """AddBoundingBoxToImageByIDRequest specifies the binary ID to which a bounding box
1185
+ with the associated label and position in normalized coordinates will be added.
1186
+ """
1187
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1188
+ BINARY_ID_FIELD_NUMBER: builtins.int
1189
+ BINARY_DATA_ID_FIELD_NUMBER: builtins.int
1190
+ LABEL_FIELD_NUMBER: builtins.int
1191
+ X_MIN_NORMALIZED_FIELD_NUMBER: builtins.int
1192
+ Y_MIN_NORMALIZED_FIELD_NUMBER: builtins.int
1193
+ X_MAX_NORMALIZED_FIELD_NUMBER: builtins.int
1194
+ Y_MAX_NORMALIZED_FIELD_NUMBER: builtins.int
1195
+ binary_data_id: builtins.str
1196
+ label: builtins.str
1197
+ x_min_normalized: builtins.float
1198
+ y_min_normalized: builtins.float
1199
+ x_max_normalized: builtins.float
1200
+ y_max_normalized: builtins.float
1201
+
1202
+ @property
1203
+ def binary_id(self) -> global___BinaryID:
1204
+ ...
1205
+
1206
+ def __init__(self, *, binary_id: global___BinaryID | None=..., binary_data_id: builtins.str=..., label: builtins.str=..., x_min_normalized: builtins.float=..., y_min_normalized: builtins.float=..., x_max_normalized: builtins.float=..., y_max_normalized: builtins.float=...) -> None:
1207
+ ...
1208
+
1209
+ def HasField(self, field_name: typing.Literal['binary_id', b'binary_id']) -> builtins.bool:
1210
+ ...
1211
+
1212
+ def ClearField(self, field_name: typing.Literal['binary_data_id', b'binary_data_id', 'binary_id', b'binary_id', 'label', b'label', 'x_max_normalized', b'x_max_normalized', 'x_min_normalized', b'x_min_normalized', 'y_max_normalized', b'y_max_normalized', 'y_min_normalized', b'y_min_normalized']) -> None:
1213
+ ...
1214
+ global___AddBoundingBoxToImageByIDRequest = AddBoundingBoxToImageByIDRequest
1215
+
1216
+ @typing.final
1217
+ class AddBoundingBoxToImageByIDResponse(google.protobuf.message.Message):
1218
+ """AddBoundingBoxToImageByIDResponse returns the bounding box ID of the successfully added bounding box."""
1219
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1220
+ BBOX_ID_FIELD_NUMBER: builtins.int
1221
+ bbox_id: builtins.str
1222
+
1223
+ def __init__(self, *, bbox_id: builtins.str=...) -> None:
1224
+ ...
1225
+
1226
+ def ClearField(self, field_name: typing.Literal['bbox_id', b'bbox_id']) -> None:
1227
+ ...
1228
+ global___AddBoundingBoxToImageByIDResponse = AddBoundingBoxToImageByIDResponse
1229
+
1230
+ @typing.final
1231
+ class RemoveBoundingBoxFromImageByIDRequest(google.protobuf.message.Message):
1232
+ """RemoveBoundingBoxFromImageByIDRequest removes the bounding box with specified bounding box ID for the file represented by the binary ID."""
1233
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1234
+ BINARY_ID_FIELD_NUMBER: builtins.int
1235
+ BINARY_DATA_ID_FIELD_NUMBER: builtins.int
1236
+ BBOX_ID_FIELD_NUMBER: builtins.int
1237
+ binary_data_id: builtins.str
1238
+ bbox_id: builtins.str
1239
+
1240
+ @property
1241
+ def binary_id(self) -> global___BinaryID:
1242
+ ...
1243
+
1244
+ def __init__(self, *, binary_id: global___BinaryID | None=..., binary_data_id: builtins.str=..., bbox_id: builtins.str=...) -> None:
1245
+ ...
1246
+
1247
+ def HasField(self, field_name: typing.Literal['binary_id', b'binary_id']) -> builtins.bool:
1248
+ ...
1249
+
1250
+ def ClearField(self, field_name: typing.Literal['bbox_id', b'bbox_id', 'binary_data_id', b'binary_data_id', 'binary_id', b'binary_id']) -> None:
1251
+ ...
1252
+ global___RemoveBoundingBoxFromImageByIDRequest = RemoveBoundingBoxFromImageByIDRequest
1253
+
1254
+ @typing.final
1255
+ class RemoveBoundingBoxFromImageByIDResponse(google.protobuf.message.Message):
1256
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1257
+
1258
+ def __init__(self) -> None:
1259
+ ...
1260
+ global___RemoveBoundingBoxFromImageByIDResponse = RemoveBoundingBoxFromImageByIDResponse
1261
+
1262
+ @typing.final
1263
+ class UpdateBoundingBoxRequest(google.protobuf.message.Message):
1264
+ """UpdateBoundingBoxRequest updates the bounding box with specified bounding box ID for the file represented by the binary ID."""
1265
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1266
+ BINARY_ID_FIELD_NUMBER: builtins.int
1267
+ BINARY_DATA_ID_FIELD_NUMBER: builtins.int
1268
+ BBOX_ID_FIELD_NUMBER: builtins.int
1269
+ LABEL_FIELD_NUMBER: builtins.int
1270
+ X_MIN_NORMALIZED_FIELD_NUMBER: builtins.int
1271
+ Y_MIN_NORMALIZED_FIELD_NUMBER: builtins.int
1272
+ X_MAX_NORMALIZED_FIELD_NUMBER: builtins.int
1273
+ Y_MAX_NORMALIZED_FIELD_NUMBER: builtins.int
1274
+ binary_data_id: builtins.str
1275
+ bbox_id: builtins.str
1276
+ label: builtins.str
1277
+ x_min_normalized: builtins.float
1278
+ y_min_normalized: builtins.float
1279
+ x_max_normalized: builtins.float
1280
+ y_max_normalized: builtins.float
1281
+
1282
+ @property
1283
+ def binary_id(self) -> global___BinaryID:
1284
+ ...
1285
+
1286
+ def __init__(self, *, binary_id: global___BinaryID | None=..., binary_data_id: builtins.str=..., bbox_id: builtins.str=..., label: builtins.str | None=..., x_min_normalized: builtins.float | None=..., y_min_normalized: builtins.float | None=..., x_max_normalized: builtins.float | None=..., y_max_normalized: builtins.float | None=...) -> None:
1287
+ ...
1288
+
1289
+ def HasField(self, field_name: typing.Literal['_label', b'_label', '_x_max_normalized', b'_x_max_normalized', '_x_min_normalized', b'_x_min_normalized', '_y_max_normalized', b'_y_max_normalized', '_y_min_normalized', b'_y_min_normalized', 'binary_id', b'binary_id', 'label', b'label', 'x_max_normalized', b'x_max_normalized', 'x_min_normalized', b'x_min_normalized', 'y_max_normalized', b'y_max_normalized', 'y_min_normalized', b'y_min_normalized']) -> builtins.bool:
1290
+ ...
1291
+
1292
+ def ClearField(self, field_name: typing.Literal['_label', b'_label', '_x_max_normalized', b'_x_max_normalized', '_x_min_normalized', b'_x_min_normalized', '_y_max_normalized', b'_y_max_normalized', '_y_min_normalized', b'_y_min_normalized', 'bbox_id', b'bbox_id', 'binary_data_id', b'binary_data_id', 'binary_id', b'binary_id', 'label', b'label', 'x_max_normalized', b'x_max_normalized', 'x_min_normalized', b'x_min_normalized', 'y_max_normalized', b'y_max_normalized', 'y_min_normalized', b'y_min_normalized']) -> None:
1293
+ ...
1294
+
1295
+ @typing.overload
1296
+ def WhichOneof(self, oneof_group: typing.Literal['_label', b'_label']) -> typing.Literal['label'] | None:
1297
+ ...
1298
+
1299
+ @typing.overload
1300
+ def WhichOneof(self, oneof_group: typing.Literal['_x_max_normalized', b'_x_max_normalized']) -> typing.Literal['x_max_normalized'] | None:
1301
+ ...
1302
+
1303
+ @typing.overload
1304
+ def WhichOneof(self, oneof_group: typing.Literal['_x_min_normalized', b'_x_min_normalized']) -> typing.Literal['x_min_normalized'] | None:
1305
+ ...
1306
+
1307
+ @typing.overload
1308
+ def WhichOneof(self, oneof_group: typing.Literal['_y_max_normalized', b'_y_max_normalized']) -> typing.Literal['y_max_normalized'] | None:
1309
+ ...
1310
+
1311
+ @typing.overload
1312
+ def WhichOneof(self, oneof_group: typing.Literal['_y_min_normalized', b'_y_min_normalized']) -> typing.Literal['y_min_normalized'] | None:
1313
+ ...
1314
+ global___UpdateBoundingBoxRequest = UpdateBoundingBoxRequest
1315
+
1316
+ @typing.final
1317
+ class UpdateBoundingBoxResponse(google.protobuf.message.Message):
1318
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1319
+
1320
+ def __init__(self) -> None:
1321
+ ...
1322
+ global___UpdateBoundingBoxResponse = UpdateBoundingBoxResponse
1323
+
1324
+ @typing.final
1325
+ class BoundingBoxLabelsByFilterRequest(google.protobuf.message.Message):
1326
+ """BoundingBoxLabelsByFilterRequest requests all the labels of the bounding boxes from files from a given filter."""
1327
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1328
+ FILTER_FIELD_NUMBER: builtins.int
1329
+
1330
+ @property
1331
+ def filter(self) -> global___Filter:
1332
+ ...
1333
+
1334
+ def __init__(self, *, filter: global___Filter | None=...) -> None:
1335
+ ...
1336
+
1337
+ def HasField(self, field_name: typing.Literal['filter', b'filter']) -> builtins.bool:
1338
+ ...
1339
+
1340
+ def ClearField(self, field_name: typing.Literal['filter', b'filter']) -> None:
1341
+ ...
1342
+ global___BoundingBoxLabelsByFilterRequest = BoundingBoxLabelsByFilterRequest
1343
+
1344
+ @typing.final
1345
+ class BoundingBoxLabelsByFilterResponse(google.protobuf.message.Message):
1346
+ """BoundingBoxLabelsByFilterRequest returns all the labels of the bounding boxes from files from a given filter."""
1347
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1348
+ LABELS_FIELD_NUMBER: builtins.int
1349
+
1350
+ @property
1351
+ def labels(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
1352
+ ...
1353
+
1354
+ def __init__(self, *, labels: collections.abc.Iterable[builtins.str] | None=...) -> None:
1355
+ ...
1356
+
1357
+ def ClearField(self, field_name: typing.Literal['labels', b'labels']) -> None:
1358
+ ...
1359
+ global___BoundingBoxLabelsByFilterResponse = BoundingBoxLabelsByFilterResponse
1360
+
1361
+ @typing.final
1362
+ class ConfigureDatabaseUserRequest(google.protobuf.message.Message):
1363
+ """ConfigureDatabaseUserRequest accepts a Viam organization ID and a password for the database user
1364
+ being configured. Viam uses gRPC over TLS, so the entire request will be encrypted while in
1365
+ flight, including the password.
1366
+ """
1367
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1368
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
1369
+ PASSWORD_FIELD_NUMBER: builtins.int
1370
+ organization_id: builtins.str
1371
+ password: builtins.str
1372
+
1373
+ def __init__(self, *, organization_id: builtins.str=..., password: builtins.str=...) -> None:
1374
+ ...
1375
+
1376
+ def ClearField(self, field_name: typing.Literal['organization_id', b'organization_id', 'password', b'password']) -> None:
1377
+ ...
1378
+ global___ConfigureDatabaseUserRequest = ConfigureDatabaseUserRequest
1379
+
1380
+ @typing.final
1381
+ class ConfigureDatabaseUserResponse(google.protobuf.message.Message):
1382
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1383
+
1384
+ def __init__(self) -> None:
1385
+ ...
1386
+ global___ConfigureDatabaseUserResponse = ConfigureDatabaseUserResponse
1387
+
1388
+ @typing.final
1389
+ class GetDatabaseConnectionRequest(google.protobuf.message.Message):
1390
+ """GetDatabaseConnectionRequest requests the database connection hostname."""
1391
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1392
+ ORGANIZATION_ID_FIELD_NUMBER: builtins.int
1393
+ organization_id: builtins.str
1394
+
1395
+ def __init__(self, *, organization_id: builtins.str=...) -> None:
1396
+ ...
1397
+
1398
+ def ClearField(self, field_name: typing.Literal['organization_id', b'organization_id']) -> None:
1399
+ ...
1400
+ global___GetDatabaseConnectionRequest = GetDatabaseConnectionRequest
1401
+
1402
+ @typing.final
1403
+ class GetDatabaseConnectionResponse(google.protobuf.message.Message):
1404
+ """GetDatabaseConnectionResponse returns the database connection hostname endpoint. It also returns
1405
+ a URI that can be used to connect to the database instance through MongoDB clients, as well as
1406
+ information on whether the Viam organization has a database user configured.
1407
+ """
1408
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1409
+ HOSTNAME_FIELD_NUMBER: builtins.int
1410
+ MONGODB_URI_FIELD_NUMBER: builtins.int
1411
+ HAS_DATABASE_USER_FIELD_NUMBER: builtins.int
1412
+ hostname: builtins.str
1413
+ mongodb_uri: builtins.str
1414
+ has_database_user: builtins.bool
1415
+
1416
+ def __init__(self, *, hostname: builtins.str=..., mongodb_uri: builtins.str=..., has_database_user: builtins.bool=...) -> None:
1417
+ ...
1418
+
1419
+ def ClearField(self, field_name: typing.Literal['has_database_user', b'has_database_user', 'hostname', b'hostname', 'mongodb_uri', b'mongodb_uri']) -> None:
1420
+ ...
1421
+ global___GetDatabaseConnectionResponse = GetDatabaseConnectionResponse
1422
+
1423
+ @typing.final
1424
+ class AddBinaryDataToDatasetByIDsRequest(google.protobuf.message.Message):
1425
+ """AddBinaryDataToDatasetByIDsRequest adds the binary data with the given binary IDs to a dataset with dataset_id."""
1426
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1427
+ BINARY_IDS_FIELD_NUMBER: builtins.int
1428
+ BINARY_DATA_IDS_FIELD_NUMBER: builtins.int
1429
+ DATASET_ID_FIELD_NUMBER: builtins.int
1430
+ dataset_id: builtins.str
1431
+
1432
+ @property
1433
+ def binary_ids(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryID]:
1434
+ ...
1435
+
1436
+ @property
1437
+ def binary_data_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
1438
+ ...
1439
+
1440
+ def __init__(self, *, binary_ids: collections.abc.Iterable[global___BinaryID] | None=..., binary_data_ids: collections.abc.Iterable[builtins.str] | None=..., dataset_id: builtins.str=...) -> None:
1441
+ ...
1442
+
1443
+ def ClearField(self, field_name: typing.Literal['binary_data_ids', b'binary_data_ids', 'binary_ids', b'binary_ids', 'dataset_id', b'dataset_id']) -> None:
1444
+ ...
1445
+ global___AddBinaryDataToDatasetByIDsRequest = AddBinaryDataToDatasetByIDsRequest
1446
+
1447
+ @typing.final
1448
+ class AddBinaryDataToDatasetByIDsResponse(google.protobuf.message.Message):
1449
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1450
+
1451
+ def __init__(self) -> None:
1452
+ ...
1453
+ global___AddBinaryDataToDatasetByIDsResponse = AddBinaryDataToDatasetByIDsResponse
1454
+
1455
+ @typing.final
1456
+ class RemoveBinaryDataFromDatasetByIDsRequest(google.protobuf.message.Message):
1457
+ """RemoveBinaryDataFromDatasetByIDsRequest removes the specified binary IDs from a dataset with dataset_id."""
1458
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1459
+ BINARY_IDS_FIELD_NUMBER: builtins.int
1460
+ BINARY_DATA_IDS_FIELD_NUMBER: builtins.int
1461
+ DATASET_ID_FIELD_NUMBER: builtins.int
1462
+ dataset_id: builtins.str
1463
+
1464
+ @property
1465
+ def binary_ids(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryID]:
1466
+ ...
1467
+
1468
+ @property
1469
+ def binary_data_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
1470
+ ...
1471
+
1472
+ def __init__(self, *, binary_ids: collections.abc.Iterable[global___BinaryID] | None=..., binary_data_ids: collections.abc.Iterable[builtins.str] | None=..., dataset_id: builtins.str=...) -> None:
1473
+ ...
1474
+
1475
+ def ClearField(self, field_name: typing.Literal['binary_data_ids', b'binary_data_ids', 'binary_ids', b'binary_ids', 'dataset_id', b'dataset_id']) -> None:
1476
+ ...
1477
+ global___RemoveBinaryDataFromDatasetByIDsRequest = RemoveBinaryDataFromDatasetByIDsRequest
1478
+
1479
+ @typing.final
1480
+ class RemoveBinaryDataFromDatasetByIDsResponse(google.protobuf.message.Message):
1481
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1482
+
1483
+ def __init__(self) -> None:
1484
+ ...
1485
+ global___RemoveBinaryDataFromDatasetByIDsResponse = RemoveBinaryDataFromDatasetByIDsResponse