viam-sdk 0.25.2__py3-none-linux_armv7l.whl → 0.62.0__py3-none-linux_armv7l.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. viam/app/_logs.py +3 -6
  2. viam/app/app_client.py +606 -262
  3. viam/app/billing_client.py +60 -18
  4. viam/app/data_client.py +1086 -315
  5. viam/app/ml_training_client.py +51 -48
  6. viam/app/provisioning_client.py +3 -5
  7. viam/app/viam_client.py +105 -11
  8. viam/components/arm/__init__.py +1 -25
  9. viam/components/arm/arm.py +21 -22
  10. viam/components/arm/client.py +27 -30
  11. viam/components/arm/service.py +3 -3
  12. viam/components/audio_in/__init__.py +24 -0
  13. viam/components/audio_in/audio_in.py +74 -0
  14. viam/components/audio_in/client.py +76 -0
  15. viam/components/audio_in/service.py +83 -0
  16. viam/components/audio_input/__init__.py +1 -1
  17. viam/components/audio_input/audio_input.py +4 -3
  18. viam/components/audio_input/client.py +19 -8
  19. viam/components/audio_input/service.py +10 -0
  20. viam/components/audio_out/__init__.py +21 -0
  21. viam/components/audio_out/audio_out.py +72 -0
  22. viam/components/audio_out/client.py +67 -0
  23. viam/components/audio_out/service.py +63 -0
  24. viam/components/base/__init__.py +2 -10
  25. viam/components/base/base.py +20 -20
  26. viam/components/base/client.py +27 -30
  27. viam/components/board/__init__.py +2 -25
  28. viam/components/board/board.py +39 -77
  29. viam/components/board/client.py +39 -73
  30. viam/components/button/__init__.py +10 -0
  31. viam/components/button/button.py +41 -0
  32. viam/components/button/client.py +52 -0
  33. viam/components/button/service.py +46 -0
  34. viam/components/camera/__init__.py +1 -1
  35. viam/components/camera/camera.py +31 -22
  36. viam/components/camera/client.py +30 -20
  37. viam/components/camera/service.py +14 -12
  38. viam/components/component_base.py +10 -7
  39. viam/components/encoder/__init__.py +1 -1
  40. viam/components/encoder/client.py +15 -16
  41. viam/components/encoder/encoder.py +9 -9
  42. viam/components/gantry/__init__.py +1 -13
  43. viam/components/gantry/client.py +41 -28
  44. viam/components/gantry/gantry.py +48 -17
  45. viam/components/gantry/service.py +21 -5
  46. viam/components/generic/__init__.py +1 -1
  47. viam/components/generic/client.py +11 -7
  48. viam/components/generic/generic.py +3 -3
  49. viam/components/gripper/__init__.py +3 -12
  50. viam/components/gripper/client.py +43 -20
  51. viam/components/gripper/gripper.py +87 -12
  52. viam/components/gripper/service.py +32 -3
  53. viam/components/input/__init__.py +1 -14
  54. viam/components/input/client.py +22 -23
  55. viam/components/input/input.py +18 -12
  56. viam/components/motor/__init__.py +1 -21
  57. viam/components/motor/client.py +36 -42
  58. viam/components/motor/motor.py +24 -24
  59. viam/components/movement_sensor/__init__.py +1 -1
  60. viam/components/movement_sensor/client.py +33 -40
  61. viam/components/movement_sensor/movement_sensor.py +12 -12
  62. viam/components/pose_tracker/__init__.py +1 -1
  63. viam/components/pose_tracker/client.py +9 -8
  64. viam/components/pose_tracker/pose_tracker.py +2 -2
  65. viam/components/power_sensor/__init__.py +1 -1
  66. viam/components/power_sensor/client.py +15 -18
  67. viam/components/power_sensor/power_sensor.py +12 -12
  68. viam/components/sensor/__init__.py +1 -1
  69. viam/components/sensor/client.py +9 -8
  70. viam/components/sensor/sensor.py +5 -5
  71. viam/components/servo/__init__.py +1 -13
  72. viam/components/servo/client.py +18 -18
  73. viam/components/servo/servo.py +12 -12
  74. viam/components/switch/__init__.py +10 -0
  75. viam/components/switch/client.py +83 -0
  76. viam/components/switch/service.py +72 -0
  77. viam/components/switch/switch.py +95 -0
  78. viam/gen/app/agent/v1/agent_pb2.py +40 -29
  79. viam/gen/app/agent/v1/agent_pb2.pyi +73 -11
  80. viam/gen/app/cloudslam/v1/cloud_slam_pb2.py +45 -42
  81. viam/gen/app/data/v1/data_grpc.py +98 -2
  82. viam/gen/app/data/v1/data_pb2.py +238 -119
  83. viam/gen/app/data/v1/data_pb2.pyi +804 -34
  84. viam/gen/app/datapipelines/v1/data_pipelines_grpc.py +84 -0
  85. viam/gen/app/datapipelines/v1/data_pipelines_pb2.py +57 -0
  86. viam/gen/app/datapipelines/v1/data_pipelines_pb2.pyi +387 -0
  87. viam/gen/app/dataset/v1/dataset_grpc.py +10 -2
  88. viam/gen/app/dataset/v1/dataset_pb2.py +38 -31
  89. viam/gen/app/dataset/v1/dataset_pb2.pyi +36 -1
  90. viam/gen/app/datasync/v1/data_sync_grpc.py +1 -1
  91. viam/gen/app/datasync/v1/data_sync_pb2.py +61 -51
  92. viam/gen/app/datasync/v1/data_sync_pb2.pyi +52 -12
  93. viam/gen/app/mlinference/__init__.py +0 -0
  94. viam/gen/app/mlinference/v1/__init__.py +0 -0
  95. viam/gen/app/mlinference/v1/ml_inference_grpc.py +28 -0
  96. viam/gen/app/mlinference/v1/ml_inference_pb2.py +23 -0
  97. viam/gen/app/mlinference/v1/ml_inference_pb2.pyi +63 -0
  98. viam/gen/app/mltraining/v1/ml_training_grpc.py +18 -2
  99. viam/gen/app/mltraining/v1/ml_training_pb2.py +134 -101
  100. viam/gen/app/mltraining/v1/ml_training_pb2.pyi +193 -7
  101. viam/gen/app/packages/v1/packages_pb2.py +43 -40
  102. viam/gen/app/v1/app_grpc.py +290 -2
  103. viam/gen/app/v1/app_pb2.py +670 -453
  104. viam/gen/app/v1/app_pb2.pyi +3133 -947
  105. viam/gen/app/v1/billing_grpc.py +34 -2
  106. viam/gen/app/v1/billing_pb2.py +94 -35
  107. viam/gen/app/v1/billing_pb2.pyi +314 -61
  108. viam/gen/app/v1/end_user_pb2.py +50 -29
  109. viam/gen/app/v1/robot_pb2.py +120 -111
  110. viam/gen/app/v1/robot_pb2.pyi +137 -15
  111. viam/gen/common/v1/common_pb2.py +86 -66
  112. viam/gen/common/v1/common_pb2.pyi +184 -8
  113. viam/gen/component/arm/v1/arm_grpc.py +18 -2
  114. viam/gen/component/arm/v1/arm_pb2.py +68 -55
  115. viam/gen/component/arm/v1/arm_pb2.pyi +73 -3
  116. viam/gen/component/audioin/__init__.py +0 -0
  117. viam/gen/component/audioin/v1/__init__.py +0 -0
  118. viam/gen/component/audioin/v1/audioin_grpc.py +54 -0
  119. viam/gen/component/audioin/v1/audioin_pb2.py +34 -0
  120. viam/gen/component/audioin/v1/audioin_pb2.pyi +94 -0
  121. viam/gen/component/audioinput/v1/audioinput_pb2.py +35 -32
  122. viam/gen/component/audioout/__init__.py +0 -0
  123. viam/gen/component/audioout/v1/__init__.py +0 -0
  124. viam/gen/component/audioout/v1/audioout_grpc.py +54 -0
  125. viam/gen/component/audioout/v1/audioout_pb2.py +32 -0
  126. viam/gen/component/audioout/v1/audioout_pb2.pyi +47 -0
  127. viam/gen/component/base/v1/base_pb2.py +57 -54
  128. viam/gen/component/board/v1/board_pb2.py +93 -90
  129. viam/gen/component/button/__init__.py +0 -0
  130. viam/gen/component/button/v1/__init__.py +0 -0
  131. viam/gen/component/button/v1/button_grpc.py +38 -0
  132. viam/gen/component/button/v1/button_pb2.py +28 -0
  133. viam/gen/component/button/v1/button_pb2.pyi +39 -0
  134. viam/gen/component/camera/v1/camera_pb2.py +58 -55
  135. viam/gen/component/camera/v1/camera_pb2.pyi +31 -7
  136. viam/gen/component/encoder/v1/encoder_pb2.py +35 -32
  137. viam/gen/component/gantry/v1/gantry_grpc.py +9 -1
  138. viam/gen/component/gantry/v1/gantry_pb2.py +56 -51
  139. viam/gen/component/generic/v1/generic_pb2.py +15 -12
  140. viam/gen/component/gripper/v1/gripper_grpc.py +18 -2
  141. viam/gen/component/gripper/v1/gripper_pb2.py +48 -37
  142. viam/gen/component/gripper/v1/gripper_pb2.pyi +43 -1
  143. viam/gen/component/inputcontroller/v1/input_controller_pb2.py +45 -42
  144. viam/gen/component/motor/v1/motor_pb2.py +77 -74
  145. viam/gen/component/movementsensor/v1/movementsensor_pb2.py +69 -66
  146. viam/gen/component/posetracker/v1/pose_tracker_pb2.py +25 -22
  147. viam/gen/component/powersensor/v1/powersensor_pb2.py +33 -30
  148. viam/gen/component/sensor/v1/sensor_pb2.py +17 -14
  149. viam/gen/component/servo/v1/servo_pb2.py +41 -38
  150. viam/gen/component/switch/__init__.py +0 -0
  151. viam/gen/component/switch/v1/__init__.py +0 -0
  152. viam/gen/component/switch/v1/switch_grpc.py +54 -0
  153. viam/gen/component/switch/v1/switch_pb2.py +40 -0
  154. viam/gen/component/switch/v1/switch_pb2.pyi +116 -0
  155. viam/gen/component/testecho/v1/testecho_pb2.py +29 -26
  156. viam/gen/module/v1/module_pb2.py +36 -33
  157. viam/gen/module/v1/module_pb2.pyi +7 -2
  158. viam/gen/proto/rpc/examples/echo/v1/echo_pb2.py +26 -23
  159. viam/gen/proto/rpc/examples/echoresource/v1/echoresource_pb2.py +23 -20
  160. viam/gen/proto/rpc/v1/auth_pb2.py +27 -24
  161. viam/gen/proto/rpc/webrtc/v1/grpc_pb2.py +35 -32
  162. viam/gen/proto/rpc/webrtc/v1/signaling_pb2.py +62 -57
  163. viam/gen/proto/rpc/webrtc/v1/signaling_pb2.pyi +18 -4
  164. viam/gen/provisioning/v1/provisioning_grpc.py +10 -2
  165. viam/gen/provisioning/v1/provisioning_pb2.py +38 -31
  166. viam/gen/provisioning/v1/provisioning_pb2.pyi +20 -2
  167. viam/gen/robot/v1/robot_grpc.py +61 -29
  168. viam/gen/robot/v1/robot_pb2.py +186 -155
  169. viam/gen/robot/v1/robot_pb2.pyi +278 -59
  170. viam/gen/service/datamanager/v1/data_manager_grpc.py +11 -2
  171. viam/gen/service/datamanager/v1/data_manager_pb2.py +27 -17
  172. viam/gen/service/datamanager/v1/data_manager_pb2.pyi +47 -1
  173. viam/gen/service/discovery/__init__.py +0 -0
  174. viam/gen/service/discovery/v1/__init__.py +0 -0
  175. viam/gen/service/discovery/v1/discovery_grpc.py +39 -0
  176. viam/gen/service/discovery/v1/discovery_pb2.py +29 -0
  177. viam/gen/service/discovery/v1/discovery_pb2.pyi +51 -0
  178. viam/gen/service/generic/v1/generic_pb2.py +13 -10
  179. viam/gen/service/mlmodel/v1/mlmodel_pb2.py +75 -72
  180. viam/gen/service/motion/v1/motion_pb2.py +118 -85
  181. viam/gen/service/motion/v1/motion_pb2.pyi +130 -68
  182. viam/gen/service/navigation/v1/navigation_pb2.py +75 -72
  183. viam/gen/service/sensors/v1/sensors_pb2.py +59 -56
  184. viam/gen/service/shell/v1/shell_pb2.py +35 -32
  185. viam/gen/service/slam/v1/slam_pb2.py +43 -40
  186. viam/gen/service/slam/v1/slam_pb2.pyi +1 -1
  187. viam/gen/service/video/__init__.py +0 -0
  188. viam/gen/service/video/v1/__init__.py +0 -0
  189. viam/gen/service/video/v1/video_grpc.py +39 -0
  190. viam/gen/service/video/v1/video_pb2.py +29 -0
  191. viam/gen/service/video/v1/video_pb2.pyi +72 -0
  192. viam/gen/service/vision/v1/vision_pb2.py +60 -57
  193. viam/gen/service/vision/v1/vision_pb2.pyi +28 -3
  194. viam/gen/service/worldstatestore/__init__.py +0 -0
  195. viam/gen/service/worldstatestore/v1/__init__.py +0 -0
  196. viam/gen/service/worldstatestore/v1/world_state_store_grpc.py +55 -0
  197. viam/gen/service/worldstatestore/v1/world_state_store_pb2.py +39 -0
  198. viam/gen/service/worldstatestore/v1/world_state_store_pb2.pyi +171 -0
  199. viam/gen/stream/v1/stream_grpc.py +17 -1
  200. viam/gen/stream/v1/stream_pb2.py +34 -21
  201. viam/gen/stream/v1/stream_pb2.pyi +79 -1
  202. viam/gen/tagger/v1/tagger_pb2.py +9 -8
  203. viam/logging.py +77 -18
  204. viam/media/audio.py +28 -0
  205. viam/media/utils/pil/__init__.py +7 -3
  206. viam/media/video.py +80 -17
  207. viam/module/module.py +111 -38
  208. viam/module/resource_data_consumer.py +41 -0
  209. viam/module/service.py +9 -1
  210. viam/module/types.py +2 -4
  211. viam/proto/app/__init__.py +199 -0
  212. viam/proto/app/agent/__init__.py +5 -2
  213. viam/proto/app/billing.py +31 -4
  214. viam/proto/app/cloudslam/__init__.py +1 -0
  215. viam/proto/app/data/__init__.py +63 -0
  216. viam/proto/app/datapipelines/__init__.py +56 -0
  217. viam/proto/app/dataset/__init__.py +5 -0
  218. viam/proto/app/datasync/__init__.py +3 -0
  219. viam/proto/app/end_user.py +1 -0
  220. viam/proto/app/mlinference/__init__.py +15 -0
  221. viam/proto/app/mltraining/__init__.py +13 -0
  222. viam/proto/app/packages/__init__.py +1 -0
  223. viam/proto/app/robot.py +7 -0
  224. viam/proto/common/__init__.py +15 -0
  225. viam/proto/component/arm/__init__.py +7 -0
  226. viam/proto/component/audioin/__init__.py +16 -0
  227. viam/proto/component/audioinput/__init__.py +1 -0
  228. viam/proto/component/audioout/__init__.py +15 -0
  229. viam/proto/component/base/__init__.py +1 -0
  230. viam/proto/component/board/__init__.py +1 -0
  231. viam/proto/component/button/__init__.py +15 -0
  232. viam/proto/component/camera/__init__.py +1 -0
  233. viam/proto/component/encoder/__init__.py +1 -0
  234. viam/proto/component/gantry/__init__.py +1 -0
  235. viam/proto/component/generic/__init__.py +1 -0
  236. viam/proto/component/gripper/__init__.py +5 -0
  237. viam/proto/component/inputcontroller/__init__.py +1 -0
  238. viam/proto/component/motor/__init__.py +1 -0
  239. viam/proto/component/movementsensor/__init__.py +1 -0
  240. viam/proto/component/posetracker/__init__.py +1 -0
  241. viam/proto/component/powersensor/__init__.py +1 -0
  242. viam/proto/component/sensor/__init__.py +1 -0
  243. viam/proto/component/servo/__init__.py +1 -0
  244. viam/proto/component/switch/__init__.py +26 -0
  245. viam/proto/component/testecho/__init__.py +1 -0
  246. viam/proto/module/__init__.py +1 -0
  247. viam/proto/provisioning/__init__.py +5 -0
  248. viam/proto/robot/__init__.py +29 -8
  249. viam/proto/rpc/auth.py +1 -0
  250. viam/proto/rpc/examples/echo/__init__.py +1 -0
  251. viam/proto/rpc/examples/echoresource/__init__.py +1 -0
  252. viam/proto/rpc/webrtc/grpc.py +1 -0
  253. viam/proto/rpc/webrtc/signaling.py +3 -0
  254. viam/proto/service/datamanager/__init__.py +9 -1
  255. viam/proto/service/discovery/__init__.py +15 -0
  256. viam/proto/service/generic/__init__.py +1 -0
  257. viam/proto/service/mlmodel/__init__.py +1 -0
  258. viam/proto/service/motion/__init__.py +3 -0
  259. viam/proto/service/navigation/__init__.py +1 -0
  260. viam/proto/service/sensors/__init__.py +1 -0
  261. viam/proto/service/shell/__init__.py +1 -0
  262. viam/proto/service/slam/__init__.py +1 -0
  263. viam/proto/service/video/__init__.py +15 -0
  264. viam/proto/service/vision/__init__.py +1 -0
  265. viam/proto/service/worldstatestore/__init__.py +32 -0
  266. viam/proto/stream/__init__.py +11 -0
  267. viam/py.typed +0 -0
  268. viam/resource/base.py +12 -8
  269. viam/resource/easy_resource.py +24 -13
  270. viam/resource/manager.py +6 -5
  271. viam/resource/registry.py +39 -51
  272. viam/resource/rpc_client_base.py +33 -1
  273. viam/resource/types.py +13 -14
  274. viam/robot/client.py +190 -122
  275. viam/robot/service.py +2 -50
  276. viam/rpc/dial.py +54 -4
  277. viam/rpc/libviam_rust_utils.so +0 -0
  278. viam/rpc/server.py +25 -11
  279. viam/rpc/types.py +2 -4
  280. viam/services/discovery/__init__.py +12 -0
  281. viam/services/discovery/client.py +55 -0
  282. viam/services/discovery/discovery.py +52 -0
  283. viam/services/discovery/service.py +43 -0
  284. viam/services/generic/__init__.py +1 -1
  285. viam/services/generic/client.py +8 -5
  286. viam/services/generic/generic.py +2 -2
  287. viam/services/mlmodel/__init__.py +1 -1
  288. viam/services/mlmodel/client.py +17 -7
  289. viam/services/mlmodel/mlmodel.py +23 -12
  290. viam/services/mlmodel/service.py +5 -2
  291. viam/services/mlmodel/utils.py +11 -1
  292. viam/services/motion/__init__.py +2 -2
  293. viam/services/motion/client.py +32 -32
  294. viam/services/motion/motion.py +66 -62
  295. viam/services/navigation/__init__.py +1 -1
  296. viam/services/navigation/client.py +30 -20
  297. viam/services/navigation/navigation.py +23 -23
  298. viam/services/service_base.py +13 -9
  299. viam/services/service_client_base.py +3 -3
  300. viam/services/slam/__init__.py +1 -1
  301. viam/services/slam/client.py +15 -10
  302. viam/services/slam/slam.py +11 -11
  303. viam/services/vision/__init__.py +1 -1
  304. viam/services/vision/client.py +31 -24
  305. viam/services/vision/service.py +8 -8
  306. viam/services/vision/vision.py +36 -53
  307. viam/services/worldstatestore/__init__.py +18 -0
  308. viam/services/worldstatestore/client.py +94 -0
  309. viam/services/worldstatestore/service.py +55 -0
  310. viam/services/worldstatestore/worldstatestore.py +90 -0
  311. viam/sessions_client.py +115 -46
  312. viam/streams.py +3 -6
  313. viam/utils.py +44 -14
  314. viam/version_metadata.py +4 -0
  315. {viam_sdk-0.25.2.dist-info → viam_sdk-0.62.0.dist-info}/METADATA +27 -28
  316. viam_sdk-0.62.0.dist-info/RECORD +514 -0
  317. {viam_sdk-0.25.2.dist-info → viam_sdk-0.62.0.dist-info}/WHEEL +1 -1
  318. viam/gen/proto/rpc/examples/fileupload/v1/fileupload_grpc.py +0 -27
  319. viam/gen/proto/rpc/examples/fileupload/v1/fileupload_pb2.py +0 -18
  320. viam/gen/proto/rpc/examples/fileupload/v1/fileupload_pb2.pyi +0 -45
  321. viam/proto/rpc/examples/fileupload/__init__.py +0 -18
  322. viam/services/sensors/__init__.py +0 -5
  323. viam/services/sensors/client.py +0 -65
  324. viam_sdk-0.25.2.dist-info/LICENSE +0 -202
  325. viam_sdk-0.25.2.dist-info/RECORD +0 -442
  326. /viam/gen/{proto/rpc/examples/fileupload → app/datapipelines}/__init__.py +0 -0
  327. /viam/gen/{proto/rpc/examples/fileupload → app/datapipelines}/v1/__init__.py +0 -0
  328. /LICENSE → /viam_sdk-0.62.0.dist-info/licenses/LICENSE +0 -0
@@ -42,12 +42,11 @@ class MotorClient(Motor, ReconfigurableResourceRPCClientBase):
42
42
  *,
43
43
  extra: Optional[Dict[str, Any]] = None,
44
44
  timeout: Optional[float] = None,
45
- **__,
45
+ **kwargs,
46
46
  ):
47
- if extra is None:
48
- extra = {}
47
+ md = kwargs.get("metadata", self.Metadata()).proto
49
48
  request = SetPowerRequest(name=self.name, power_pct=power, extra=dict_to_struct(extra))
50
- await self.client.SetPower(request, timeout=timeout)
49
+ await self.client.SetPower(request, timeout=timeout, metadata=md)
51
50
 
52
51
  async def go_for(
53
52
  self,
@@ -56,12 +55,11 @@ class MotorClient(Motor, ReconfigurableResourceRPCClientBase):
56
55
  *,
57
56
  extra: Optional[Dict[str, Any]] = None,
58
57
  timeout: Optional[float] = None,
59
- **__,
58
+ **kwargs,
60
59
  ):
61
- if extra is None:
62
- extra = {}
60
+ md = kwargs.get("metadata", self.Metadata()).proto
63
61
  request = GoForRequest(name=self.name, rpm=rpm, revolutions=revolutions, extra=dict_to_struct(extra))
64
- await self.client.GoFor(request, timeout=timeout)
62
+ await self.client.GoFor(request, timeout=timeout, metadata=md)
65
63
 
66
64
  async def go_to(
67
65
  self,
@@ -70,12 +68,11 @@ class MotorClient(Motor, ReconfigurableResourceRPCClientBase):
70
68
  *,
71
69
  extra: Optional[Dict[str, Any]] = None,
72
70
  timeout: Optional[float] = None,
73
- **__,
71
+ **kwargs,
74
72
  ):
75
- if extra is None:
76
- extra = {}
73
+ md = kwargs.get("metadata", self.Metadata()).proto
77
74
  request = GoToRequest(name=self.name, rpm=rpm, position_revolutions=position_revolutions, extra=dict_to_struct(extra))
78
- await self.client.GoTo(request, timeout=timeout)
75
+ await self.client.GoTo(request, timeout=timeout, metadata=md)
79
76
 
80
77
  async def set_rpm(
81
78
  self,
@@ -83,12 +80,11 @@ class MotorClient(Motor, ReconfigurableResourceRPCClientBase):
83
80
  *,
84
81
  extra: Optional[Dict[str, Any]] = None,
85
82
  timeout: Optional[float] = None,
86
- **__,
83
+ **kwargs,
87
84
  ):
88
- if extra is None:
89
- extra = {}
85
+ md = kwargs.get("metadata", self.Metadata()).proto
90
86
  request = SetRPMRequest(name=self.name, rpm=rpm, extra=dict_to_struct(extra))
91
- await self.client.SetRPM(request, timeout=timeout)
87
+ await self.client.SetRPM(request, timeout=timeout, metadata=md)
92
88
 
93
89
  async def reset_zero_position(
94
90
  self,
@@ -96,24 +92,22 @@ class MotorClient(Motor, ReconfigurableResourceRPCClientBase):
96
92
  *,
97
93
  extra: Optional[Dict[str, Any]] = None,
98
94
  timeout: Optional[float] = None,
99
- **__,
95
+ **kwargs,
100
96
  ):
101
- if extra is None:
102
- extra = {}
97
+ md = kwargs.get("metadata", self.Metadata()).proto
103
98
  request = ResetZeroPositionRequest(name=self.name, offset=offset, extra=dict_to_struct(extra))
104
- await self.client.ResetZeroPosition(request, timeout=timeout)
99
+ await self.client.ResetZeroPosition(request, timeout=timeout, metadata=md)
105
100
 
106
101
  async def get_position(
107
102
  self,
108
103
  *,
109
104
  extra: Optional[Dict[str, Any]] = None,
110
105
  timeout: Optional[float] = None,
111
- **__,
106
+ **kwargs,
112
107
  ) -> float:
113
- if extra is None:
114
- extra = {}
108
+ md = kwargs.get("metadata", self.Metadata()).proto
115
109
  request = GetPositionRequest(name=self.name, extra=dict_to_struct(extra))
116
- response: GetPositionResponse = await self.client.GetPosition(request, timeout=timeout)
110
+ response: GetPositionResponse = await self.client.GetPosition(request, timeout=timeout, metadata=md)
117
111
  return response.position
118
112
 
119
113
  async def get_properties(
@@ -121,12 +115,11 @@ class MotorClient(Motor, ReconfigurableResourceRPCClientBase):
121
115
  *,
122
116
  extra: Optional[Dict[str, Any]] = None,
123
117
  timeout: Optional[float] = None,
124
- **__,
118
+ **kwargs,
125
119
  ) -> Motor.Properties:
126
- if extra is None:
127
- extra = {}
120
+ md = kwargs.get("metadata", self.Metadata()).proto
128
121
  request = GetPropertiesRequest(name=self.name, extra=dict_to_struct(extra))
129
- response: GetPropertiesResponse = await self.client.GetProperties(request, timeout=timeout)
122
+ response: GetPropertiesResponse = await self.client.GetProperties(request, timeout=timeout, metadata=md)
130
123
  return Motor.Properties(position_reporting=response.position_reporting)
131
124
 
132
125
  async def stop(
@@ -134,29 +127,28 @@ class MotorClient(Motor, ReconfigurableResourceRPCClientBase):
134
127
  *,
135
128
  extra: Optional[Dict[str, Any]] = None,
136
129
  timeout: Optional[float] = None,
137
- **__,
130
+ **kwargs,
138
131
  ):
139
- if extra is None:
140
- extra = {}
132
+ md = kwargs.get("metadata", self.Metadata()).proto
141
133
  request = StopRequest(name=self.name, extra=dict_to_struct(extra))
142
- await self.client.Stop(request, timeout=timeout)
134
+ await self.client.Stop(request, timeout=timeout, metadata=md)
143
135
 
144
136
  async def is_powered(
145
137
  self,
146
138
  *,
147
139
  extra: Optional[Dict[str, Any]] = None,
148
140
  timeout: Optional[float] = None,
149
- **__,
141
+ **kwargs,
150
142
  ) -> Tuple[bool, float]:
151
- if extra is None:
152
- extra = {}
143
+ md = kwargs.get("metadata", self.Metadata()).proto
153
144
  request = IsPoweredRequest(name=self.name, extra=dict_to_struct(extra))
154
- response: IsPoweredResponse = await self.client.IsPowered(request, timeout=timeout)
145
+ response: IsPoweredResponse = await self.client.IsPowered(request, timeout=timeout, metadata=md)
155
146
  return response.is_on, response.power_pct
156
147
 
157
- async def is_moving(self, *, timeout: Optional[float] = None) -> bool:
148
+ async def is_moving(self, *, timeout: Optional[float] = None, **kwargs) -> bool:
149
+ md = kwargs.get("metadata", self.Metadata()).proto
158
150
  request = IsMovingRequest(name=self.name)
159
- response: IsMovingResponse = await self.client.IsMoving(request, timeout=timeout)
151
+ response: IsMovingResponse = await self.client.IsMoving(request, timeout=timeout, metadata=md)
160
152
  return response.is_moving
161
153
 
162
154
  async def do_command(
@@ -164,11 +156,13 @@ class MotorClient(Motor, ReconfigurableResourceRPCClientBase):
164
156
  command: Mapping[str, ValueTypes],
165
157
  *,
166
158
  timeout: Optional[float] = None,
167
- **__,
159
+ **kwargs,
168
160
  ) -> Mapping[str, ValueTypes]:
161
+ md = kwargs.get("metadata", self.Metadata()).proto
169
162
  request = DoCommandRequest(name=self.name, command=dict_to_struct(command))
170
- response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout)
163
+ response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout, metadata=md)
171
164
  return struct_to_dict(response.result)
172
165
 
173
- async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> List[Geometry]:
174
- return await get_geometries(self.client, self.name, extra, timeout)
166
+ async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> List[Geometry]:
167
+ md = kwargs.get("metadata", self.Metadata())
168
+ return await get_geometries(self.client, self.name, extra, timeout, md)
@@ -2,7 +2,7 @@ import abc
2
2
  from dataclasses import dataclass
3
3
  from typing import Any, Dict, Final, Optional, Tuple
4
4
 
5
- from viam.resource.types import RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, Subtype
5
+ from viam.resource.types import API, RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT
6
6
 
7
7
  from ..component_base import ComponentBase
8
8
 
@@ -18,14 +18,14 @@ class Motor(ComponentBase):
18
18
 
19
19
  from viam.components.motor import Motor
20
20
 
21
- For more information, see `Motor component <https://docs.viam.com/components/motor/>`_.
21
+ For more information, see `Motor component <https://docs.viam.com/dev/reference/apis/components/motor/>`_.
22
22
  """
23
23
 
24
24
  @dataclass
25
25
  class Properties:
26
26
  position_reporting: bool
27
27
 
28
- SUBTYPE: Final = Subtype( # pyright: ignore [reportIncompatibleVariableOverride]
28
+ API: Final = API( # pyright: ignore [reportIncompatibleVariableOverride]
29
29
  RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "motor"
30
30
  )
31
31
 
@@ -44,7 +44,7 @@ class Motor(ComponentBase):
44
44
 
45
45
  ::
46
46
 
47
- my_motor = Motor.from_robot(robot=robot, name="my_motor")
47
+ my_motor = Motor.from_robot(robot=machine, name="my_motor")
48
48
 
49
49
  # Set the power to 40% forwards.
50
50
  await my_motor.set_power(power=0.4)
@@ -53,7 +53,7 @@ class Motor(ComponentBase):
53
53
  power (float): Power between -1 and 1
54
54
  (negative implies backwards).
55
55
 
56
- For more information, see `Motor component <https://docs.viam.com/components/motor/>`_.
56
+ For more information, see `Motor component <https://docs.viam.com/dev/reference/apis/components/motor/#setpower>`_.
57
57
  """
58
58
  ...
59
59
 
@@ -74,7 +74,7 @@ class Motor(ComponentBase):
74
74
 
75
75
  ::
76
76
 
77
- my_motor = Motor.from_robot(robot=robot, name="my_motor")
77
+ my_motor = Motor.from_robot(robot=machine, name="my_motor")
78
78
 
79
79
  # Turn the motor 7.2 revolutions at 60 RPM.
80
80
  await my_motor.go_for(rpm=60, revolutions=7.2)
@@ -85,7 +85,7 @@ class Motor(ComponentBase):
85
85
  revolutions (float): Number of revolutions the motor should run for
86
86
  (negative implies backwards).
87
87
 
88
- For more information, see `Motor component <https://docs.viam.com/components/motor/>`_.
88
+ For more information, see `Motor component <https://docs.viam.com/dev/reference/apis/components/motor/#gofor>`_.
89
89
  """
90
90
  ...
91
91
 
@@ -107,7 +107,7 @@ class Motor(ComponentBase):
107
107
 
108
108
  ::
109
109
 
110
- my_motor = Motor.from_robot(robot=robot, name="my_motor")
110
+ my_motor = Motor.from_robot(robot=machine, name="my_motor")
111
111
 
112
112
  # Turn the motor to 8.3 revolutions from home at 75 RPM.
113
113
  await my_motor.go_to(rpm=75, revolutions=8.3)
@@ -116,7 +116,7 @@ class Motor(ComponentBase):
116
116
  rpm (float): Speed at which the motor should rotate (absolute value).
117
117
  position_revolutions (float): Target position relative to home/zero, in revolutions.
118
118
 
119
- For more information, see `Motor component <https://docs.viam.com/components/motor/>`_.
119
+ For more information, see `Motor component <https://docs.viam.com/dev/reference/apis/components/motor/#goto>`_.
120
120
  """
121
121
  ...
122
122
 
@@ -135,7 +135,7 @@ class Motor(ComponentBase):
135
135
 
136
136
  ::
137
137
 
138
- my_motor = Motor.from_robot(robot=robot, name="my_motor")
138
+ my_motor = Motor.from_robot(robot=machine, name="my_motor")
139
139
 
140
140
  # Spin the motor at 75 RPM.
141
141
  await my_motor.set_rpm(rpm=75)
@@ -143,7 +143,7 @@ class Motor(ComponentBase):
143
143
  Args:
144
144
  rpm (float): Speed at which the motor should rotate.
145
145
 
146
- For more information, see `Motor component <https://docs.viam.com/components/motor/>`_.
146
+ For more information, see `Motor component <https://docs.viam.com/dev/reference/apis/components/motor/#setrpm>`_.
147
147
  """
148
148
  ...
149
149
 
@@ -161,7 +161,7 @@ class Motor(ComponentBase):
161
161
 
162
162
  ::
163
163
 
164
- my_motor = Motor.from_robot(robot=robot, name="my_motor")
164
+ my_motor = Motor.from_robot(robot=machine, name="my_motor")
165
165
 
166
166
  # Set the current position as the new home position with no offset.
167
167
  await my_motor.reset_zero_position(offset=0.0)
@@ -169,7 +169,7 @@ class Motor(ComponentBase):
169
169
  Args:
170
170
  offset (float): The offset from the current position to new home/zero position.
171
171
 
172
- For more information, see `Motor component <https://docs.viam.com/components/motor/>`_.
172
+ For more information, see `Motor component <https://docs.viam.com/dev/reference/apis/components/motor/#resetzeroposition>`_.
173
173
  """
174
174
  ...
175
175
 
@@ -188,7 +188,7 @@ class Motor(ComponentBase):
188
188
 
189
189
  ::
190
190
 
191
- my_motor = Motor.from_robot(robot=robot, name="my_motor")
191
+ my_motor = Motor.from_robot(robot=machine, name="my_motor")
192
192
 
193
193
  # Get the current position of the motor.
194
194
  position = await my_motor.get_position()
@@ -196,7 +196,7 @@ class Motor(ComponentBase):
196
196
  Returns:
197
197
  float: Number of revolutions the motor is away from zero/home.
198
198
 
199
- For more information, see `Motor component <https://docs.viam.com/components/motor/>`_.
199
+ For more information, see `Motor component <https://docs.viam.com/dev/reference/apis/components/motor/#getposition>`_.
200
200
  """
201
201
  ...
202
202
 
@@ -214,7 +214,7 @@ class Motor(ComponentBase):
214
214
 
215
215
  ::
216
216
 
217
- my_motor = Motor.from_robot(robot=robot, name="my_motor")
217
+ my_motor = Motor.from_robot(robot=machine, name="my_motor")
218
218
 
219
219
  # Report a dictionary mapping optional properties to whether it is supported by
220
220
  # this motor.
@@ -226,7 +226,7 @@ class Motor(ComponentBase):
226
226
  Returns:
227
227
  Properties: Map of feature names to supported status.
228
228
 
229
- For more information, see `Motor component <https://docs.viam.com/components/motor/>`_.
229
+ For more information, see `Motor component <https://docs.viam.com/dev/reference/apis/components/motor/#getproperties>`_.
230
230
  """
231
231
  ...
232
232
 
@@ -243,12 +243,12 @@ class Motor(ComponentBase):
243
243
 
244
244
  ::
245
245
 
246
- my_motor = Motor.from_robot(robot=robot, name="my_motor")
246
+ my_motor = Motor.from_robot(robot=machine, name="my_motor")
247
247
 
248
248
  # Stop the motor.
249
249
  await my_motor.stop()
250
250
 
251
- For more information, see `Motor component <https://docs.viam.com/components/motor/>`_.
251
+ For more information, see `Motor component <https://docs.viam.com/dev/reference/apis/components/motor/#stop>`_.
252
252
  """
253
253
  ...
254
254
 
@@ -265,7 +265,7 @@ class Motor(ComponentBase):
265
265
 
266
266
  ::
267
267
 
268
- my_motor = Motor.from_robot(robot=robot, name="my_motor")
268
+ my_motor = Motor.from_robot(robot=machine, name="my_motor")
269
269
 
270
270
  # Check whether the motor is currently running.
271
271
  powered = await my_motor.is_powered()
@@ -274,9 +274,9 @@ class Motor(ComponentBase):
274
274
 
275
275
  Returns:
276
276
  Tuple[bool, float]: A tuple containing two values; the first [0] value indicates whether the motor is currently powered, and
277
- the second [1] value indicates the current power percentage of the motor.
277
+ the second [1] value indicates the current power percentage of the motor.
278
278
 
279
- For more information, see `Motor component <https://docs.viam.com/components/motor/>`_.
279
+ For more information, see `Motor component <https://docs.viam.com/dev/reference/apis/components/motor/#ispowered>`_.
280
280
  """
281
281
  ...
282
282
 
@@ -287,7 +287,7 @@ class Motor(ComponentBase):
287
287
 
288
288
  ::
289
289
 
290
- my_motor = Motor.from_robot(robot=robot, name="my_motor")
290
+ my_motor = Motor.from_robot(robot=machine, name="my_motor")
291
291
 
292
292
  # Check whether the motor is currently moving.
293
293
  moving = await my_motor.is_moving()
@@ -296,6 +296,6 @@ class Motor(ComponentBase):
296
296
  Returns:
297
297
  bool: Whether the motor is moving.
298
298
 
299
- For more information, see `Motor component <https://docs.viam.com/components/motor/>`_.
299
+ For more information, see `Motor component <https://docs.viam.com/dev/reference/apis/components/motor/#ismoving>`_.
300
300
  """
301
301
  ...
@@ -12,7 +12,7 @@ __all__ = [
12
12
  "Vector3",
13
13
  ]
14
14
 
15
- Registry.register_subtype(
15
+ Registry.register_api(
16
16
  ResourceRegistration(
17
17
  MovementSensor,
18
18
  MovementSensorRPCService,
@@ -41,12 +41,11 @@ class MovementSensorClient(MovementSensor, ReconfigurableResourceRPCClientBase):
41
41
  *,
42
42
  extra: Optional[Dict[str, Any]] = None,
43
43
  timeout: Optional[float] = None,
44
- **__,
44
+ **kwargs,
45
45
  ) -> Tuple[GeoPoint, float]:
46
- if extra is None:
47
- extra = {}
46
+ md = kwargs.get("metadata", self.Metadata()).proto
48
47
  request = GetPositionRequest(name=self.name, extra=dict_to_struct(extra))
49
- response: GetPositionResponse = await self.client.GetPosition(request, timeout=timeout)
48
+ response: GetPositionResponse = await self.client.GetPosition(request, timeout=timeout, metadata=md)
50
49
  return response.coordinate, response.altitude_m
51
50
 
52
51
  async def get_linear_velocity(
@@ -54,12 +53,11 @@ class MovementSensorClient(MovementSensor, ReconfigurableResourceRPCClientBase):
54
53
  *,
55
54
  extra: Optional[Dict[str, Any]] = None,
56
55
  timeout: Optional[float] = None,
57
- **__,
56
+ **kwargs,
58
57
  ) -> Vector3:
59
- if extra is None:
60
- extra = {}
58
+ md = kwargs.get("metadata", self.Metadata()).proto
61
59
  request = GetLinearVelocityRequest(name=self.name, extra=dict_to_struct(extra))
62
- response: GetLinearVelocityResponse = await self.client.GetLinearVelocity(request, timeout=timeout)
60
+ response: GetLinearVelocityResponse = await self.client.GetLinearVelocity(request, timeout=timeout, metadata=md)
63
61
  return response.linear_velocity
64
62
 
65
63
  async def get_angular_velocity(
@@ -67,12 +65,11 @@ class MovementSensorClient(MovementSensor, ReconfigurableResourceRPCClientBase):
67
65
  *,
68
66
  extra: Optional[Dict[str, Any]] = None,
69
67
  timeout: Optional[float] = None,
70
- **__,
68
+ **kwargs,
71
69
  ) -> Vector3:
72
- if extra is None:
73
- extra = {}
70
+ md = kwargs.get("metadata", self.Metadata()).proto
74
71
  request = GetAngularVelocityRequest(name=self.name, extra=dict_to_struct(extra))
75
- response: GetAngularVelocityResponse = await self.client.GetAngularVelocity(request, timeout=timeout)
72
+ response: GetAngularVelocityResponse = await self.client.GetAngularVelocity(request, timeout=timeout, metadata=md)
76
73
  return response.angular_velocity
77
74
 
78
75
  async def get_linear_acceleration(
@@ -80,12 +77,11 @@ class MovementSensorClient(MovementSensor, ReconfigurableResourceRPCClientBase):
80
77
  *,
81
78
  extra: Optional[Dict[str, Any]] = None,
82
79
  timeout: Optional[float] = None,
83
- **__,
80
+ **kwargs,
84
81
  ) -> Vector3:
85
- if extra is None:
86
- extra = {}
82
+ md = kwargs.get("metadata", self.Metadata()).proto
87
83
  request = GetLinearAccelerationRequest(name=self.name, extra=dict_to_struct(extra))
88
- response: GetLinearAccelerationResponse = await self.client.GetLinearAcceleration(request, timeout=timeout)
84
+ response: GetLinearAccelerationResponse = await self.client.GetLinearAcceleration(request, timeout=timeout, metadata=md)
89
85
  return response.linear_acceleration
90
86
 
91
87
  async def get_compass_heading(
@@ -93,12 +89,11 @@ class MovementSensorClient(MovementSensor, ReconfigurableResourceRPCClientBase):
93
89
  *,
94
90
  extra: Optional[Dict[str, Any]] = None,
95
91
  timeout: Optional[float] = None,
96
- **__,
92
+ **kwargs,
97
93
  ) -> float:
98
- if extra is None:
99
- extra = {}
94
+ md = kwargs.get("metadata", self.Metadata()).proto
100
95
  request = GetCompassHeadingRequest(name=self.name, extra=dict_to_struct(extra))
101
- response: GetCompassHeadingResponse = await self.client.GetCompassHeading(request, timeout=timeout)
96
+ response: GetCompassHeadingResponse = await self.client.GetCompassHeading(request, timeout=timeout, metadata=md)
102
97
  return response.value
103
98
 
104
99
  async def get_orientation(
@@ -106,12 +101,11 @@ class MovementSensorClient(MovementSensor, ReconfigurableResourceRPCClientBase):
106
101
  *,
107
102
  extra: Optional[Dict[str, Any]] = None,
108
103
  timeout: Optional[float] = None,
109
- **__,
104
+ **kwargs,
110
105
  ) -> Orientation:
111
- if extra is None:
112
- extra = {}
106
+ md = kwargs.get("metadata", self.Metadata()).proto
113
107
  request = GetOrientationRequest(name=self.name, extra=dict_to_struct(extra))
114
- response: GetOrientationResponse = await self.client.GetOrientation(request, timeout=timeout)
108
+ response: GetOrientationResponse = await self.client.GetOrientation(request, timeout=timeout, metadata=md)
115
109
  return response.orientation
116
110
 
117
111
  async def get_properties(
@@ -119,12 +113,11 @@ class MovementSensorClient(MovementSensor, ReconfigurableResourceRPCClientBase):
119
113
  *,
120
114
  extra: Optional[Dict[str, Any]] = None,
121
115
  timeout: Optional[float] = None,
122
- **__,
116
+ **kwargs,
123
117
  ) -> MovementSensor.Properties:
124
- if extra is None:
125
- extra = {}
118
+ md = kwargs.get("metadata", self.Metadata()).proto
126
119
  request = GetPropertiesRequest(name=self.name, extra=dict_to_struct(extra))
127
- response: GetPropertiesResponse = await self.client.GetProperties(request, timeout=timeout)
120
+ response: GetPropertiesResponse = await self.client.GetProperties(request, timeout=timeout, metadata=md)
128
121
  return MovementSensor.Properties.from_proto(response)
129
122
 
130
123
  async def get_accuracy(
@@ -132,24 +125,22 @@ class MovementSensorClient(MovementSensor, ReconfigurableResourceRPCClientBase):
132
125
  *,
133
126
  extra: Optional[Dict[str, Any]] = None,
134
127
  timeout: Optional[float] = None,
135
- **__,
128
+ **kwargs,
136
129
  ) -> MovementSensor.Accuracy:
137
- if extra is None:
138
- extra = {}
130
+ md = kwargs.get("metadata", self.Metadata()).proto
139
131
  request = GetAccuracyRequest(name=self.name, extra=dict_to_struct(extra))
140
- return await self.client.GetAccuracy(request, timeout=timeout)
132
+ return await self.client.GetAccuracy(request, timeout=timeout, metadata=md)
141
133
 
142
134
  async def get_readings(
143
135
  self,
144
136
  *,
145
137
  extra: Optional[Dict[str, Any]] = None,
146
138
  timeout: Optional[float] = None,
147
- **__,
139
+ **kwargs,
148
140
  ) -> Mapping[str, SensorReading]:
149
- if extra is None:
150
- extra = {}
141
+ md = kwargs.get("metadata", self.Metadata()).proto
151
142
  request = GetReadingsRequest(name=self.name, extra=dict_to_struct(extra))
152
- response: GetReadingsResponse = await self.client.GetReadings(request, timeout=timeout)
143
+ response: GetReadingsResponse = await self.client.GetReadings(request, timeout=timeout, metadata=md)
153
144
 
154
145
  return sensor_readings_value_to_native(response.readings)
155
146
 
@@ -158,11 +149,13 @@ class MovementSensorClient(MovementSensor, ReconfigurableResourceRPCClientBase):
158
149
  command: Mapping[str, ValueTypes],
159
150
  *,
160
151
  timeout: Optional[float] = None,
161
- **__,
152
+ **kwargs,
162
153
  ) -> Mapping[str, ValueTypes]:
154
+ md = kwargs.get("metadata", self.Metadata()).proto
163
155
  request = DoCommandRequest(name=self.name, command=dict_to_struct(command))
164
- response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout)
156
+ response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout, metadata=md)
165
157
  return struct_to_dict(response.result)
166
158
 
167
- async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> List[Geometry]:
168
- return await get_geometries(self.client, self.name, extra, timeout)
159
+ async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> List[Geometry]:
160
+ md = kwargs.get("metadata", self.Metadata())
161
+ return await get_geometries(self.client, self.name, extra, timeout, md)
@@ -7,7 +7,7 @@ from typing_extensions import Self
7
7
 
8
8
  from viam.components.component_base import ComponentBase
9
9
  from viam.proto.component.movementsensor import GetAccuracyResponse, GetPropertiesResponse
10
- from viam.resource.types import RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, Subtype
10
+ from viam.resource.types import API, RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT
11
11
  from viam.utils import SensorReading
12
12
 
13
13
  from . import GeoPoint, Orientation, Vector3
@@ -28,10 +28,10 @@ class MovementSensor(ComponentBase):
28
28
 
29
29
  from viam.components.movement_sensor import MovementSensor
30
30
 
31
- For more information, see `Movement Sensor component <https://docs.viam.com/components/movement-sensor/>`_.
31
+ For more information, see `Movement Sensor component <https://docs.viam.com/dev/reference/apis/components/movement-sensor/>`_.
32
32
  """
33
33
 
34
- SUBTYPE: Final = Subtype( # pyright: ignore [reportIncompatibleVariableOverride]
34
+ API: Final = API( # pyright: ignore [reportIncompatibleVariableOverride]
35
35
  RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "movement_sensor"
36
36
  )
37
37
 
@@ -86,7 +86,7 @@ class MovementSensor(ComponentBase):
86
86
  Returns:
87
87
  Tuple[GeoPoint, float]: The current lat/long, along with the altitude in m
88
88
 
89
- For more information, see `Movement Sensor component <https://docs.viam.com/components/movement-sensor/>`_.
89
+ For more information, see `Movement Sensor component <https://docs.viam.com/dev/reference/apis/components/movement-sensor/#getposition>`_.
90
90
  """
91
91
  ...
92
92
 
@@ -105,7 +105,7 @@ class MovementSensor(ComponentBase):
105
105
  Returns:
106
106
  Vector3: The linear velocity in m/sec
107
107
 
108
- For more information, see `Movement Sensor component <https://docs.viam.com/components/movement-sensor/>`_.
108
+ For more information, see `Movement Sensor component <https://docs.viam.com/dev/reference/apis/components/movement-sensor/#getlinearvelocity>`_.
109
109
  """
110
110
  ...
111
111
 
@@ -127,7 +127,7 @@ class MovementSensor(ComponentBase):
127
127
  Returns:
128
128
  Vector3: The angular velocity in degrees/sec
129
129
 
130
- For more information, see `Movement Sensor component <https://docs.viam.com/components/movement-sensor/>`_.
130
+ For more information, see `Movement Sensor component <https://docs.viam.com/dev/reference/apis/components/movement-sensor/#getangularvelocity>`_.
131
131
  """
132
132
  ...
133
133
 
@@ -151,7 +151,7 @@ class MovementSensor(ComponentBase):
151
151
  Returns:
152
152
  Vector3: The linear acceleration in m/sec^2
153
153
 
154
- For more information, see `Movement Sensor component <https://docs.viam.com/components/movement-sensor/>`_.
154
+ For more information, see `Movement Sensor component <https://docs.viam.com/dev/reference/apis/components/movement-sensor/#getlinearacceleration>`_.
155
155
  """
156
156
  ...
157
157
 
@@ -170,7 +170,7 @@ class MovementSensor(ComponentBase):
170
170
  Returns:
171
171
  float: The compass heading in degrees
172
172
 
173
- For more information, see `Movement Sensor component <https://docs.viam.com/components/movement-sensor/>`_.
173
+ For more information, see `Movement Sensor component <https://docs.viam.com/dev/reference/apis/components/movement-sensor/#getcompassheading>`_.
174
174
  """
175
175
  ...
176
176
 
@@ -189,7 +189,7 @@ class MovementSensor(ComponentBase):
189
189
  Returns:
190
190
  Orientation: The orientation
191
191
 
192
- For more information, see `Movement Sensor component <https://docs.viam.com/components/movement-sensor/>`_.
192
+ For more information, see `Movement Sensor component <https://docs.viam.com/dev/reference/apis/components/movement-sensor/#getorientation>`_.
193
193
  """
194
194
  ...
195
195
 
@@ -208,7 +208,7 @@ class MovementSensor(ComponentBase):
208
208
  Returns:
209
209
  MovementSensor.Properties: The properties
210
210
 
211
- For more information, see `Movement Sensor component <https://docs.viam.com/components/movement-sensor/>`_.
211
+ For more information, see `Movement Sensor component <https://docs.viam.com/dev/reference/apis/components/movement-sensor/#getproperties>`_.
212
212
  """
213
213
  ...
214
214
 
@@ -227,7 +227,7 @@ class MovementSensor(ComponentBase):
227
227
  Returns:
228
228
  MovementSensor.Accuracy: The accuracies of the movement sensor
229
229
 
230
- For more information, see `Movement Sensor component <https://docs.viam.com/components/movement-sensor/>`_.
230
+ For more information, see `Movement Sensor component <https://docs.viam.com/dev/reference/apis/components/movement-sensor/#getaccuracy>`_.
231
231
  """
232
232
  ...
233
233
 
@@ -248,6 +248,6 @@ class MovementSensor(ComponentBase):
248
248
  Returns:
249
249
  Mapping[str, Any]: The readings for the MovementSensor. Can be of any type.
250
250
 
251
- For more information, see `Movement Sensor component <https://docs.viam.com/components/movement-sensor/>`_.
251
+ For more information, see `Movement Sensor component <https://docs.viam.com/dev/reference/apis/components/movement-sensor/#getreadings>`_.
252
252
  """
253
253
  ...
@@ -8,7 +8,7 @@ __all__ = [
8
8
  "PoseTracker",
9
9
  ]
10
10
 
11
- Registry.register_subtype(
11
+ Registry.register_api(
12
12
  ResourceRegistration(
13
13
  PoseTracker,
14
14
  PoseTrackerRPCService,