samsara-api 0.0.1__py3-none-any.whl → 0.0.2__py3-none-any.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 (343) hide show
  1. samsara/__init__.py +298 -38
  2. samsara/alerts/configurations/client.py +25 -11
  3. samsara/alerts/configurations/raw_client.py +47 -8
  4. samsara/alerts/incidents/client.py +21 -11
  5. samsara/alerts/incidents/raw_client.py +43 -9
  6. samsara/assets/client.py +21 -11
  7. samsara/assets/location_and_speed/client.py +21 -13
  8. samsara/assets/location_and_speed/raw_client.py +53 -9
  9. samsara/assets/raw_client.py +53 -8
  10. samsara/attributes/client.py +21 -13
  11. samsara/attributes/raw_client.py +41 -8
  12. samsara/cameras/media/client.py +2 -2
  13. samsara/cameras/media/raw_client.py +2 -2
  14. samsara/cameras/media/retrieval/client.py +2 -12
  15. samsara/cameras/media/types/media_list_request_trigger_reasons_item.py +8 -1
  16. samsara/carrier_proposed_assignments/client.py +21 -11
  17. samsara/carrier_proposed_assignments/raw_client.py +43 -8
  18. samsara/client.py +15 -6
  19. samsara/coaching/driver_coach_assignments/client.py +22 -12
  20. samsara/coaching/driver_coach_assignments/raw_client.py +45 -8
  21. samsara/coaching/sessions/client.py +21 -13
  22. samsara/coaching/sessions/raw_client.py +51 -9
  23. samsara/contacts/client.py +21 -11
  24. samsara/contacts/raw_client.py +39 -8
  25. samsara/core/client_wrapper.py +2 -2
  26. samsara/defect_types/client.py +21 -11
  27. samsara/defect_types/raw_client.py +41 -9
  28. samsara/defects/client.py +124 -9
  29. samsara/defects/raw_client.py +356 -6
  30. samsara/devices/client.py +21 -11
  31. samsara/devices/raw_client.py +45 -9
  32. samsara/document_types/client.py +21 -11
  33. samsara/document_types/raw_client.py +37 -9
  34. samsara/documents/client.py +21 -11
  35. samsara/documents/raw_client.py +45 -8
  36. samsara/driver_trailer_assignments/client.py +23 -13
  37. samsara/driver_trailer_assignments/raw_client.py +43 -8
  38. samsara/drivers/__init__.py +1 -3
  39. samsara/drivers/client.py +21 -21
  40. samsara/drivers/raw_client.py +51 -8
  41. samsara/dvirs/client.py +124 -9
  42. samsara/dvirs/raw_client.py +356 -6
  43. samsara/equipment/__init__.py +2 -2
  44. samsara/equipment/client.py +23 -21
  45. samsara/equipment/locations/client.py +62 -34
  46. samsara/equipment/locations/raw_client.py +132 -27
  47. samsara/equipment/raw_client.py +45 -18
  48. samsara/equipment/stats/__init__.py +2 -2
  49. samsara/equipment/stats/client.py +81 -53
  50. samsara/equipment/stats/raw_client.py +157 -46
  51. samsara/equipment/stats/types/__init__.py +2 -2
  52. samsara/equipment/stats/types/{stats_get_request_types_item.py → stats_list_request_types_item.py} +1 -1
  53. samsara/form_submissions/client.py +46 -54
  54. samsara/form_submissions/pdf_exports/client.py +14 -22
  55. samsara/form_submissions/pdf_exports/raw_client.py +10 -18
  56. samsara/form_submissions/raw_client.py +74 -47
  57. samsara/forms/client.py +138 -0
  58. samsara/{beta → forms}/raw_client.py +37 -62
  59. samsara/function.py +99 -0
  60. samsara/gateways/client.py +21 -11
  61. samsara/gateways/raw_client.py +39 -8
  62. samsara/hos/__init__.py +3 -0
  63. samsara/hos/client.py +218 -11
  64. samsara/hos/raw_client.py +485 -8
  65. samsara/hos/types/__init__.py +7 -0
  66. samsara/hos/types/hos_daily_logs_request_driver_activation_status.py +5 -0
  67. samsara/idling/__init__.py +7 -0
  68. samsara/idling/client.py +287 -0
  69. samsara/idling/raw_client.py +521 -0
  70. samsara/idling/types/__init__.py +7 -0
  71. samsara/idling/types/idling_list_request_pto_state.py +5 -0
  72. samsara/inputs/client.py +21 -11
  73. samsara/inputs/raw_client.py +51 -9
  74. samsara/issues/client.py +27 -29
  75. samsara/issues/raw_client.py +53 -26
  76. samsara/live_shares/client.py +21 -13
  77. samsara/live_shares/raw_client.py +43 -8
  78. samsara/maintenance/service_tasks/client.py +21 -11
  79. samsara/maintenance/service_tasks/raw_client.py +41 -8
  80. samsara/maintenance/work_orders/client.py +40 -22
  81. samsara/maintenance/work_orders/raw_client.py +84 -16
  82. samsara/readings/client.py +524 -0
  83. samsara/readings/raw_client.py +1214 -0
  84. samsara/reports/drivers/fuel_energy/client.py +6 -6
  85. samsara/reports/drivers/fuel_energy/raw_client.py +2 -2
  86. samsara/reports/ifta/__init__.py +4 -4
  87. samsara/reports/ifta/vehicle/__init__.py +2 -2
  88. samsara/reports/ifta/vehicle/client.py +21 -21
  89. samsara/reports/ifta/vehicle/raw_client.py +17 -17
  90. samsara/reports/ifta/vehicle/types/__init__.py +4 -4
  91. samsara/reports/ifta/vehicle/types/{vehicle_get_request_fuel_type.py → vehicle_list_request_fuel_type.py} +1 -1
  92. samsara/reports/ifta/vehicle/types/{vehicle_get_request_month.py → vehicle_list_request_month.py} +1 -1
  93. samsara/reports/ifta/vehicle/types/vehicle_list_request_quarter.py +5 -0
  94. samsara/reports/vehicles/__init__.py +2 -2
  95. samsara/reports/vehicles/fuel_energy/__init__.py +2 -2
  96. samsara/reports/vehicles/fuel_energy/client.py +11 -11
  97. samsara/reports/vehicles/fuel_energy/raw_client.py +7 -7
  98. samsara/reports/vehicles/fuel_energy/types/__init__.py +2 -2
  99. samsara/reports/vehicles/fuel_energy/types/fuel_energy_list_request_energy_type.py +5 -0
  100. samsara/reports/vehicles/idling/client.py +27 -15
  101. samsara/reports/vehicles/idling/raw_client.py +59 -11
  102. samsara/routes/client.py +21 -11
  103. samsara/routes/raw_client.py +43 -8
  104. samsara/safety_events/audit_logs/client.py +21 -13
  105. samsara/safety_events/audit_logs/raw_client.py +39 -9
  106. samsara/safety_events/client.py +21 -11
  107. samsara/safety_events/raw_client.py +47 -9
  108. samsara/speeding_intervals/client.py +25 -17
  109. samsara/speeding_intervals/raw_client.py +55 -13
  110. samsara/tachograph/__init__.py +7 -0
  111. samsara/tachograph/client.py +44 -0
  112. samsara/{drivers/tachograph_files → tachograph/driver}/client.py +162 -15
  113. samsara/{drivers/tachograph_files → tachograph/driver}/raw_client.py +153 -4
  114. samsara/tachograph/raw_client.py +13 -0
  115. samsara/{vehicles/tachograph_files → tachograph/vehicles}/client.py +15 -15
  116. samsara/{vehicles/tachograph_files → tachograph/vehicles}/raw_client.py +4 -4
  117. samsara/tags/client.py +21 -11
  118. samsara/tags/raw_client.py +39 -8
  119. samsara/trailers/client.py +21 -11
  120. samsara/trailers/raw_client.py +43 -8
  121. samsara/training_courses/client.py +21 -11
  122. samsara/training_courses/raw_client.py +43 -9
  123. samsara/trips/client.py +21 -11
  124. samsara/trips/raw_client.py +49 -9
  125. samsara/types/__init__.py +406 -50
  126. samsara/types/advanced_idling_get_idling_events_bad_gateway_error_response_body.py +33 -0
  127. samsara/types/advanced_idling_get_idling_events_gateway_timeout_error_response_body.py +33 -0
  128. samsara/types/{hos_daily_logs_update_shipping_docs_internal_server_error_response_body.py → advanced_idling_get_idling_events_internal_server_error_response_body.py} +1 -1
  129. samsara/types/advanced_idling_get_idling_events_method_not_allowed_error_response_body.py +33 -0
  130. samsara/types/{hos_daily_logs_update_shipping_docs_not_found_error_response_body.py → advanced_idling_get_idling_events_not_found_error_response_body.py} +1 -1
  131. samsara/types/{hos_daily_logs_update_shipping_docs_not_implemented_error_response_body.py → advanced_idling_get_idling_events_not_implemented_error_response_body.py} +1 -1
  132. samsara/types/advanced_idling_get_idling_events_response_body.py +26 -0
  133. samsara/types/{hos_daily_logs_update_shipping_docs_service_unavailable_error_response_body.py → advanced_idling_get_idling_events_service_unavailable_error_response_body.py} +1 -1
  134. samsara/types/{hos_daily_logs_update_shipping_docs_gateway_timeout_error_response_body.py → advanced_idling_get_idling_events_too_many_requests_error_response_body.py} +2 -2
  135. samsara/types/advanced_idling_get_idling_events_unauthorized_error_response_body.py +33 -0
  136. samsara/types/alert_object_asset_response_body.py +63 -0
  137. samsara/types/{assets_create_asset_response_body_type.py → alert_object_asset_response_body_type.py} +1 -1
  138. samsara/types/assets_create_asset_response_body.py +2 -87
  139. samsara/types/assets_update_asset_response_body.py +2 -87
  140. samsara/types/continuous_reading_alert_threshold_response_body.py +49 -0
  141. samsara/types/continuous_reading_alert_threshold_response_body_operation.py +7 -0
  142. samsara/types/continuous_reading_alert_threshold_response_body_unit.py +62 -0
  143. samsara/types/device_response_response_body.py +1 -1
  144. samsara/types/device_response_response_body_model.py +1 -0
  145. samsara/types/dvir_defect_get_defect_bad_gateway_error_response_body.py +33 -0
  146. samsara/types/dvir_defect_get_defect_gateway_timeout_error_response_body.py +33 -0
  147. samsara/types/dvir_defect_get_defect_internal_server_error_response_body.py +33 -0
  148. samsara/types/dvir_defect_get_defect_method_not_allowed_error_response_body.py +33 -0
  149. samsara/types/dvir_defect_get_defect_not_found_error_response_body.py +33 -0
  150. samsara/types/dvir_defect_get_defect_not_implemented_error_response_body.py +33 -0
  151. samsara/types/dvir_defect_get_defect_response_body.py +91 -0
  152. samsara/types/dvir_defect_get_defect_service_unavailable_error_response_body.py +33 -0
  153. samsara/types/dvir_defect_get_defect_too_many_requests_error_response_body.py +33 -0
  154. samsara/types/dvir_defect_get_defect_unauthorized_error_response_body.py +33 -0
  155. samsara/types/dvir_get_dvir_bad_gateway_error_response_body.py +33 -0
  156. samsara/types/dvir_get_dvir_gateway_timeout_error_response_body.py +33 -0
  157. samsara/types/dvir_get_dvir_internal_server_error_response_body.py +33 -0
  158. samsara/types/dvir_get_dvir_method_not_allowed_error_response_body.py +33 -0
  159. samsara/types/dvir_get_dvir_not_found_error_response_body.py +33 -0
  160. samsara/types/dvir_get_dvir_not_implemented_error_response_body.py +33 -0
  161. samsara/types/dvir_get_dvir_response_body.py +99 -0
  162. samsara/types/dvir_get_dvir_response_body_safety_status.py +5 -0
  163. samsara/types/dvir_get_dvir_response_body_type.py +5 -0
  164. samsara/types/dvir_get_dvir_service_unavailable_error_response_body.py +33 -0
  165. samsara/types/dvir_get_dvir_too_many_requests_error_response_body.py +33 -0
  166. samsara/types/dvir_get_dvir_unauthorized_error_response_body.py +33 -0
  167. samsara/types/enum_reading_alert_threshold_response_body.py +31 -0
  168. samsara/types/enum_value_response_body.py +31 -0
  169. samsara/types/equipment_gateway_engine_seconds.py +1 -1
  170. samsara/types/equipment_gateway_j_1939_engine_seconds.py +1 -1
  171. samsara/types/equipment_obd_engine_seconds.py +1 -1
  172. samsara/types/event_location_response_body.py +31 -0
  173. samsara/types/form_submission_request_field_input_object_request_body.py +7 -1
  174. samsara/types/form_submission_request_field_input_object_request_body_type.py +3 -1
  175. samsara/types/{hos_daily_logs_update_shipping_docs_response_body.py → form_submission_request_geofence_object_request_body.py} +9 -3
  176. samsara/types/form_submission_request_geofence_value_object_request_body.py +24 -0
  177. samsara/types/form_submission_response_object_response_body.py +8 -0
  178. samsara/types/{form_template_reference_object_request_body.py → form_template_request_object_request_body.py} +6 -4
  179. samsara/types/form_template_response_object_response_body.py +74 -0
  180. samsara/types/form_template_section_object_response_body.py +47 -0
  181. samsara/types/form_templates_get_form_templates_bad_gateway_error_response_body.py +33 -0
  182. samsara/types/form_templates_get_form_templates_gateway_timeout_error_response_body.py +33 -0
  183. samsara/types/form_templates_get_form_templates_internal_server_error_response_body.py +33 -0
  184. samsara/types/form_templates_get_form_templates_method_not_allowed_error_response_body.py +33 -0
  185. samsara/types/form_templates_get_form_templates_not_found_error_response_body.py +33 -0
  186. samsara/types/form_templates_get_form_templates_not_implemented_error_response_body.py +33 -0
  187. samsara/types/form_templates_get_form_templates_response_body.py +26 -0
  188. samsara/types/form_templates_get_form_templates_service_unavailable_error_response_body.py +33 -0
  189. samsara/types/form_templates_get_form_templates_too_many_requests_error_response_body.py +33 -0
  190. samsara/types/form_templates_get_form_templates_unauthorized_error_response_body.py +33 -0
  191. samsara/types/forms_action_object_response_body.py +43 -0
  192. samsara/types/forms_action_object_response_body_type.py +7 -0
  193. samsara/types/forms_approval_config_object_response_body.py +32 -0
  194. samsara/types/forms_asset_object_response_body.py +8 -1
  195. samsara/types/forms_check_boxes_value_object_response_body.py +7 -0
  196. samsara/types/forms_condition_object_response_body.py +36 -0
  197. samsara/types/forms_condition_object_response_body_type.py +7 -0
  198. samsara/types/forms_conditional_action_object_response_body.py +30 -0
  199. samsara/types/forms_field_definition_object_response_body.py +143 -0
  200. samsara/types/forms_field_definition_object_response_body_allowed_asset_types_item.py +7 -0
  201. samsara/types/forms_field_definition_object_response_body_allowed_date_time_value_type.py +7 -0
  202. samsara/types/forms_field_definition_object_response_body_type.py +22 -0
  203. samsara/types/forms_field_input_object_response_body.py +7 -4
  204. samsara/types/forms_field_input_object_response_body_type.py +20 -0
  205. samsara/types/forms_geofence_object_response_body.py +53 -0
  206. samsara/types/forms_geofence_object_response_body_entry_type.py +5 -0
  207. samsara/types/forms_geofence_value_object_response_body.py +24 -0
  208. samsara/types/forms_multiple_choice_value_object_response_body.py +8 -1
  209. samsara/types/forms_product_submission_approval_details_object_response_body.py +26 -0
  210. samsara/types/forms_select_option_object_response_body.py +47 -0
  211. samsara/types/forms_single_approval_config_object_response_body.py +33 -0
  212. samsara/types/forms_table_cell_object_response_body.py +3 -4
  213. samsara/types/forms_table_cell_object_response_body_type.py +8 -0
  214. samsara/types/forms_table_column_object_response_body.py +3 -4
  215. samsara/types/forms_table_column_object_response_body_type.py +8 -0
  216. samsara/types/forms_table_field_definition_object_response_body.py +91 -0
  217. samsara/types/forms_table_field_definition_object_response_body_allowed_date_time_value_type.py +7 -0
  218. samsara/types/forms_table_field_definition_object_response_body_type.py +8 -0
  219. samsara/types/fuel_cost_object_response_body.py +32 -0
  220. samsara/types/fuel_cost_object_response_body_currency.py +5 -0
  221. samsara/types/fuel_volume_response_body.py +28 -0
  222. samsara/types/fuel_volume_response_body_unit.py +5 -0
  223. samsara/types/gaseous_fuel_cost_object_response_body.py +32 -0
  224. samsara/types/gaseous_fuel_cost_object_response_body_currency.py +7 -0
  225. samsara/types/gateway_details_response_response_body.py +14 -0
  226. samsara/types/harsh_event_trigger_details_object_request_body_types_item.py +1 -0
  227. samsara/types/harsh_event_trigger_details_object_response_body_types_item.py +1 -0
  228. samsara/types/idling_event_object_response_body.py +101 -0
  229. samsara/types/idling_event_object_response_body_address_type.py +17 -0
  230. samsara/types/inline_response_2005.py +24 -0
  231. samsara/types/inline_response_2006.py +24 -0
  232. samsara/types/reading_definition_response_body.py +59 -0
  233. samsara/types/reading_history_response_body.py +47 -0
  234. samsara/types/reading_snapshot_response_body.py +52 -0
  235. samsara/types/reading_trigger_continuous_value_object_request_body.py +51 -0
  236. samsara/types/reading_trigger_continuous_value_object_request_body_operation.py +7 -0
  237. samsara/types/reading_trigger_continuous_value_object_request_body_unit.py +62 -0
  238. samsara/types/reading_trigger_continuous_value_object_response_body.py +51 -0
  239. samsara/types/reading_trigger_continuous_value_object_response_body_operation.py +7 -0
  240. samsara/types/reading_trigger_continuous_value_object_response_body_unit.py +62 -0
  241. samsara/types/reading_trigger_details_object_request_body.py +48 -0
  242. samsara/types/reading_trigger_details_object_response_body.py +48 -0
  243. samsara/types/reading_trigger_details_response_body.py +38 -0
  244. samsara/types/reading_trigger_enum_value_object_request_body.py +31 -0
  245. samsara/types/reading_trigger_enum_value_object_response_body.py +31 -0
  246. samsara/types/reading_type_response_body.py +34 -0
  247. samsara/types/reading_type_response_body_data_type.py +5 -0
  248. samsara/types/readings_get_readings_history_bad_gateway_error_response_body.py +33 -0
  249. samsara/types/{hos_daily_logs_update_shipping_docs_bad_gateway_error_response_body.py → readings_get_readings_history_gateway_timeout_error_response_body.py} +2 -2
  250. samsara/types/readings_get_readings_history_internal_server_error_response_body.py +33 -0
  251. samsara/types/readings_get_readings_history_method_not_allowed_error_response_body.py +33 -0
  252. samsara/types/readings_get_readings_history_not_found_error_response_body.py +33 -0
  253. samsara/types/readings_get_readings_history_not_implemented_error_response_body.py +33 -0
  254. samsara/types/readings_get_readings_history_response_body.py +26 -0
  255. samsara/types/readings_get_readings_history_service_unavailable_error_response_body.py +33 -0
  256. samsara/types/readings_get_readings_history_too_many_requests_error_response_body.py +33 -0
  257. samsara/types/readings_get_readings_history_unauthorized_error_response_body.py +33 -0
  258. samsara/types/readings_get_readings_snapshot_bad_gateway_error_response_body.py +33 -0
  259. samsara/types/readings_get_readings_snapshot_gateway_timeout_error_response_body.py +33 -0
  260. samsara/types/readings_get_readings_snapshot_internal_server_error_response_body.py +33 -0
  261. samsara/types/readings_get_readings_snapshot_method_not_allowed_error_response_body.py +33 -0
  262. samsara/types/readings_get_readings_snapshot_not_found_error_response_body.py +33 -0
  263. samsara/types/readings_get_readings_snapshot_not_implemented_error_response_body.py +33 -0
  264. samsara/types/readings_get_readings_snapshot_response_body.py +26 -0
  265. samsara/types/readings_get_readings_snapshot_service_unavailable_error_response_body.py +33 -0
  266. samsara/types/{hos_daily_logs_update_shipping_docs_unauthorized_error_response_body.py → readings_get_readings_snapshot_too_many_requests_error_response_body.py} +2 -2
  267. samsara/types/readings_get_readings_snapshot_unauthorized_error_response_body.py +33 -0
  268. samsara/types/readings_list_readings_definitions_bad_gateway_error_response_body.py +33 -0
  269. samsara/types/{hos_daily_logs_update_shipping_docs_too_many_requests_error_response_body.py → readings_list_readings_definitions_gateway_timeout_error_response_body.py} +2 -2
  270. samsara/types/readings_list_readings_definitions_internal_server_error_response_body.py +33 -0
  271. samsara/types/readings_list_readings_definitions_method_not_allowed_error_response_body.py +33 -0
  272. samsara/types/readings_list_readings_definitions_not_found_error_response_body.py +33 -0
  273. samsara/types/readings_list_readings_definitions_not_implemented_error_response_body.py +33 -0
  274. samsara/types/readings_list_readings_definitions_response_body.py +26 -0
  275. samsara/types/readings_list_readings_definitions_service_unavailable_error_response_body.py +33 -0
  276. samsara/types/{hos_daily_logs_update_shipping_docs_method_not_allowed_error_response_body.py → readings_list_readings_definitions_too_many_requests_error_response_body.py} +2 -2
  277. samsara/types/readings_list_readings_definitions_unauthorized_error_response_body.py +33 -0
  278. samsara/types/safety_score_configuration_settings_object_response_body.py +7 -0
  279. samsara/types/single_approval_requirements_object_response_body.py +28 -0
  280. samsara/types/sudden_fuel_level_drop_response_body.py +33 -0
  281. samsara/types/sudden_fuel_level_rise_response_body.py +33 -0
  282. samsara/types/trigger_params_object_request_body.py +2 -0
  283. samsara/types/trigger_params_object_response_body.py +2 -0
  284. samsara/types/unit_response_body.py +39 -0
  285. samsara/types/unit_response_body_base_unit.py +62 -0
  286. samsara/types/unit_response_body_measurement_type.py +28 -0
  287. samsara/types/uploaded_media_object_response_body.py +1 -1
  288. samsara/types/uploaded_media_object_response_body_trigger_reason.py +8 -1
  289. samsara/types/v_1_message.py +29 -0
  290. samsara/types/v_1_message_response.py +41 -0
  291. samsara/types/v_1_message_sender.py +27 -0
  292. samsara/types/v_1_messages.py +7 -0
  293. samsara/types/v_1_messages_response.py +7 -0
  294. samsara/types/webhook_response_response_body_event_types_item.py +1 -0
  295. samsara/types/webhooks_get_webhook_response_body_event_types_item.py +1 -0
  296. samsara/types/webhooks_patch_webhook_response_body_event_types_item.py +1 -0
  297. samsara/types/webhooks_post_webhooks_response_body_event_types_item.py +1 -0
  298. samsara/types/workflow_geofence_event_response_object_response_body.py +6 -0
  299. samsara/types/workflow_incident_details_object_response_body.py +2 -0
  300. samsara/types/workflow_trigger_object_request_body.py +1 -0
  301. samsara/types/workflow_trigger_object_response_body.py +1 -0
  302. samsara/user_roles/client.py +21 -11
  303. samsara/user_roles/raw_client.py +39 -9
  304. samsara/users/client.py +21 -11
  305. samsara/users/raw_client.py +39 -8
  306. samsara/v_1_messages/__init__.py +4 -0
  307. samsara/v_1_messages/client.py +258 -0
  308. samsara/v_1_messages/raw_client.py +273 -0
  309. samsara/vehicles/__init__.py +1 -2
  310. samsara/vehicles/client.py +31 -16
  311. samsara/vehicles/immobilizer/client.py +21 -13
  312. samsara/vehicles/immobilizer/raw_client.py +43 -9
  313. samsara/vehicles/locations/client.py +60 -32
  314. samsara/vehicles/locations/raw_client.py +132 -25
  315. samsara/vehicles/raw_client.py +61 -8
  316. samsara/vehicles/stats/client.py +66 -38
  317. samsara/vehicles/stats/raw_client.py +148 -31
  318. samsara/webhooks/client.py +21 -11
  319. samsara/webhooks/raw_client.py +41 -8
  320. samsara/webhooks/types/webhooks_post_webhooks_request_body_event_types_item.py +1 -0
  321. samsara_api-0.0.2.dist-info/METADATA +29 -0
  322. {samsara_api-0.0.1.dist-info → samsara_api-0.0.2.dist-info}/RECORD +328 -193
  323. samsara/beta/client.py +0 -161
  324. samsara/drivers/tachograph_activity/client.py +0 -186
  325. samsara/drivers/tachograph_activity/raw_client.py +0 -169
  326. samsara/hours_of_service/__init__.py +0 -7
  327. samsara/hours_of_service/client.py +0 -229
  328. samsara/hours_of_service/raw_client.py +0 -425
  329. samsara/hours_of_service/types/__init__.py +0 -9
  330. samsara/hours_of_service/types/hours_of_service_get_daily_logs_request_driver_activation_status.py +0 -7
  331. samsara/reports/ifta/vehicle/types/vehicle_get_request_quarter.py +0 -5
  332. samsara/reports/vehicles/fuel_energy/types/fuel_energy_get_request_energy_type.py +0 -5
  333. samsara/types/assets_create_asset_response_body_regulation_mode.py +0 -7
  334. samsara/types/assets_update_asset_response_body_regulation_mode.py +0 -7
  335. samsara/types/assets_update_asset_response_body_type.py +0 -7
  336. samsara/types/patch_shipping_docs_response_body_response_body.py +0 -93
  337. samsara_api-0.0.1.dist-info/METADATA +0 -214
  338. /samsara/{beta → forms}/__init__.py +0 -0
  339. /samsara/{drivers/tachograph_activity → readings}/__init__.py +0 -0
  340. /samsara/{drivers/tachograph_files → tachograph/driver}/__init__.py +0 -0
  341. /samsara/{vehicles/tachograph_files → tachograph/vehicles}/__init__.py +0 -0
  342. {samsara_api-0.0.1.dist-info → samsara_api-0.0.2.dist-info}/LICENSE +0 -0
  343. {samsara_api-0.0.1.dist-info → samsara_api-0.0.2.dist-info}/WHEEL +0 -0
@@ -5,21 +5,23 @@ from json.decoder import JSONDecodeError
5
5
 
6
6
  from ...core.api_error import ApiError
7
7
  from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
8
- from ...core.http_response import AsyncHttpResponse, HttpResponse
8
+ from ...core.pagination import AsyncPager, BaseHttpResponse, SyncPager
9
9
  from ...core.pydantic_utilities import parse_obj_as
10
10
  from ...core.request_options import RequestOptions
11
11
  from ...types.equipment_stats_list_response import EquipmentStatsListResponse
12
+ from ...types.equipment_stats_list_response_data import EquipmentStatsListResponseData
12
13
  from ...types.equipment_stats_response import EquipmentStatsResponse
14
+ from ...types.equipment_stats_response_data import EquipmentStatsResponseData
13
15
  from .types.stats_feed_request_types_item import StatsFeedRequestTypesItem
14
- from .types.stats_get_request_types_item import StatsGetRequestTypesItem
15
16
  from .types.stats_history_request_types_item import StatsHistoryRequestTypesItem
17
+ from .types.stats_list_request_types_item import StatsListRequestTypesItem
16
18
 
17
19
 
18
20
  class RawStatsClient:
19
21
  def __init__(self, *, client_wrapper: SyncClientWrapper):
20
22
  self._client_wrapper = client_wrapper
21
23
 
22
- def get(
24
+ def list(
23
25
  self,
24
26
  *,
25
27
  after: typing.Optional[str] = None,
@@ -27,10 +29,10 @@ class RawStatsClient:
27
29
  tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
28
30
  equipment_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
29
31
  types: typing.Optional[
30
- typing.Union[StatsGetRequestTypesItem, typing.Sequence[StatsGetRequestTypesItem]]
32
+ typing.Union[StatsListRequestTypesItem, typing.Sequence[StatsListRequestTypesItem]]
31
33
  ] = None,
32
34
  request_options: typing.Optional[RequestOptions] = None,
33
- ) -> HttpResponse[EquipmentStatsResponse]:
35
+ ) -> SyncPager[EquipmentStatsResponseData]:
34
36
  """
35
37
  Returns the last known stats for all equipment. This can be optionally filtered by tags or specific equipment IDs.
36
38
 
@@ -54,12 +56,12 @@ class RawStatsClient:
54
56
  equipment_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
55
57
  A filter on the data based on this comma-separated list of equipment IDs. Example: `equipmentIds=1234,5678`
56
58
 
57
- types : typing.Optional[typing.Union[StatsGetRequestTypesItem, typing.Sequence[StatsGetRequestTypesItem]]]
58
- The types of equipment stats you want to query. Currently, you may submit up to 3 types.
59
+ types : typing.Optional[typing.Union[StatsListRequestTypesItem, typing.Sequence[StatsListRequestTypesItem]]]
60
+ The types of equipment stats you want to query. Currently, you may submit up to 4 types.
59
61
 
60
62
  - `engineRpm`: The revolutions per minute of the engine.
61
63
  - `fuelPercents`: The percent of fuel in the unit of equipment.
62
- - `obdEngineSeconds`: The number of seconds the engine has been running since it was new. This value is provided directly from on-board diagnostics.
64
+ - `obdEngineSeconds`: The number of seconds the engine has been running as reported directly from on-board diagnostics. This is supported with the following hardware configurations: AG24/AG26 + AOPEN/A9PIN/ACT9/ACT14.
63
65
  - `gatewayEngineSeconds`: An approximation of the number of seconds the engine has been running since it was new, based on the amount of time the asset gateway has been receiving power with an offset provided manually through the Samsara cloud dashboard. This is supported with the following hardware configurations:
64
66
  - AG24/AG26/AG46P + APWR cable ([Auxiliary engine configuration](https://kb.samsara.com/hc/en-us/articles/360043040512-Auxiliary-Inputs#UUID-d514abff-d10a-efaf-35d9-e10fa6c4888d) required)
65
67
  - AG52 + BPWR/BEQP cable ([Auxiliary engine configuration](https://kb.samsara.com/hc/en-us/articles/360043040512-Auxiliary-Inputs#UUID-d514abff-d10a-efaf-35d9-e10fa6c4888d) required).
@@ -75,7 +77,7 @@ class RawStatsClient:
75
77
 
76
78
  Returns
77
79
  -------
78
- HttpResponse[EquipmentStatsResponse]
80
+ SyncPager[EquipmentStatsResponseData]
79
81
  The most recent equipment stats and pagination information
80
82
  """
81
83
  _response = self._client_wrapper.httpx_client.request(
@@ -92,14 +94,30 @@ class RawStatsClient:
92
94
  )
93
95
  try:
94
96
  if 200 <= _response.status_code < 300:
95
- _data = typing.cast(
97
+ _parsed_response = typing.cast(
96
98
  EquipmentStatsResponse,
97
99
  parse_obj_as(
98
100
  type_=EquipmentStatsResponse, # type: ignore
99
101
  object_=_response.json(),
100
102
  ),
101
103
  )
102
- return HttpResponse(response=_response, data=_data)
104
+ _items = _parsed_response.data
105
+ _has_next = False
106
+ _get_next = None
107
+ if _parsed_response.pagination is not None:
108
+ _parsed_next = _parsed_response.pagination.end_cursor
109
+ _has_next = _parsed_next is not None and _parsed_next != ""
110
+ _get_next = lambda: self.list(
111
+ after=_parsed_next,
112
+ parent_tag_ids=parent_tag_ids,
113
+ tag_ids=tag_ids,
114
+ equipment_ids=equipment_ids,
115
+ types=types,
116
+ request_options=request_options,
117
+ )
118
+ return SyncPager(
119
+ has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
120
+ )
103
121
  _response_json = _response.json()
104
122
  except JSONDecodeError:
105
123
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
@@ -116,9 +134,9 @@ class RawStatsClient:
116
134
  typing.Union[StatsFeedRequestTypesItem, typing.Sequence[StatsFeedRequestTypesItem]]
117
135
  ] = None,
118
136
  request_options: typing.Optional[RequestOptions] = None,
119
- ) -> HttpResponse[EquipmentStatsListResponse]:
137
+ ) -> SyncPager[EquipmentStatsListResponseData]:
120
138
  """
121
- Follow a continuous feed of all equipment stats from Samsara AG26s.
139
+ Follow a continuous feed of all equipment stats.
122
140
 
123
141
  Your first call to this endpoint will provide you with the most recent stats for each unit of equipment and a `pagination` object that contains an `endCursor`.
124
142
 
@@ -147,11 +165,11 @@ class RawStatsClient:
147
165
  A filter on the data based on this comma-separated list of equipment IDs. Example: `equipmentIds=1234,5678`
148
166
 
149
167
  types : typing.Optional[typing.Union[StatsFeedRequestTypesItem, typing.Sequence[StatsFeedRequestTypesItem]]]
150
- The types of equipment stats you want to query. Currently, you may submit up to 3 types.
168
+ The types of equipment stats you want to query. Currently, you may submit up to 4 types.
151
169
 
152
170
  - `engineRpm`: The revolutions per minute of the engine.
153
171
  - `fuelPercents`: The percent of fuel in the unit of equipment.
154
- - `obdEngineSeconds`: The number of seconds the engine has been running since it was new. This value is provided directly from on-board diagnostics.
172
+ - `obdEngineSeconds`: The number of seconds the engine has been running as reported directly from on-board diagnostics. This is supported with the following hardware configurations: AG24/AG26 + AOPEN/A9PIN/ACT9/ACT14.
155
173
  - `gatewayEngineSeconds`: An approximation of the number of seconds the engine has been running since it was new, based on the amount of time the asset gateway has been receiving power with an offset provided manually through the Samsara cloud dashboard. This is supported with the following hardware configurations:
156
174
  - AG24/AG26/AG46P + APWR cable ([Auxiliary engine configuration](https://kb.samsara.com/hc/en-us/articles/360043040512-Auxiliary-Inputs#UUID-d514abff-d10a-efaf-35d9-e10fa6c4888d) required)
157
175
  - AG52 + BPWR/BEQP cable ([Auxiliary engine configuration](https://kb.samsara.com/hc/en-us/articles/360043040512-Auxiliary-Inputs#UUID-d514abff-d10a-efaf-35d9-e10fa6c4888d) required).
@@ -167,7 +185,7 @@ class RawStatsClient:
167
185
 
168
186
  Returns
169
187
  -------
170
- HttpResponse[EquipmentStatsListResponse]
188
+ SyncPager[EquipmentStatsListResponseData]
171
189
  The feed of equipment stats and pagination information
172
190
  """
173
191
  _response = self._client_wrapper.httpx_client.request(
@@ -184,14 +202,30 @@ class RawStatsClient:
184
202
  )
185
203
  try:
186
204
  if 200 <= _response.status_code < 300:
187
- _data = typing.cast(
205
+ _parsed_response = typing.cast(
188
206
  EquipmentStatsListResponse,
189
207
  parse_obj_as(
190
208
  type_=EquipmentStatsListResponse, # type: ignore
191
209
  object_=_response.json(),
192
210
  ),
193
211
  )
194
- return HttpResponse(response=_response, data=_data)
212
+ _items = _parsed_response.data
213
+ _has_next = False
214
+ _get_next = None
215
+ if _parsed_response.pagination is not None:
216
+ _parsed_next = _parsed_response.pagination.end_cursor
217
+ _has_next = _parsed_next is not None and _parsed_next != ""
218
+ _get_next = lambda: self.feed(
219
+ after=_parsed_next,
220
+ parent_tag_ids=parent_tag_ids,
221
+ tag_ids=tag_ids,
222
+ equipment_ids=equipment_ids,
223
+ types=types,
224
+ request_options=request_options,
225
+ )
226
+ return SyncPager(
227
+ has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
228
+ )
195
229
  _response_json = _response.json()
196
230
  except JSONDecodeError:
197
231
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
@@ -210,7 +244,7 @@ class RawStatsClient:
210
244
  typing.Union[StatsHistoryRequestTypesItem, typing.Sequence[StatsHistoryRequestTypesItem]]
211
245
  ] = None,
212
246
  request_options: typing.Optional[RequestOptions] = None,
213
- ) -> HttpResponse[EquipmentStatsListResponse]:
247
+ ) -> SyncPager[EquipmentStatsListResponseData]:
214
248
  """
215
249
  Returns historical equipment status during the given time range. This can be optionally filtered by tags or specific equipment IDs.
216
250
 
@@ -241,11 +275,11 @@ class RawStatsClient:
241
275
  A filter on the data based on this comma-separated list of equipment IDs. Example: `equipmentIds=1234,5678`
242
276
 
243
277
  types : typing.Optional[typing.Union[StatsHistoryRequestTypesItem, typing.Sequence[StatsHistoryRequestTypesItem]]]
244
- The types of equipment stats you want to query. Currently, you may submit up to 3 types.
278
+ The types of equipment stats you want to query. Currently, you may submit up to 4 types.
245
279
 
246
280
  - `engineRpm`: The revolutions per minute of the engine.
247
281
  - `fuelPercents`: The percent of fuel in the unit of equipment.
248
- - `obdEngineSeconds`: The number of seconds the engine has been running since it was new. This value is provided directly from on-board diagnostics.
282
+ - `obdEngineSeconds`: The number of seconds the engine has been running as reported directly from on-board diagnostics. This is supported with the following hardware configurations: AG24/AG26 + AOPEN/A9PIN/ACT9/ACT14.
249
283
  - `gatewayEngineSeconds`: An approximation of the number of seconds the engine has been running since it was new, based on the amount of time the asset gateway has been receiving power with an offset provided manually through the Samsara cloud dashboard. This is supported with the following hardware configurations:
250
284
  - AG24/AG26/AG46P + APWR cable ([Auxiliary engine configuration](https://kb.samsara.com/hc/en-us/articles/360043040512-Auxiliary-Inputs#UUID-d514abff-d10a-efaf-35d9-e10fa6c4888d) required)
251
285
  - AG52 + BPWR/BEQP cable ([Auxiliary engine configuration](https://kb.samsara.com/hc/en-us/articles/360043040512-Auxiliary-Inputs#UUID-d514abff-d10a-efaf-35d9-e10fa6c4888d) required).
@@ -261,7 +295,7 @@ class RawStatsClient:
261
295
 
262
296
  Returns
263
297
  -------
264
- HttpResponse[EquipmentStatsListResponse]
298
+ SyncPager[EquipmentStatsListResponseData]
265
299
  Historical equipment stats and pagination information
266
300
  """
267
301
  _response = self._client_wrapper.httpx_client.request(
@@ -280,14 +314,32 @@ class RawStatsClient:
280
314
  )
281
315
  try:
282
316
  if 200 <= _response.status_code < 300:
283
- _data = typing.cast(
317
+ _parsed_response = typing.cast(
284
318
  EquipmentStatsListResponse,
285
319
  parse_obj_as(
286
320
  type_=EquipmentStatsListResponse, # type: ignore
287
321
  object_=_response.json(),
288
322
  ),
289
323
  )
290
- return HttpResponse(response=_response, data=_data)
324
+ _items = _parsed_response.data
325
+ _has_next = False
326
+ _get_next = None
327
+ if _parsed_response.pagination is not None:
328
+ _parsed_next = _parsed_response.pagination.end_cursor
329
+ _has_next = _parsed_next is not None and _parsed_next != ""
330
+ _get_next = lambda: self.history(
331
+ start_time=start_time,
332
+ end_time=end_time,
333
+ after=_parsed_next,
334
+ parent_tag_ids=parent_tag_ids,
335
+ tag_ids=tag_ids,
336
+ equipment_ids=equipment_ids,
337
+ types=types,
338
+ request_options=request_options,
339
+ )
340
+ return SyncPager(
341
+ has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
342
+ )
291
343
  _response_json = _response.json()
292
344
  except JSONDecodeError:
293
345
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
@@ -298,7 +350,7 @@ class AsyncRawStatsClient:
298
350
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
299
351
  self._client_wrapper = client_wrapper
300
352
 
301
- async def get(
353
+ async def list(
302
354
  self,
303
355
  *,
304
356
  after: typing.Optional[str] = None,
@@ -306,10 +358,10 @@ class AsyncRawStatsClient:
306
358
  tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
307
359
  equipment_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
308
360
  types: typing.Optional[
309
- typing.Union[StatsGetRequestTypesItem, typing.Sequence[StatsGetRequestTypesItem]]
361
+ typing.Union[StatsListRequestTypesItem, typing.Sequence[StatsListRequestTypesItem]]
310
362
  ] = None,
311
363
  request_options: typing.Optional[RequestOptions] = None,
312
- ) -> AsyncHttpResponse[EquipmentStatsResponse]:
364
+ ) -> AsyncPager[EquipmentStatsResponseData]:
313
365
  """
314
366
  Returns the last known stats for all equipment. This can be optionally filtered by tags or specific equipment IDs.
315
367
 
@@ -333,12 +385,12 @@ class AsyncRawStatsClient:
333
385
  equipment_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
334
386
  A filter on the data based on this comma-separated list of equipment IDs. Example: `equipmentIds=1234,5678`
335
387
 
336
- types : typing.Optional[typing.Union[StatsGetRequestTypesItem, typing.Sequence[StatsGetRequestTypesItem]]]
337
- The types of equipment stats you want to query. Currently, you may submit up to 3 types.
388
+ types : typing.Optional[typing.Union[StatsListRequestTypesItem, typing.Sequence[StatsListRequestTypesItem]]]
389
+ The types of equipment stats you want to query. Currently, you may submit up to 4 types.
338
390
 
339
391
  - `engineRpm`: The revolutions per minute of the engine.
340
392
  - `fuelPercents`: The percent of fuel in the unit of equipment.
341
- - `obdEngineSeconds`: The number of seconds the engine has been running since it was new. This value is provided directly from on-board diagnostics.
393
+ - `obdEngineSeconds`: The number of seconds the engine has been running as reported directly from on-board diagnostics. This is supported with the following hardware configurations: AG24/AG26 + AOPEN/A9PIN/ACT9/ACT14.
342
394
  - `gatewayEngineSeconds`: An approximation of the number of seconds the engine has been running since it was new, based on the amount of time the asset gateway has been receiving power with an offset provided manually through the Samsara cloud dashboard. This is supported with the following hardware configurations:
343
395
  - AG24/AG26/AG46P + APWR cable ([Auxiliary engine configuration](https://kb.samsara.com/hc/en-us/articles/360043040512-Auxiliary-Inputs#UUID-d514abff-d10a-efaf-35d9-e10fa6c4888d) required)
344
396
  - AG52 + BPWR/BEQP cable ([Auxiliary engine configuration](https://kb.samsara.com/hc/en-us/articles/360043040512-Auxiliary-Inputs#UUID-d514abff-d10a-efaf-35d9-e10fa6c4888d) required).
@@ -354,7 +406,7 @@ class AsyncRawStatsClient:
354
406
 
355
407
  Returns
356
408
  -------
357
- AsyncHttpResponse[EquipmentStatsResponse]
409
+ AsyncPager[EquipmentStatsResponseData]
358
410
  The most recent equipment stats and pagination information
359
411
  """
360
412
  _response = await self._client_wrapper.httpx_client.request(
@@ -371,14 +423,33 @@ class AsyncRawStatsClient:
371
423
  )
372
424
  try:
373
425
  if 200 <= _response.status_code < 300:
374
- _data = typing.cast(
426
+ _parsed_response = typing.cast(
375
427
  EquipmentStatsResponse,
376
428
  parse_obj_as(
377
429
  type_=EquipmentStatsResponse, # type: ignore
378
430
  object_=_response.json(),
379
431
  ),
380
432
  )
381
- return AsyncHttpResponse(response=_response, data=_data)
433
+ _items = _parsed_response.data
434
+ _has_next = False
435
+ _get_next = None
436
+ if _parsed_response.pagination is not None:
437
+ _parsed_next = _parsed_response.pagination.end_cursor
438
+ _has_next = _parsed_next is not None and _parsed_next != ""
439
+
440
+ async def _get_next():
441
+ return await self.list(
442
+ after=_parsed_next,
443
+ parent_tag_ids=parent_tag_ids,
444
+ tag_ids=tag_ids,
445
+ equipment_ids=equipment_ids,
446
+ types=types,
447
+ request_options=request_options,
448
+ )
449
+
450
+ return AsyncPager(
451
+ has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
452
+ )
382
453
  _response_json = _response.json()
383
454
  except JSONDecodeError:
384
455
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
@@ -395,9 +466,9 @@ class AsyncRawStatsClient:
395
466
  typing.Union[StatsFeedRequestTypesItem, typing.Sequence[StatsFeedRequestTypesItem]]
396
467
  ] = None,
397
468
  request_options: typing.Optional[RequestOptions] = None,
398
- ) -> AsyncHttpResponse[EquipmentStatsListResponse]:
469
+ ) -> AsyncPager[EquipmentStatsListResponseData]:
399
470
  """
400
- Follow a continuous feed of all equipment stats from Samsara AG26s.
471
+ Follow a continuous feed of all equipment stats.
401
472
 
402
473
  Your first call to this endpoint will provide you with the most recent stats for each unit of equipment and a `pagination` object that contains an `endCursor`.
403
474
 
@@ -426,11 +497,11 @@ class AsyncRawStatsClient:
426
497
  A filter on the data based on this comma-separated list of equipment IDs. Example: `equipmentIds=1234,5678`
427
498
 
428
499
  types : typing.Optional[typing.Union[StatsFeedRequestTypesItem, typing.Sequence[StatsFeedRequestTypesItem]]]
429
- The types of equipment stats you want to query. Currently, you may submit up to 3 types.
500
+ The types of equipment stats you want to query. Currently, you may submit up to 4 types.
430
501
 
431
502
  - `engineRpm`: The revolutions per minute of the engine.
432
503
  - `fuelPercents`: The percent of fuel in the unit of equipment.
433
- - `obdEngineSeconds`: The number of seconds the engine has been running since it was new. This value is provided directly from on-board diagnostics.
504
+ - `obdEngineSeconds`: The number of seconds the engine has been running as reported directly from on-board diagnostics. This is supported with the following hardware configurations: AG24/AG26 + AOPEN/A9PIN/ACT9/ACT14.
434
505
  - `gatewayEngineSeconds`: An approximation of the number of seconds the engine has been running since it was new, based on the amount of time the asset gateway has been receiving power with an offset provided manually through the Samsara cloud dashboard. This is supported with the following hardware configurations:
435
506
  - AG24/AG26/AG46P + APWR cable ([Auxiliary engine configuration](https://kb.samsara.com/hc/en-us/articles/360043040512-Auxiliary-Inputs#UUID-d514abff-d10a-efaf-35d9-e10fa6c4888d) required)
436
507
  - AG52 + BPWR/BEQP cable ([Auxiliary engine configuration](https://kb.samsara.com/hc/en-us/articles/360043040512-Auxiliary-Inputs#UUID-d514abff-d10a-efaf-35d9-e10fa6c4888d) required).
@@ -446,7 +517,7 @@ class AsyncRawStatsClient:
446
517
 
447
518
  Returns
448
519
  -------
449
- AsyncHttpResponse[EquipmentStatsListResponse]
520
+ AsyncPager[EquipmentStatsListResponseData]
450
521
  The feed of equipment stats and pagination information
451
522
  """
452
523
  _response = await self._client_wrapper.httpx_client.request(
@@ -463,14 +534,33 @@ class AsyncRawStatsClient:
463
534
  )
464
535
  try:
465
536
  if 200 <= _response.status_code < 300:
466
- _data = typing.cast(
537
+ _parsed_response = typing.cast(
467
538
  EquipmentStatsListResponse,
468
539
  parse_obj_as(
469
540
  type_=EquipmentStatsListResponse, # type: ignore
470
541
  object_=_response.json(),
471
542
  ),
472
543
  )
473
- return AsyncHttpResponse(response=_response, data=_data)
544
+ _items = _parsed_response.data
545
+ _has_next = False
546
+ _get_next = None
547
+ if _parsed_response.pagination is not None:
548
+ _parsed_next = _parsed_response.pagination.end_cursor
549
+ _has_next = _parsed_next is not None and _parsed_next != ""
550
+
551
+ async def _get_next():
552
+ return await self.feed(
553
+ after=_parsed_next,
554
+ parent_tag_ids=parent_tag_ids,
555
+ tag_ids=tag_ids,
556
+ equipment_ids=equipment_ids,
557
+ types=types,
558
+ request_options=request_options,
559
+ )
560
+
561
+ return AsyncPager(
562
+ has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
563
+ )
474
564
  _response_json = _response.json()
475
565
  except JSONDecodeError:
476
566
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
@@ -489,7 +579,7 @@ class AsyncRawStatsClient:
489
579
  typing.Union[StatsHistoryRequestTypesItem, typing.Sequence[StatsHistoryRequestTypesItem]]
490
580
  ] = None,
491
581
  request_options: typing.Optional[RequestOptions] = None,
492
- ) -> AsyncHttpResponse[EquipmentStatsListResponse]:
582
+ ) -> AsyncPager[EquipmentStatsListResponseData]:
493
583
  """
494
584
  Returns historical equipment status during the given time range. This can be optionally filtered by tags or specific equipment IDs.
495
585
 
@@ -520,11 +610,11 @@ class AsyncRawStatsClient:
520
610
  A filter on the data based on this comma-separated list of equipment IDs. Example: `equipmentIds=1234,5678`
521
611
 
522
612
  types : typing.Optional[typing.Union[StatsHistoryRequestTypesItem, typing.Sequence[StatsHistoryRequestTypesItem]]]
523
- The types of equipment stats you want to query. Currently, you may submit up to 3 types.
613
+ The types of equipment stats you want to query. Currently, you may submit up to 4 types.
524
614
 
525
615
  - `engineRpm`: The revolutions per minute of the engine.
526
616
  - `fuelPercents`: The percent of fuel in the unit of equipment.
527
- - `obdEngineSeconds`: The number of seconds the engine has been running since it was new. This value is provided directly from on-board diagnostics.
617
+ - `obdEngineSeconds`: The number of seconds the engine has been running as reported directly from on-board diagnostics. This is supported with the following hardware configurations: AG24/AG26 + AOPEN/A9PIN/ACT9/ACT14.
528
618
  - `gatewayEngineSeconds`: An approximation of the number of seconds the engine has been running since it was new, based on the amount of time the asset gateway has been receiving power with an offset provided manually through the Samsara cloud dashboard. This is supported with the following hardware configurations:
529
619
  - AG24/AG26/AG46P + APWR cable ([Auxiliary engine configuration](https://kb.samsara.com/hc/en-us/articles/360043040512-Auxiliary-Inputs#UUID-d514abff-d10a-efaf-35d9-e10fa6c4888d) required)
530
620
  - AG52 + BPWR/BEQP cable ([Auxiliary engine configuration](https://kb.samsara.com/hc/en-us/articles/360043040512-Auxiliary-Inputs#UUID-d514abff-d10a-efaf-35d9-e10fa6c4888d) required).
@@ -540,7 +630,7 @@ class AsyncRawStatsClient:
540
630
 
541
631
  Returns
542
632
  -------
543
- AsyncHttpResponse[EquipmentStatsListResponse]
633
+ AsyncPager[EquipmentStatsListResponseData]
544
634
  Historical equipment stats and pagination information
545
635
  """
546
636
  _response = await self._client_wrapper.httpx_client.request(
@@ -559,14 +649,35 @@ class AsyncRawStatsClient:
559
649
  )
560
650
  try:
561
651
  if 200 <= _response.status_code < 300:
562
- _data = typing.cast(
652
+ _parsed_response = typing.cast(
563
653
  EquipmentStatsListResponse,
564
654
  parse_obj_as(
565
655
  type_=EquipmentStatsListResponse, # type: ignore
566
656
  object_=_response.json(),
567
657
  ),
568
658
  )
569
- return AsyncHttpResponse(response=_response, data=_data)
659
+ _items = _parsed_response.data
660
+ _has_next = False
661
+ _get_next = None
662
+ if _parsed_response.pagination is not None:
663
+ _parsed_next = _parsed_response.pagination.end_cursor
664
+ _has_next = _parsed_next is not None and _parsed_next != ""
665
+
666
+ async def _get_next():
667
+ return await self.history(
668
+ start_time=start_time,
669
+ end_time=end_time,
670
+ after=_parsed_next,
671
+ parent_tag_ids=parent_tag_ids,
672
+ tag_ids=tag_ids,
673
+ equipment_ids=equipment_ids,
674
+ types=types,
675
+ request_options=request_options,
676
+ )
677
+
678
+ return AsyncPager(
679
+ has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
680
+ )
570
681
  _response_json = _response.json()
571
682
  except JSONDecodeError:
572
683
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
@@ -3,7 +3,7 @@
3
3
  # isort: skip_file
4
4
 
5
5
  from .stats_feed_request_types_item import StatsFeedRequestTypesItem
6
- from .stats_get_request_types_item import StatsGetRequestTypesItem
7
6
  from .stats_history_request_types_item import StatsHistoryRequestTypesItem
7
+ from .stats_list_request_types_item import StatsListRequestTypesItem
8
8
 
9
- __all__ = ["StatsFeedRequestTypesItem", "StatsGetRequestTypesItem", "StatsHistoryRequestTypesItem"]
9
+ __all__ = ["StatsFeedRequestTypesItem", "StatsHistoryRequestTypesItem", "StatsListRequestTypesItem"]
@@ -2,7 +2,7 @@
2
2
 
3
3
  import typing
4
4
 
5
- StatsGetRequestTypesItem = typing.Union[
5
+ StatsListRequestTypesItem = typing.Union[
6
6
  typing.Literal[
7
7
  "gatewayEngineStates",
8
8
  "obdEngineStates",