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,7 +5,7 @@ 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 ..errors.bad_gateway_error import BadGatewayError
@@ -18,6 +18,7 @@ from ..errors.service_unavailable_error import ServiceUnavailableError
18
18
  from ..errors.too_many_requests_error import TooManyRequestsError
19
19
  from ..errors.unauthorized_error import UnauthorizedError
20
20
  from ..types.assets_inputs_get_assets_inputs_response_body import AssetsInputsGetAssetsInputsResponseBody
21
+ from ..types.assets_inputs_response_response_body import AssetsInputsResponseResponseBody
21
22
  from .types.inputs_stream_request_type import InputsStreamRequestType
22
23
 
23
24
 
@@ -37,7 +38,7 @@ class RawInputsClient:
37
38
  include_tags: typing.Optional[bool] = None,
38
39
  include_attributes: typing.Optional[bool] = None,
39
40
  request_options: typing.Optional[RequestOptions] = None,
40
- ) -> HttpResponse[AssetsInputsGetAssetsInputsResponseBody]:
41
+ ) -> SyncPager[AssetsInputsResponseResponseBody]:
41
42
  """
42
43
  This endpoint will return data collected from the inputs of your organization's assets based on the time parameters passed in. Results are paginated. If you include an endTime, the endpoint will return data up until that point. If you don’t include an endTime, you can continue to poll the API real-time with the pagination cursor that gets returned on every call. The endpoint will only return data up until the endTime that has been processed by the server at the time of the original request. You will need to request the same [startTime, endTime) range again to receive data for assets processed after the original request time. This endpoint sorts data by time ascending.
43
44
 
@@ -79,7 +80,7 @@ class RawInputsClient:
79
80
 
80
81
  Returns
81
82
  -------
82
- HttpResponse[AssetsInputsGetAssetsInputsResponseBody]
83
+ SyncPager[AssetsInputsResponseResponseBody]
83
84
  OK response.
84
85
  """
85
86
  _response = self._client_wrapper.httpx_client.request(
@@ -99,14 +100,33 @@ class RawInputsClient:
99
100
  )
100
101
  try:
101
102
  if 200 <= _response.status_code < 300:
102
- _data = typing.cast(
103
+ _parsed_response = typing.cast(
103
104
  AssetsInputsGetAssetsInputsResponseBody,
104
105
  parse_obj_as(
105
106
  type_=AssetsInputsGetAssetsInputsResponseBody, # type: ignore
106
107
  object_=_response.json(),
107
108
  ),
108
109
  )
109
- return HttpResponse(response=_response, data=_data)
110
+ _items = _parsed_response.data
111
+ _has_next = False
112
+ _get_next = None
113
+ if _parsed_response.pagination is not None:
114
+ _parsed_next = _parsed_response.pagination.end_cursor
115
+ _has_next = _parsed_next is not None and _parsed_next != ""
116
+ _get_next = lambda: self.stream(
117
+ type=type,
118
+ start_time=start_time,
119
+ ids=ids,
120
+ after=_parsed_next,
121
+ end_time=end_time,
122
+ include_external_ids=include_external_ids,
123
+ include_tags=include_tags,
124
+ include_attributes=include_attributes,
125
+ request_options=request_options,
126
+ )
127
+ return SyncPager(
128
+ has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
129
+ )
110
130
  if _response.status_code == 401:
111
131
  raise UnauthorizedError(
112
132
  headers=dict(_response.headers),
@@ -228,7 +248,7 @@ class AsyncRawInputsClient:
228
248
  include_tags: typing.Optional[bool] = None,
229
249
  include_attributes: typing.Optional[bool] = None,
230
250
  request_options: typing.Optional[RequestOptions] = None,
231
- ) -> AsyncHttpResponse[AssetsInputsGetAssetsInputsResponseBody]:
251
+ ) -> AsyncPager[AssetsInputsResponseResponseBody]:
232
252
  """
233
253
  This endpoint will return data collected from the inputs of your organization's assets based on the time parameters passed in. Results are paginated. If you include an endTime, the endpoint will return data up until that point. If you don’t include an endTime, you can continue to poll the API real-time with the pagination cursor that gets returned on every call. The endpoint will only return data up until the endTime that has been processed by the server at the time of the original request. You will need to request the same [startTime, endTime) range again to receive data for assets processed after the original request time. This endpoint sorts data by time ascending.
234
254
 
@@ -270,7 +290,7 @@ class AsyncRawInputsClient:
270
290
 
271
291
  Returns
272
292
  -------
273
- AsyncHttpResponse[AssetsInputsGetAssetsInputsResponseBody]
293
+ AsyncPager[AssetsInputsResponseResponseBody]
274
294
  OK response.
275
295
  """
276
296
  _response = await self._client_wrapper.httpx_client.request(
@@ -290,14 +310,36 @@ class AsyncRawInputsClient:
290
310
  )
291
311
  try:
292
312
  if 200 <= _response.status_code < 300:
293
- _data = typing.cast(
313
+ _parsed_response = typing.cast(
294
314
  AssetsInputsGetAssetsInputsResponseBody,
295
315
  parse_obj_as(
296
316
  type_=AssetsInputsGetAssetsInputsResponseBody, # type: ignore
297
317
  object_=_response.json(),
298
318
  ),
299
319
  )
300
- return AsyncHttpResponse(response=_response, data=_data)
320
+ _items = _parsed_response.data
321
+ _has_next = False
322
+ _get_next = None
323
+ if _parsed_response.pagination is not None:
324
+ _parsed_next = _parsed_response.pagination.end_cursor
325
+ _has_next = _parsed_next is not None and _parsed_next != ""
326
+
327
+ async def _get_next():
328
+ return await self.stream(
329
+ type=type,
330
+ start_time=start_time,
331
+ ids=ids,
332
+ after=_parsed_next,
333
+ end_time=end_time,
334
+ include_external_ids=include_external_ids,
335
+ include_tags=include_tags,
336
+ include_attributes=include_attributes,
337
+ request_options=request_options,
338
+ )
339
+
340
+ return AsyncPager(
341
+ has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
342
+ )
301
343
  if _response.status_code == 401:
302
344
  raise UnauthorizedError(
303
345
  headers=dict(_response.headers),
samsara/issues/client.py CHANGED
@@ -4,9 +4,10 @@ import datetime as dt
4
4
  import typing
5
5
 
6
6
  from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
7
+ from ..core.pagination import AsyncPager, SyncPager
7
8
  from ..core.request_options import RequestOptions
9
+ from ..types.issue_response_object_response_body import IssueResponseObjectResponseBody
8
10
  from ..types.issues_get_issues_response_body import IssuesGetIssuesResponseBody
9
- from ..types.issues_get_issues_stream_response_body import IssuesGetIssuesStreamResponseBody
10
11
  from ..types.issues_patch_issue_response_body import IssuesPatchIssueResponseBody
11
12
  from ..types.patch_issue_request_body_assigned_to_request_body import PatchIssueRequestBodyAssignedToRequestBody
12
13
  from .raw_client import AsyncRawIssuesClient, RawIssuesClient
@@ -41,11 +42,9 @@ class IssuesClient:
41
42
  """
42
43
  Returns all issues data for the specified IDs.
43
44
 
44
- **Beta:** This endpoint is in beta and is likely to change before being broadly available. Reach out to your Samsara Representative to have Forms APIs enabled for your organization.
45
-
46
45
  <b>Rate limit:</b> 5 requests/sec (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
47
46
 
48
- To use this endpoint, select **Read Issues** under the Closed Beta category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
47
+ To use this endpoint, select **Read Issues** under the Forms category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
49
48
 
50
49
 
51
50
  **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.
@@ -91,11 +90,9 @@ class IssuesClient:
91
90
  """
92
91
  Updates an instance of an issue.
93
92
 
94
- **Beta:** This endpoint is in beta and is likely to change before being broadly available. Reach out to your Samsara Representative to have Forms APIs enabled for your organization.
95
-
96
93
  <b>Rate limit:</b> 100 requests/min (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
97
94
 
98
- To use this endpoint, select **Write Issues** under the Closed Beta category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
95
+ To use this endpoint, select **Write Issues** under the Forms category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
99
96
 
100
97
 
101
98
  **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.
@@ -155,15 +152,13 @@ class IssuesClient:
155
152
  asset_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
156
153
  include: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
157
154
  request_options: typing.Optional[RequestOptions] = None,
158
- ) -> IssuesGetIssuesStreamResponseBody:
155
+ ) -> SyncPager[IssueResponseObjectResponseBody]:
159
156
  """
160
157
  Returns all issues data that has been created or modified for your organization based on the time parameters passed in. Results are paginated and are sorted by last modified date. If you include an endTime, the endpoint will return data up until that point (exclusive). If you don’t include an endTime, you can continue to poll the API real-time with the pagination cursor that gets returned on every call.
161
158
 
162
- **Beta:** This endpoint is in beta and is likely to change before being broadly available. Reach out to your Samsara Representative to have Forms APIs enabled for your organization.
163
-
164
159
  <b>Rate limit:</b> 5 requests/sec (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
165
160
 
166
- To use this endpoint, select **Read Issues** under the Closed Beta category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
161
+ To use this endpoint, select **Read Issues** under the Forms category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
167
162
 
168
163
 
169
164
  **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.
@@ -193,7 +188,7 @@ class IssuesClient:
193
188
 
194
189
  Returns
195
190
  -------
196
- IssuesGetIssuesStreamResponseBody
191
+ SyncPager[IssueResponseObjectResponseBody]
197
192
  OK response.
198
193
 
199
194
  Examples
@@ -203,11 +198,16 @@ class IssuesClient:
203
198
  client = Samsara(
204
199
  token="YOUR_TOKEN",
205
200
  )
206
- client.issues.stream(
201
+ response = client.issues.stream(
207
202
  start_time="startTime",
208
203
  )
204
+ for item in response:
205
+ yield item
206
+ # alternatively, you can paginate page-by-page
207
+ for page in response.iter_pages():
208
+ yield page
209
209
  """
210
- _response = self._raw_client.stream(
210
+ return self._raw_client.stream(
211
211
  start_time=start_time,
212
212
  end_time=end_time,
213
213
  after=after,
@@ -216,7 +216,6 @@ class IssuesClient:
216
216
  include=include,
217
217
  request_options=request_options,
218
218
  )
219
- return _response.data
220
219
 
221
220
 
222
221
  class AsyncIssuesClient:
@@ -244,11 +243,9 @@ class AsyncIssuesClient:
244
243
  """
245
244
  Returns all issues data for the specified IDs.
246
245
 
247
- **Beta:** This endpoint is in beta and is likely to change before being broadly available. Reach out to your Samsara Representative to have Forms APIs enabled for your organization.
248
-
249
246
  <b>Rate limit:</b> 5 requests/sec (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
250
247
 
251
- To use this endpoint, select **Read Issues** under the Closed Beta category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
248
+ To use this endpoint, select **Read Issues** under the Forms category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
252
249
 
253
250
 
254
251
  **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.
@@ -302,11 +299,9 @@ class AsyncIssuesClient:
302
299
  """
303
300
  Updates an instance of an issue.
304
301
 
305
- **Beta:** This endpoint is in beta and is likely to change before being broadly available. Reach out to your Samsara Representative to have Forms APIs enabled for your organization.
306
-
307
302
  <b>Rate limit:</b> 100 requests/min (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
308
303
 
309
- To use this endpoint, select **Write Issues** under the Closed Beta category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
304
+ To use this endpoint, select **Write Issues** under the Forms category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
310
305
 
311
306
 
312
307
  **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.
@@ -374,15 +369,13 @@ class AsyncIssuesClient:
374
369
  asset_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
375
370
  include: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
376
371
  request_options: typing.Optional[RequestOptions] = None,
377
- ) -> IssuesGetIssuesStreamResponseBody:
372
+ ) -> AsyncPager[IssueResponseObjectResponseBody]:
378
373
  """
379
374
  Returns all issues data that has been created or modified for your organization based on the time parameters passed in. Results are paginated and are sorted by last modified date. If you include an endTime, the endpoint will return data up until that point (exclusive). If you don’t include an endTime, you can continue to poll the API real-time with the pagination cursor that gets returned on every call.
380
375
 
381
- **Beta:** This endpoint is in beta and is likely to change before being broadly available. Reach out to your Samsara Representative to have Forms APIs enabled for your organization.
382
-
383
376
  <b>Rate limit:</b> 5 requests/sec (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
384
377
 
385
- To use this endpoint, select **Read Issues** under the Closed Beta category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
378
+ To use this endpoint, select **Read Issues** under the Forms category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
386
379
 
387
380
 
388
381
  **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.
@@ -412,7 +405,7 @@ class AsyncIssuesClient:
412
405
 
413
406
  Returns
414
407
  -------
415
- IssuesGetIssuesStreamResponseBody
408
+ AsyncPager[IssueResponseObjectResponseBody]
416
409
  OK response.
417
410
 
418
411
  Examples
@@ -427,14 +420,20 @@ class AsyncIssuesClient:
427
420
 
428
421
 
429
422
  async def main() -> None:
430
- await client.issues.stream(
423
+ response = await client.issues.stream(
431
424
  start_time="startTime",
432
425
  )
426
+ async for item in response:
427
+ yield item
428
+
429
+ # alternatively, you can paginate page-by-page
430
+ async for page in response.iter_pages():
431
+ yield page
433
432
 
434
433
 
435
434
  asyncio.run(main())
436
435
  """
437
- _response = await self._raw_client.stream(
436
+ return await self._raw_client.stream(
438
437
  start_time=start_time,
439
438
  end_time=end_time,
440
439
  after=after,
@@ -443,4 +442,3 @@ class AsyncIssuesClient:
443
442
  include=include,
444
443
  request_options=request_options,
445
444
  )
446
- return _response.data
@@ -7,6 +7,7 @@ from json.decoder import JSONDecodeError
7
7
  from ..core.api_error import ApiError
8
8
  from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
9
9
  from ..core.http_response import AsyncHttpResponse, HttpResponse
10
+ from ..core.pagination import AsyncPager, BaseHttpResponse, SyncPager
10
11
  from ..core.pydantic_utilities import parse_obj_as
11
12
  from ..core.request_options import RequestOptions
12
13
  from ..core.serialization import convert_and_respect_annotation_metadata
@@ -19,6 +20,7 @@ from ..errors.not_implemented_error import NotImplementedError
19
20
  from ..errors.service_unavailable_error import ServiceUnavailableError
20
21
  from ..errors.too_many_requests_error import TooManyRequestsError
21
22
  from ..errors.unauthorized_error import UnauthorizedError
23
+ from ..types.issue_response_object_response_body import IssueResponseObjectResponseBody
22
24
  from ..types.issues_get_issues_response_body import IssuesGetIssuesResponseBody
23
25
  from ..types.issues_get_issues_stream_response_body import IssuesGetIssuesStreamResponseBody
24
26
  from ..types.issues_patch_issue_response_body import IssuesPatchIssueResponseBody
@@ -43,11 +45,9 @@ class RawIssuesClient:
43
45
  """
44
46
  Returns all issues data for the specified IDs.
45
47
 
46
- **Beta:** This endpoint is in beta and is likely to change before being broadly available. Reach out to your Samsara Representative to have Forms APIs enabled for your organization.
47
-
48
48
  <b>Rate limit:</b> 5 requests/sec (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
49
49
 
50
- To use this endpoint, select **Read Issues** under the Closed Beta category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
50
+ To use this endpoint, select **Read Issues** under the Forms category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
51
51
 
52
52
 
53
53
  **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.
@@ -204,11 +204,9 @@ class RawIssuesClient:
204
204
  """
205
205
  Updates an instance of an issue.
206
206
 
207
- **Beta:** This endpoint is in beta and is likely to change before being broadly available. Reach out to your Samsara Representative to have Forms APIs enabled for your organization.
208
-
209
207
  <b>Rate limit:</b> 100 requests/min (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
210
208
 
211
- To use this endpoint, select **Write Issues** under the Closed Beta category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
209
+ To use this endpoint, select **Write Issues** under the Forms category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
212
210
 
213
211
 
214
212
  **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.
@@ -379,15 +377,13 @@ class RawIssuesClient:
379
377
  asset_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
380
378
  include: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
381
379
  request_options: typing.Optional[RequestOptions] = None,
382
- ) -> HttpResponse[IssuesGetIssuesStreamResponseBody]:
380
+ ) -> SyncPager[IssueResponseObjectResponseBody]:
383
381
  """
384
382
  Returns all issues data that has been created or modified for your organization based on the time parameters passed in. Results are paginated and are sorted by last modified date. If you include an endTime, the endpoint will return data up until that point (exclusive). If you don’t include an endTime, you can continue to poll the API real-time with the pagination cursor that gets returned on every call.
385
383
 
386
- **Beta:** This endpoint is in beta and is likely to change before being broadly available. Reach out to your Samsara Representative to have Forms APIs enabled for your organization.
387
-
388
384
  <b>Rate limit:</b> 5 requests/sec (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
389
385
 
390
- To use this endpoint, select **Read Issues** under the Closed Beta category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
386
+ To use this endpoint, select **Read Issues** under the Forms category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
391
387
 
392
388
 
393
389
  **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.
@@ -417,7 +413,7 @@ class RawIssuesClient:
417
413
 
418
414
  Returns
419
415
  -------
420
- HttpResponse[IssuesGetIssuesStreamResponseBody]
416
+ SyncPager[IssueResponseObjectResponseBody]
421
417
  OK response.
422
418
  """
423
419
  _response = self._client_wrapper.httpx_client.request(
@@ -435,14 +431,31 @@ class RawIssuesClient:
435
431
  )
436
432
  try:
437
433
  if 200 <= _response.status_code < 300:
438
- _data = typing.cast(
434
+ _parsed_response = typing.cast(
439
435
  IssuesGetIssuesStreamResponseBody,
440
436
  parse_obj_as(
441
437
  type_=IssuesGetIssuesStreamResponseBody, # type: ignore
442
438
  object_=_response.json(),
443
439
  ),
444
440
  )
445
- return HttpResponse(response=_response, data=_data)
441
+ _items = _parsed_response.data
442
+ _has_next = False
443
+ _get_next = None
444
+ if _parsed_response.pagination is not None:
445
+ _parsed_next = _parsed_response.pagination.end_cursor
446
+ _has_next = _parsed_next is not None and _parsed_next != ""
447
+ _get_next = lambda: self.stream(
448
+ start_time=start_time,
449
+ end_time=end_time,
450
+ after=_parsed_next,
451
+ status=status,
452
+ asset_ids=asset_ids,
453
+ include=include,
454
+ request_options=request_options,
455
+ )
456
+ return SyncPager(
457
+ has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
458
+ )
446
459
  if _response.status_code == 401:
447
460
  raise UnauthorizedError(
448
461
  headers=dict(_response.headers),
@@ -562,11 +575,9 @@ class AsyncRawIssuesClient:
562
575
  """
563
576
  Returns all issues data for the specified IDs.
564
577
 
565
- **Beta:** This endpoint is in beta and is likely to change before being broadly available. Reach out to your Samsara Representative to have Forms APIs enabled for your organization.
566
-
567
578
  <b>Rate limit:</b> 5 requests/sec (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
568
579
 
569
- To use this endpoint, select **Read Issues** under the Closed Beta category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
580
+ To use this endpoint, select **Read Issues** under the Forms category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
570
581
 
571
582
 
572
583
  **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.
@@ -723,11 +734,9 @@ class AsyncRawIssuesClient:
723
734
  """
724
735
  Updates an instance of an issue.
725
736
 
726
- **Beta:** This endpoint is in beta and is likely to change before being broadly available. Reach out to your Samsara Representative to have Forms APIs enabled for your organization.
727
-
728
737
  <b>Rate limit:</b> 100 requests/min (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
729
738
 
730
- To use this endpoint, select **Write Issues** under the Closed Beta category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
739
+ To use this endpoint, select **Write Issues** under the Forms category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
731
740
 
732
741
 
733
742
  **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.
@@ -898,15 +907,13 @@ class AsyncRawIssuesClient:
898
907
  asset_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
899
908
  include: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
900
909
  request_options: typing.Optional[RequestOptions] = None,
901
- ) -> AsyncHttpResponse[IssuesGetIssuesStreamResponseBody]:
910
+ ) -> AsyncPager[IssueResponseObjectResponseBody]:
902
911
  """
903
912
  Returns all issues data that has been created or modified for your organization based on the time parameters passed in. Results are paginated and are sorted by last modified date. If you include an endTime, the endpoint will return data up until that point (exclusive). If you don’t include an endTime, you can continue to poll the API real-time with the pagination cursor that gets returned on every call.
904
913
 
905
- **Beta:** This endpoint is in beta and is likely to change before being broadly available. Reach out to your Samsara Representative to have Forms APIs enabled for your organization.
906
-
907
914
  <b>Rate limit:</b> 5 requests/sec (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
908
915
 
909
- To use this endpoint, select **Read Issues** under the Closed Beta category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
916
+ To use this endpoint, select **Read Issues** under the Forms category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
910
917
 
911
918
 
912
919
  **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.
@@ -936,7 +943,7 @@ class AsyncRawIssuesClient:
936
943
 
937
944
  Returns
938
945
  -------
939
- AsyncHttpResponse[IssuesGetIssuesStreamResponseBody]
946
+ AsyncPager[IssueResponseObjectResponseBody]
940
947
  OK response.
941
948
  """
942
949
  _response = await self._client_wrapper.httpx_client.request(
@@ -954,14 +961,34 @@ class AsyncRawIssuesClient:
954
961
  )
955
962
  try:
956
963
  if 200 <= _response.status_code < 300:
957
- _data = typing.cast(
964
+ _parsed_response = typing.cast(
958
965
  IssuesGetIssuesStreamResponseBody,
959
966
  parse_obj_as(
960
967
  type_=IssuesGetIssuesStreamResponseBody, # type: ignore
961
968
  object_=_response.json(),
962
969
  ),
963
970
  )
964
- return AsyncHttpResponse(response=_response, data=_data)
971
+ _items = _parsed_response.data
972
+ _has_next = False
973
+ _get_next = None
974
+ if _parsed_response.pagination is not None:
975
+ _parsed_next = _parsed_response.pagination.end_cursor
976
+ _has_next = _parsed_next is not None and _parsed_next != ""
977
+
978
+ async def _get_next():
979
+ return await self.stream(
980
+ start_time=start_time,
981
+ end_time=end_time,
982
+ after=_parsed_next,
983
+ status=status,
984
+ asset_ids=asset_ids,
985
+ include=include,
986
+ request_options=request_options,
987
+ )
988
+
989
+ return AsyncPager(
990
+ has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
991
+ )
965
992
  if _response.status_code == 401:
966
993
  raise UnauthorizedError(
967
994
  headers=dict(_response.headers),
@@ -3,16 +3,15 @@
3
3
  import typing
4
4
 
5
5
  from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
+ from ..core.pagination import AsyncPager, SyncPager
6
7
  from ..core.request_options import RequestOptions
7
8
  from ..types.assets_location_link_config_object import AssetsLocationLinkConfigObject
8
9
  from ..types.assets_near_location_link_config_object import AssetsNearLocationLinkConfigObject
9
10
  from ..types.assets_on_route_link_config_object import AssetsOnRouteLinkConfigObject
11
+ from ..types.live_sharing_link_full_response_object_response_body import LiveSharingLinkFullResponseObjectResponseBody
10
12
  from ..types.live_sharing_links_create_live_sharing_link_response_body import (
11
13
  LiveSharingLinksCreateLiveSharingLinkResponseBody,
12
14
  )
13
- from ..types.live_sharing_links_get_live_sharing_links_response_body import (
14
- LiveSharingLinksGetLiveSharingLinksResponseBody,
15
- )
16
15
  from ..types.live_sharing_links_update_live_sharing_link_response_body import (
17
16
  LiveSharingLinksUpdateLiveSharingLinkResponseBody,
18
17
  )
@@ -49,7 +48,7 @@ class LiveSharesClient:
49
48
  limit: typing.Optional[int] = None,
50
49
  after: typing.Optional[str] = None,
51
50
  request_options: typing.Optional[RequestOptions] = None,
52
- ) -> LiveSharingLinksGetLiveSharingLinksResponseBody:
51
+ ) -> SyncPager[LiveSharingLinkFullResponseObjectResponseBody]:
53
52
  """
54
53
  Returns all non-expired Live Sharing Links.
55
54
 
@@ -79,7 +78,7 @@ class LiveSharesClient:
79
78
 
80
79
  Returns
81
80
  -------
82
- LiveSharingLinksGetLiveSharingLinksResponseBody
81
+ SyncPager[LiveSharingLinkFullResponseObjectResponseBody]
83
82
  OK response.
84
83
 
85
84
  Examples
@@ -89,10 +88,14 @@ class LiveSharesClient:
89
88
  client = Samsara(
90
89
  token="YOUR_TOKEN",
91
90
  )
92
- client.live_shares.list()
91
+ response = client.live_shares.list()
92
+ for item in response:
93
+ yield item
94
+ # alternatively, you can paginate page-by-page
95
+ for page in response.iter_pages():
96
+ yield page
93
97
  """
94
- _response = self._raw_client.list(ids=ids, type=type, limit=limit, after=after, request_options=request_options)
95
- return _response.data
98
+ return self._raw_client.list(ids=ids, type=type, limit=limit, after=after, request_options=request_options)
96
99
 
97
100
  def create(
98
101
  self,
@@ -287,7 +290,7 @@ class AsyncLiveSharesClient:
287
290
  limit: typing.Optional[int] = None,
288
291
  after: typing.Optional[str] = None,
289
292
  request_options: typing.Optional[RequestOptions] = None,
290
- ) -> LiveSharingLinksGetLiveSharingLinksResponseBody:
293
+ ) -> AsyncPager[LiveSharingLinkFullResponseObjectResponseBody]:
291
294
  """
292
295
  Returns all non-expired Live Sharing Links.
293
296
 
@@ -317,7 +320,7 @@ class AsyncLiveSharesClient:
317
320
 
318
321
  Returns
319
322
  -------
320
- LiveSharingLinksGetLiveSharingLinksResponseBody
323
+ AsyncPager[LiveSharingLinkFullResponseObjectResponseBody]
321
324
  OK response.
322
325
 
323
326
  Examples
@@ -332,15 +335,20 @@ class AsyncLiveSharesClient:
332
335
 
333
336
 
334
337
  async def main() -> None:
335
- await client.live_shares.list()
338
+ response = await client.live_shares.list()
339
+ async for item in response:
340
+ yield item
341
+
342
+ # alternatively, you can paginate page-by-page
343
+ async for page in response.iter_pages():
344
+ yield page
336
345
 
337
346
 
338
347
  asyncio.run(main())
339
348
  """
340
- _response = await self._raw_client.list(
349
+ return await self._raw_client.list(
341
350
  ids=ids, type=type, limit=limit, after=after, request_options=request_options
342
351
  )
343
- return _response.data
344
352
 
345
353
  async def create(
346
354
  self,