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.
- samsara/__init__.py +298 -38
- samsara/alerts/configurations/client.py +25 -11
- samsara/alerts/configurations/raw_client.py +47 -8
- samsara/alerts/incidents/client.py +21 -11
- samsara/alerts/incidents/raw_client.py +43 -9
- samsara/assets/client.py +21 -11
- samsara/assets/location_and_speed/client.py +21 -13
- samsara/assets/location_and_speed/raw_client.py +53 -9
- samsara/assets/raw_client.py +53 -8
- samsara/attributes/client.py +21 -13
- samsara/attributes/raw_client.py +41 -8
- samsara/cameras/media/client.py +2 -2
- samsara/cameras/media/raw_client.py +2 -2
- samsara/cameras/media/retrieval/client.py +2 -12
- samsara/cameras/media/types/media_list_request_trigger_reasons_item.py +8 -1
- samsara/carrier_proposed_assignments/client.py +21 -11
- samsara/carrier_proposed_assignments/raw_client.py +43 -8
- samsara/client.py +15 -6
- samsara/coaching/driver_coach_assignments/client.py +22 -12
- samsara/coaching/driver_coach_assignments/raw_client.py +45 -8
- samsara/coaching/sessions/client.py +21 -13
- samsara/coaching/sessions/raw_client.py +51 -9
- samsara/contacts/client.py +21 -11
- samsara/contacts/raw_client.py +39 -8
- samsara/core/client_wrapper.py +2 -2
- samsara/defect_types/client.py +21 -11
- samsara/defect_types/raw_client.py +41 -9
- samsara/defects/client.py +124 -9
- samsara/defects/raw_client.py +356 -6
- samsara/devices/client.py +21 -11
- samsara/devices/raw_client.py +45 -9
- samsara/document_types/client.py +21 -11
- samsara/document_types/raw_client.py +37 -9
- samsara/documents/client.py +21 -11
- samsara/documents/raw_client.py +45 -8
- samsara/driver_trailer_assignments/client.py +23 -13
- samsara/driver_trailer_assignments/raw_client.py +43 -8
- samsara/drivers/__init__.py +1 -3
- samsara/drivers/client.py +21 -21
- samsara/drivers/raw_client.py +51 -8
- samsara/dvirs/client.py +124 -9
- samsara/dvirs/raw_client.py +356 -6
- samsara/equipment/__init__.py +2 -2
- samsara/equipment/client.py +23 -21
- samsara/equipment/locations/client.py +62 -34
- samsara/equipment/locations/raw_client.py +132 -27
- samsara/equipment/raw_client.py +45 -18
- samsara/equipment/stats/__init__.py +2 -2
- samsara/equipment/stats/client.py +81 -53
- samsara/equipment/stats/raw_client.py +157 -46
- samsara/equipment/stats/types/__init__.py +2 -2
- samsara/equipment/stats/types/{stats_get_request_types_item.py → stats_list_request_types_item.py} +1 -1
- samsara/form_submissions/client.py +46 -54
- samsara/form_submissions/pdf_exports/client.py +14 -22
- samsara/form_submissions/pdf_exports/raw_client.py +10 -18
- samsara/form_submissions/raw_client.py +74 -47
- samsara/forms/client.py +138 -0
- samsara/{beta → forms}/raw_client.py +37 -62
- samsara/function.py +99 -0
- samsara/gateways/client.py +21 -11
- samsara/gateways/raw_client.py +39 -8
- samsara/hos/__init__.py +3 -0
- samsara/hos/client.py +218 -11
- samsara/hos/raw_client.py +485 -8
- samsara/hos/types/__init__.py +7 -0
- samsara/hos/types/hos_daily_logs_request_driver_activation_status.py +5 -0
- samsara/idling/__init__.py +7 -0
- samsara/idling/client.py +287 -0
- samsara/idling/raw_client.py +521 -0
- samsara/idling/types/__init__.py +7 -0
- samsara/idling/types/idling_list_request_pto_state.py +5 -0
- samsara/inputs/client.py +21 -11
- samsara/inputs/raw_client.py +51 -9
- samsara/issues/client.py +27 -29
- samsara/issues/raw_client.py +53 -26
- samsara/live_shares/client.py +21 -13
- samsara/live_shares/raw_client.py +43 -8
- samsara/maintenance/service_tasks/client.py +21 -11
- samsara/maintenance/service_tasks/raw_client.py +41 -8
- samsara/maintenance/work_orders/client.py +40 -22
- samsara/maintenance/work_orders/raw_client.py +84 -16
- samsara/readings/client.py +524 -0
- samsara/readings/raw_client.py +1214 -0
- samsara/reports/drivers/fuel_energy/client.py +6 -6
- samsara/reports/drivers/fuel_energy/raw_client.py +2 -2
- samsara/reports/ifta/__init__.py +4 -4
- samsara/reports/ifta/vehicle/__init__.py +2 -2
- samsara/reports/ifta/vehicle/client.py +21 -21
- samsara/reports/ifta/vehicle/raw_client.py +17 -17
- samsara/reports/ifta/vehicle/types/__init__.py +4 -4
- samsara/reports/ifta/vehicle/types/{vehicle_get_request_fuel_type.py → vehicle_list_request_fuel_type.py} +1 -1
- samsara/reports/ifta/vehicle/types/{vehicle_get_request_month.py → vehicle_list_request_month.py} +1 -1
- samsara/reports/ifta/vehicle/types/vehicle_list_request_quarter.py +5 -0
- samsara/reports/vehicles/__init__.py +2 -2
- samsara/reports/vehicles/fuel_energy/__init__.py +2 -2
- samsara/reports/vehicles/fuel_energy/client.py +11 -11
- samsara/reports/vehicles/fuel_energy/raw_client.py +7 -7
- samsara/reports/vehicles/fuel_energy/types/__init__.py +2 -2
- samsara/reports/vehicles/fuel_energy/types/fuel_energy_list_request_energy_type.py +5 -0
- samsara/reports/vehicles/idling/client.py +27 -15
- samsara/reports/vehicles/idling/raw_client.py +59 -11
- samsara/routes/client.py +21 -11
- samsara/routes/raw_client.py +43 -8
- samsara/safety_events/audit_logs/client.py +21 -13
- samsara/safety_events/audit_logs/raw_client.py +39 -9
- samsara/safety_events/client.py +21 -11
- samsara/safety_events/raw_client.py +47 -9
- samsara/speeding_intervals/client.py +25 -17
- samsara/speeding_intervals/raw_client.py +55 -13
- samsara/tachograph/__init__.py +7 -0
- samsara/tachograph/client.py +44 -0
- samsara/{drivers/tachograph_files → tachograph/driver}/client.py +162 -15
- samsara/{drivers/tachograph_files → tachograph/driver}/raw_client.py +153 -4
- samsara/tachograph/raw_client.py +13 -0
- samsara/{vehicles/tachograph_files → tachograph/vehicles}/client.py +15 -15
- samsara/{vehicles/tachograph_files → tachograph/vehicles}/raw_client.py +4 -4
- samsara/tags/client.py +21 -11
- samsara/tags/raw_client.py +39 -8
- samsara/trailers/client.py +21 -11
- samsara/trailers/raw_client.py +43 -8
- samsara/training_courses/client.py +21 -11
- samsara/training_courses/raw_client.py +43 -9
- samsara/trips/client.py +21 -11
- samsara/trips/raw_client.py +49 -9
- samsara/types/__init__.py +406 -50
- samsara/types/advanced_idling_get_idling_events_bad_gateway_error_response_body.py +33 -0
- samsara/types/advanced_idling_get_idling_events_gateway_timeout_error_response_body.py +33 -0
- 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
- samsara/types/advanced_idling_get_idling_events_method_not_allowed_error_response_body.py +33 -0
- 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
- 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
- samsara/types/advanced_idling_get_idling_events_response_body.py +26 -0
- 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
- 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
- samsara/types/advanced_idling_get_idling_events_unauthorized_error_response_body.py +33 -0
- samsara/types/alert_object_asset_response_body.py +63 -0
- samsara/types/{assets_create_asset_response_body_type.py → alert_object_asset_response_body_type.py} +1 -1
- samsara/types/assets_create_asset_response_body.py +2 -87
- samsara/types/assets_update_asset_response_body.py +2 -87
- samsara/types/continuous_reading_alert_threshold_response_body.py +49 -0
- samsara/types/continuous_reading_alert_threshold_response_body_operation.py +7 -0
- samsara/types/continuous_reading_alert_threshold_response_body_unit.py +62 -0
- samsara/types/device_response_response_body.py +1 -1
- samsara/types/device_response_response_body_model.py +1 -0
- samsara/types/dvir_defect_get_defect_bad_gateway_error_response_body.py +33 -0
- samsara/types/dvir_defect_get_defect_gateway_timeout_error_response_body.py +33 -0
- samsara/types/dvir_defect_get_defect_internal_server_error_response_body.py +33 -0
- samsara/types/dvir_defect_get_defect_method_not_allowed_error_response_body.py +33 -0
- samsara/types/dvir_defect_get_defect_not_found_error_response_body.py +33 -0
- samsara/types/dvir_defect_get_defect_not_implemented_error_response_body.py +33 -0
- samsara/types/dvir_defect_get_defect_response_body.py +91 -0
- samsara/types/dvir_defect_get_defect_service_unavailable_error_response_body.py +33 -0
- samsara/types/dvir_defect_get_defect_too_many_requests_error_response_body.py +33 -0
- samsara/types/dvir_defect_get_defect_unauthorized_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_bad_gateway_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_gateway_timeout_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_internal_server_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_method_not_allowed_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_not_found_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_not_implemented_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_response_body.py +99 -0
- samsara/types/dvir_get_dvir_response_body_safety_status.py +5 -0
- samsara/types/dvir_get_dvir_response_body_type.py +5 -0
- samsara/types/dvir_get_dvir_service_unavailable_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_too_many_requests_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_unauthorized_error_response_body.py +33 -0
- samsara/types/enum_reading_alert_threshold_response_body.py +31 -0
- samsara/types/enum_value_response_body.py +31 -0
- samsara/types/equipment_gateway_engine_seconds.py +1 -1
- samsara/types/equipment_gateway_j_1939_engine_seconds.py +1 -1
- samsara/types/equipment_obd_engine_seconds.py +1 -1
- samsara/types/event_location_response_body.py +31 -0
- samsara/types/form_submission_request_field_input_object_request_body.py +7 -1
- samsara/types/form_submission_request_field_input_object_request_body_type.py +3 -1
- samsara/types/{hos_daily_logs_update_shipping_docs_response_body.py → form_submission_request_geofence_object_request_body.py} +9 -3
- samsara/types/form_submission_request_geofence_value_object_request_body.py +24 -0
- samsara/types/form_submission_response_object_response_body.py +8 -0
- samsara/types/{form_template_reference_object_request_body.py → form_template_request_object_request_body.py} +6 -4
- samsara/types/form_template_response_object_response_body.py +74 -0
- samsara/types/form_template_section_object_response_body.py +47 -0
- samsara/types/form_templates_get_form_templates_bad_gateway_error_response_body.py +33 -0
- samsara/types/form_templates_get_form_templates_gateway_timeout_error_response_body.py +33 -0
- samsara/types/form_templates_get_form_templates_internal_server_error_response_body.py +33 -0
- samsara/types/form_templates_get_form_templates_method_not_allowed_error_response_body.py +33 -0
- samsara/types/form_templates_get_form_templates_not_found_error_response_body.py +33 -0
- samsara/types/form_templates_get_form_templates_not_implemented_error_response_body.py +33 -0
- samsara/types/form_templates_get_form_templates_response_body.py +26 -0
- samsara/types/form_templates_get_form_templates_service_unavailable_error_response_body.py +33 -0
- samsara/types/form_templates_get_form_templates_too_many_requests_error_response_body.py +33 -0
- samsara/types/form_templates_get_form_templates_unauthorized_error_response_body.py +33 -0
- samsara/types/forms_action_object_response_body.py +43 -0
- samsara/types/forms_action_object_response_body_type.py +7 -0
- samsara/types/forms_approval_config_object_response_body.py +32 -0
- samsara/types/forms_asset_object_response_body.py +8 -1
- samsara/types/forms_check_boxes_value_object_response_body.py +7 -0
- samsara/types/forms_condition_object_response_body.py +36 -0
- samsara/types/forms_condition_object_response_body_type.py +7 -0
- samsara/types/forms_conditional_action_object_response_body.py +30 -0
- samsara/types/forms_field_definition_object_response_body.py +143 -0
- samsara/types/forms_field_definition_object_response_body_allowed_asset_types_item.py +7 -0
- samsara/types/forms_field_definition_object_response_body_allowed_date_time_value_type.py +7 -0
- samsara/types/forms_field_definition_object_response_body_type.py +22 -0
- samsara/types/forms_field_input_object_response_body.py +7 -4
- samsara/types/forms_field_input_object_response_body_type.py +20 -0
- samsara/types/forms_geofence_object_response_body.py +53 -0
- samsara/types/forms_geofence_object_response_body_entry_type.py +5 -0
- samsara/types/forms_geofence_value_object_response_body.py +24 -0
- samsara/types/forms_multiple_choice_value_object_response_body.py +8 -1
- samsara/types/forms_product_submission_approval_details_object_response_body.py +26 -0
- samsara/types/forms_select_option_object_response_body.py +47 -0
- samsara/types/forms_single_approval_config_object_response_body.py +33 -0
- samsara/types/forms_table_cell_object_response_body.py +3 -4
- samsara/types/forms_table_cell_object_response_body_type.py +8 -0
- samsara/types/forms_table_column_object_response_body.py +3 -4
- samsara/types/forms_table_column_object_response_body_type.py +8 -0
- samsara/types/forms_table_field_definition_object_response_body.py +91 -0
- samsara/types/forms_table_field_definition_object_response_body_allowed_date_time_value_type.py +7 -0
- samsara/types/forms_table_field_definition_object_response_body_type.py +8 -0
- samsara/types/fuel_cost_object_response_body.py +32 -0
- samsara/types/fuel_cost_object_response_body_currency.py +5 -0
- samsara/types/fuel_volume_response_body.py +28 -0
- samsara/types/fuel_volume_response_body_unit.py +5 -0
- samsara/types/gaseous_fuel_cost_object_response_body.py +32 -0
- samsara/types/gaseous_fuel_cost_object_response_body_currency.py +7 -0
- samsara/types/gateway_details_response_response_body.py +14 -0
- samsara/types/harsh_event_trigger_details_object_request_body_types_item.py +1 -0
- samsara/types/harsh_event_trigger_details_object_response_body_types_item.py +1 -0
- samsara/types/idling_event_object_response_body.py +101 -0
- samsara/types/idling_event_object_response_body_address_type.py +17 -0
- samsara/types/inline_response_2005.py +24 -0
- samsara/types/inline_response_2006.py +24 -0
- samsara/types/reading_definition_response_body.py +59 -0
- samsara/types/reading_history_response_body.py +47 -0
- samsara/types/reading_snapshot_response_body.py +52 -0
- samsara/types/reading_trigger_continuous_value_object_request_body.py +51 -0
- samsara/types/reading_trigger_continuous_value_object_request_body_operation.py +7 -0
- samsara/types/reading_trigger_continuous_value_object_request_body_unit.py +62 -0
- samsara/types/reading_trigger_continuous_value_object_response_body.py +51 -0
- samsara/types/reading_trigger_continuous_value_object_response_body_operation.py +7 -0
- samsara/types/reading_trigger_continuous_value_object_response_body_unit.py +62 -0
- samsara/types/reading_trigger_details_object_request_body.py +48 -0
- samsara/types/reading_trigger_details_object_response_body.py +48 -0
- samsara/types/reading_trigger_details_response_body.py +38 -0
- samsara/types/reading_trigger_enum_value_object_request_body.py +31 -0
- samsara/types/reading_trigger_enum_value_object_response_body.py +31 -0
- samsara/types/reading_type_response_body.py +34 -0
- samsara/types/reading_type_response_body_data_type.py +5 -0
- samsara/types/readings_get_readings_history_bad_gateway_error_response_body.py +33 -0
- 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
- samsara/types/readings_get_readings_history_internal_server_error_response_body.py +33 -0
- samsara/types/readings_get_readings_history_method_not_allowed_error_response_body.py +33 -0
- samsara/types/readings_get_readings_history_not_found_error_response_body.py +33 -0
- samsara/types/readings_get_readings_history_not_implemented_error_response_body.py +33 -0
- samsara/types/readings_get_readings_history_response_body.py +26 -0
- samsara/types/readings_get_readings_history_service_unavailable_error_response_body.py +33 -0
- samsara/types/readings_get_readings_history_too_many_requests_error_response_body.py +33 -0
- samsara/types/readings_get_readings_history_unauthorized_error_response_body.py +33 -0
- samsara/types/readings_get_readings_snapshot_bad_gateway_error_response_body.py +33 -0
- samsara/types/readings_get_readings_snapshot_gateway_timeout_error_response_body.py +33 -0
- samsara/types/readings_get_readings_snapshot_internal_server_error_response_body.py +33 -0
- samsara/types/readings_get_readings_snapshot_method_not_allowed_error_response_body.py +33 -0
- samsara/types/readings_get_readings_snapshot_not_found_error_response_body.py +33 -0
- samsara/types/readings_get_readings_snapshot_not_implemented_error_response_body.py +33 -0
- samsara/types/readings_get_readings_snapshot_response_body.py +26 -0
- samsara/types/readings_get_readings_snapshot_service_unavailable_error_response_body.py +33 -0
- 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
- samsara/types/readings_get_readings_snapshot_unauthorized_error_response_body.py +33 -0
- samsara/types/readings_list_readings_definitions_bad_gateway_error_response_body.py +33 -0
- 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
- samsara/types/readings_list_readings_definitions_internal_server_error_response_body.py +33 -0
- samsara/types/readings_list_readings_definitions_method_not_allowed_error_response_body.py +33 -0
- samsara/types/readings_list_readings_definitions_not_found_error_response_body.py +33 -0
- samsara/types/readings_list_readings_definitions_not_implemented_error_response_body.py +33 -0
- samsara/types/readings_list_readings_definitions_response_body.py +26 -0
- samsara/types/readings_list_readings_definitions_service_unavailable_error_response_body.py +33 -0
- 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
- samsara/types/readings_list_readings_definitions_unauthorized_error_response_body.py +33 -0
- samsara/types/safety_score_configuration_settings_object_response_body.py +7 -0
- samsara/types/single_approval_requirements_object_response_body.py +28 -0
- samsara/types/sudden_fuel_level_drop_response_body.py +33 -0
- samsara/types/sudden_fuel_level_rise_response_body.py +33 -0
- samsara/types/trigger_params_object_request_body.py +2 -0
- samsara/types/trigger_params_object_response_body.py +2 -0
- samsara/types/unit_response_body.py +39 -0
- samsara/types/unit_response_body_base_unit.py +62 -0
- samsara/types/unit_response_body_measurement_type.py +28 -0
- samsara/types/uploaded_media_object_response_body.py +1 -1
- samsara/types/uploaded_media_object_response_body_trigger_reason.py +8 -1
- samsara/types/v_1_message.py +29 -0
- samsara/types/v_1_message_response.py +41 -0
- samsara/types/v_1_message_sender.py +27 -0
- samsara/types/v_1_messages.py +7 -0
- samsara/types/v_1_messages_response.py +7 -0
- samsara/types/webhook_response_response_body_event_types_item.py +1 -0
- samsara/types/webhooks_get_webhook_response_body_event_types_item.py +1 -0
- samsara/types/webhooks_patch_webhook_response_body_event_types_item.py +1 -0
- samsara/types/webhooks_post_webhooks_response_body_event_types_item.py +1 -0
- samsara/types/workflow_geofence_event_response_object_response_body.py +6 -0
- samsara/types/workflow_incident_details_object_response_body.py +2 -0
- samsara/types/workflow_trigger_object_request_body.py +1 -0
- samsara/types/workflow_trigger_object_response_body.py +1 -0
- samsara/user_roles/client.py +21 -11
- samsara/user_roles/raw_client.py +39 -9
- samsara/users/client.py +21 -11
- samsara/users/raw_client.py +39 -8
- samsara/v_1_messages/__init__.py +4 -0
- samsara/v_1_messages/client.py +258 -0
- samsara/v_1_messages/raw_client.py +273 -0
- samsara/vehicles/__init__.py +1 -2
- samsara/vehicles/client.py +31 -16
- samsara/vehicles/immobilizer/client.py +21 -13
- samsara/vehicles/immobilizer/raw_client.py +43 -9
- samsara/vehicles/locations/client.py +60 -32
- samsara/vehicles/locations/raw_client.py +132 -25
- samsara/vehicles/raw_client.py +61 -8
- samsara/vehicles/stats/client.py +66 -38
- samsara/vehicles/stats/raw_client.py +148 -31
- samsara/webhooks/client.py +21 -11
- samsara/webhooks/raw_client.py +41 -8
- samsara/webhooks/types/webhooks_post_webhooks_request_body_event_types_item.py +1 -0
- samsara_api-0.0.2.dist-info/METADATA +29 -0
- {samsara_api-0.0.1.dist-info → samsara_api-0.0.2.dist-info}/RECORD +328 -193
- samsara/beta/client.py +0 -161
- samsara/drivers/tachograph_activity/client.py +0 -186
- samsara/drivers/tachograph_activity/raw_client.py +0 -169
- samsara/hours_of_service/__init__.py +0 -7
- samsara/hours_of_service/client.py +0 -229
- samsara/hours_of_service/raw_client.py +0 -425
- samsara/hours_of_service/types/__init__.py +0 -9
- samsara/hours_of_service/types/hours_of_service_get_daily_logs_request_driver_activation_status.py +0 -7
- samsara/reports/ifta/vehicle/types/vehicle_get_request_quarter.py +0 -5
- samsara/reports/vehicles/fuel_energy/types/fuel_energy_get_request_energy_type.py +0 -5
- samsara/types/assets_create_asset_response_body_regulation_mode.py +0 -7
- samsara/types/assets_update_asset_response_body_regulation_mode.py +0 -7
- samsara/types/assets_update_asset_response_body_type.py +0 -7
- samsara/types/patch_shipping_docs_response_body_response_body.py +0 -93
- samsara_api-0.0.1.dist-info/METADATA +0 -214
- /samsara/{beta → forms}/__init__.py +0 -0
- /samsara/{drivers/tachograph_activity → readings}/__init__.py +0 -0
- /samsara/{drivers/tachograph_files → tachograph/driver}/__init__.py +0 -0
- /samsara/{vehicles/tachograph_files → tachograph/vehicles}/__init__.py +0 -0
- {samsara_api-0.0.1.dist-info → samsara_api-0.0.2.dist-info}/LICENSE +0 -0
- {samsara_api-0.0.1.dist-info → samsara_api-0.0.2.dist-info}/WHEEL +0 -0
|
@@ -3,10 +3,9 @@
|
|
|
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
|
-
from ....types.
|
|
8
|
-
IdlingReportsGetVehicleIdlingReportsResponseBody,
|
|
9
|
-
)
|
|
8
|
+
from ....types.idling_report_event_response_body import IdlingReportEventResponseBody
|
|
10
9
|
from .raw_client import AsyncRawIdlingClient, RawIdlingClient
|
|
11
10
|
|
|
12
11
|
|
|
@@ -25,7 +24,7 @@ class IdlingClient:
|
|
|
25
24
|
"""
|
|
26
25
|
return self._raw_client
|
|
27
26
|
|
|
28
|
-
def
|
|
27
|
+
def list(
|
|
29
28
|
self,
|
|
30
29
|
*,
|
|
31
30
|
start_time: str,
|
|
@@ -38,10 +37,12 @@ class IdlingClient:
|
|
|
38
37
|
is_pto_active: typing.Optional[bool] = None,
|
|
39
38
|
min_idling_duration_minutes: typing.Optional[int] = None,
|
|
40
39
|
request_options: typing.Optional[RequestOptions] = None,
|
|
41
|
-
) ->
|
|
40
|
+
) -> SyncPager[IdlingReportEventResponseBody]:
|
|
42
41
|
"""
|
|
43
42
|
Get all vehicle idling reports for the requested time duration.
|
|
44
43
|
|
|
44
|
+
**Note:** We are gradually releasing the new Advanced Idling Report, which provides additional data fields for each idling event such as air temperature, geofence, PTO state and minimum idle time. We have released the associated API in Beta to gather valuable feedback. You can access the Beta API [here](https://developers.samsara.com/reference/getidlingevents).
|
|
45
|
+
|
|
45
46
|
<b>Rate limit:</b> 25 requests/sec (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
|
|
46
47
|
|
|
47
48
|
To use this endpoint, select **Read Fuel & Energy** under the Fuel & Energy 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>
|
|
@@ -83,7 +84,7 @@ class IdlingClient:
|
|
|
83
84
|
|
|
84
85
|
Returns
|
|
85
86
|
-------
|
|
86
|
-
|
|
87
|
+
SyncPager[IdlingReportEventResponseBody]
|
|
87
88
|
OK response.
|
|
88
89
|
|
|
89
90
|
Examples
|
|
@@ -93,12 +94,17 @@ class IdlingClient:
|
|
|
93
94
|
client = Samsara(
|
|
94
95
|
token="YOUR_TOKEN",
|
|
95
96
|
)
|
|
96
|
-
client.reports.vehicles.idling.
|
|
97
|
+
response = client.reports.vehicles.idling.list(
|
|
97
98
|
start_time="startTime",
|
|
98
99
|
end_time="endTime",
|
|
99
100
|
)
|
|
101
|
+
for item in response:
|
|
102
|
+
yield item
|
|
103
|
+
# alternatively, you can paginate page-by-page
|
|
104
|
+
for page in response.iter_pages():
|
|
105
|
+
yield page
|
|
100
106
|
"""
|
|
101
|
-
|
|
107
|
+
return self._raw_client.list(
|
|
102
108
|
start_time=start_time,
|
|
103
109
|
end_time=end_time,
|
|
104
110
|
after=after,
|
|
@@ -110,7 +116,6 @@ class IdlingClient:
|
|
|
110
116
|
min_idling_duration_minutes=min_idling_duration_minutes,
|
|
111
117
|
request_options=request_options,
|
|
112
118
|
)
|
|
113
|
-
return _response.data
|
|
114
119
|
|
|
115
120
|
|
|
116
121
|
class AsyncIdlingClient:
|
|
@@ -128,7 +133,7 @@ class AsyncIdlingClient:
|
|
|
128
133
|
"""
|
|
129
134
|
return self._raw_client
|
|
130
135
|
|
|
131
|
-
async def
|
|
136
|
+
async def list(
|
|
132
137
|
self,
|
|
133
138
|
*,
|
|
134
139
|
start_time: str,
|
|
@@ -141,10 +146,12 @@ class AsyncIdlingClient:
|
|
|
141
146
|
is_pto_active: typing.Optional[bool] = None,
|
|
142
147
|
min_idling_duration_minutes: typing.Optional[int] = None,
|
|
143
148
|
request_options: typing.Optional[RequestOptions] = None,
|
|
144
|
-
) ->
|
|
149
|
+
) -> AsyncPager[IdlingReportEventResponseBody]:
|
|
145
150
|
"""
|
|
146
151
|
Get all vehicle idling reports for the requested time duration.
|
|
147
152
|
|
|
153
|
+
**Note:** We are gradually releasing the new Advanced Idling Report, which provides additional data fields for each idling event such as air temperature, geofence, PTO state and minimum idle time. We have released the associated API in Beta to gather valuable feedback. You can access the Beta API [here](https://developers.samsara.com/reference/getidlingevents).
|
|
154
|
+
|
|
148
155
|
<b>Rate limit:</b> 25 requests/sec (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
|
|
149
156
|
|
|
150
157
|
To use this endpoint, select **Read Fuel & Energy** under the Fuel & Energy 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>
|
|
@@ -186,7 +193,7 @@ class AsyncIdlingClient:
|
|
|
186
193
|
|
|
187
194
|
Returns
|
|
188
195
|
-------
|
|
189
|
-
|
|
196
|
+
AsyncPager[IdlingReportEventResponseBody]
|
|
190
197
|
OK response.
|
|
191
198
|
|
|
192
199
|
Examples
|
|
@@ -201,15 +208,21 @@ class AsyncIdlingClient:
|
|
|
201
208
|
|
|
202
209
|
|
|
203
210
|
async def main() -> None:
|
|
204
|
-
await client.reports.vehicles.idling.
|
|
211
|
+
response = await client.reports.vehicles.idling.list(
|
|
205
212
|
start_time="startTime",
|
|
206
213
|
end_time="endTime",
|
|
207
214
|
)
|
|
215
|
+
async for item in response:
|
|
216
|
+
yield item
|
|
217
|
+
|
|
218
|
+
# alternatively, you can paginate page-by-page
|
|
219
|
+
async for page in response.iter_pages():
|
|
220
|
+
yield page
|
|
208
221
|
|
|
209
222
|
|
|
210
223
|
asyncio.run(main())
|
|
211
224
|
"""
|
|
212
|
-
|
|
225
|
+
return await self._raw_client.list(
|
|
213
226
|
start_time=start_time,
|
|
214
227
|
end_time=end_time,
|
|
215
228
|
after=after,
|
|
@@ -221,4 +234,3 @@ class AsyncIdlingClient:
|
|
|
221
234
|
min_idling_duration_minutes=min_idling_duration_minutes,
|
|
222
235
|
request_options=request_options,
|
|
223
236
|
)
|
|
224
|
-
return _response.data
|
|
@@ -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.
|
|
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
|
|
@@ -17,6 +17,7 @@ from ....errors.not_implemented_error import NotImplementedError
|
|
|
17
17
|
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
|
+
from ....types.idling_report_event_response_body import IdlingReportEventResponseBody
|
|
20
21
|
from ....types.idling_reports_get_vehicle_idling_reports_response_body import (
|
|
21
22
|
IdlingReportsGetVehicleIdlingReportsResponseBody,
|
|
22
23
|
)
|
|
@@ -26,7 +27,7 @@ class RawIdlingClient:
|
|
|
26
27
|
def __init__(self, *, client_wrapper: SyncClientWrapper):
|
|
27
28
|
self._client_wrapper = client_wrapper
|
|
28
29
|
|
|
29
|
-
def
|
|
30
|
+
def list(
|
|
30
31
|
self,
|
|
31
32
|
*,
|
|
32
33
|
start_time: str,
|
|
@@ -39,10 +40,12 @@ class RawIdlingClient:
|
|
|
39
40
|
is_pto_active: typing.Optional[bool] = None,
|
|
40
41
|
min_idling_duration_minutes: typing.Optional[int] = None,
|
|
41
42
|
request_options: typing.Optional[RequestOptions] = None,
|
|
42
|
-
) ->
|
|
43
|
+
) -> SyncPager[IdlingReportEventResponseBody]:
|
|
43
44
|
"""
|
|
44
45
|
Get all vehicle idling reports for the requested time duration.
|
|
45
46
|
|
|
47
|
+
**Note:** We are gradually releasing the new Advanced Idling Report, which provides additional data fields for each idling event such as air temperature, geofence, PTO state and minimum idle time. We have released the associated API in Beta to gather valuable feedback. You can access the Beta API [here](https://developers.samsara.com/reference/getidlingevents).
|
|
48
|
+
|
|
46
49
|
<b>Rate limit:</b> 25 requests/sec (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
|
|
47
50
|
|
|
48
51
|
To use this endpoint, select **Read Fuel & Energy** under the Fuel & Energy 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>
|
|
@@ -84,7 +87,7 @@ class RawIdlingClient:
|
|
|
84
87
|
|
|
85
88
|
Returns
|
|
86
89
|
-------
|
|
87
|
-
|
|
90
|
+
SyncPager[IdlingReportEventResponseBody]
|
|
88
91
|
OK response.
|
|
89
92
|
"""
|
|
90
93
|
_response = self._client_wrapper.httpx_client.request(
|
|
@@ -105,14 +108,34 @@ class RawIdlingClient:
|
|
|
105
108
|
)
|
|
106
109
|
try:
|
|
107
110
|
if 200 <= _response.status_code < 300:
|
|
108
|
-
|
|
111
|
+
_parsed_response = typing.cast(
|
|
109
112
|
IdlingReportsGetVehicleIdlingReportsResponseBody,
|
|
110
113
|
parse_obj_as(
|
|
111
114
|
type_=IdlingReportsGetVehicleIdlingReportsResponseBody, # type: ignore
|
|
112
115
|
object_=_response.json(),
|
|
113
116
|
),
|
|
114
117
|
)
|
|
115
|
-
|
|
118
|
+
_items = _parsed_response.data
|
|
119
|
+
_has_next = False
|
|
120
|
+
_get_next = None
|
|
121
|
+
if _parsed_response.pagination is not None:
|
|
122
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
123
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
124
|
+
_get_next = lambda: self.list(
|
|
125
|
+
start_time=start_time,
|
|
126
|
+
end_time=end_time,
|
|
127
|
+
after=_parsed_next,
|
|
128
|
+
limit=limit,
|
|
129
|
+
vehicle_ids=vehicle_ids,
|
|
130
|
+
tag_ids=tag_ids,
|
|
131
|
+
parent_tag_ids=parent_tag_ids,
|
|
132
|
+
is_pto_active=is_pto_active,
|
|
133
|
+
min_idling_duration_minutes=min_idling_duration_minutes,
|
|
134
|
+
request_options=request_options,
|
|
135
|
+
)
|
|
136
|
+
return SyncPager(
|
|
137
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
138
|
+
)
|
|
116
139
|
if _response.status_code == 401:
|
|
117
140
|
raise UnauthorizedError(
|
|
118
141
|
headers=dict(_response.headers),
|
|
@@ -222,7 +245,7 @@ class AsyncRawIdlingClient:
|
|
|
222
245
|
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
|
223
246
|
self._client_wrapper = client_wrapper
|
|
224
247
|
|
|
225
|
-
async def
|
|
248
|
+
async def list(
|
|
226
249
|
self,
|
|
227
250
|
*,
|
|
228
251
|
start_time: str,
|
|
@@ -235,10 +258,12 @@ class AsyncRawIdlingClient:
|
|
|
235
258
|
is_pto_active: typing.Optional[bool] = None,
|
|
236
259
|
min_idling_duration_minutes: typing.Optional[int] = None,
|
|
237
260
|
request_options: typing.Optional[RequestOptions] = None,
|
|
238
|
-
) ->
|
|
261
|
+
) -> AsyncPager[IdlingReportEventResponseBody]:
|
|
239
262
|
"""
|
|
240
263
|
Get all vehicle idling reports for the requested time duration.
|
|
241
264
|
|
|
265
|
+
**Note:** We are gradually releasing the new Advanced Idling Report, which provides additional data fields for each idling event such as air temperature, geofence, PTO state and minimum idle time. We have released the associated API in Beta to gather valuable feedback. You can access the Beta API [here](https://developers.samsara.com/reference/getidlingevents).
|
|
266
|
+
|
|
242
267
|
<b>Rate limit:</b> 25 requests/sec (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
|
|
243
268
|
|
|
244
269
|
To use this endpoint, select **Read Fuel & Energy** under the Fuel & Energy 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>
|
|
@@ -280,7 +305,7 @@ class AsyncRawIdlingClient:
|
|
|
280
305
|
|
|
281
306
|
Returns
|
|
282
307
|
-------
|
|
283
|
-
|
|
308
|
+
AsyncPager[IdlingReportEventResponseBody]
|
|
284
309
|
OK response.
|
|
285
310
|
"""
|
|
286
311
|
_response = await self._client_wrapper.httpx_client.request(
|
|
@@ -301,14 +326,37 @@ class AsyncRawIdlingClient:
|
|
|
301
326
|
)
|
|
302
327
|
try:
|
|
303
328
|
if 200 <= _response.status_code < 300:
|
|
304
|
-
|
|
329
|
+
_parsed_response = typing.cast(
|
|
305
330
|
IdlingReportsGetVehicleIdlingReportsResponseBody,
|
|
306
331
|
parse_obj_as(
|
|
307
332
|
type_=IdlingReportsGetVehicleIdlingReportsResponseBody, # type: ignore
|
|
308
333
|
object_=_response.json(),
|
|
309
334
|
),
|
|
310
335
|
)
|
|
311
|
-
|
|
336
|
+
_items = _parsed_response.data
|
|
337
|
+
_has_next = False
|
|
338
|
+
_get_next = None
|
|
339
|
+
if _parsed_response.pagination is not None:
|
|
340
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
341
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
342
|
+
|
|
343
|
+
async def _get_next():
|
|
344
|
+
return await self.list(
|
|
345
|
+
start_time=start_time,
|
|
346
|
+
end_time=end_time,
|
|
347
|
+
after=_parsed_next,
|
|
348
|
+
limit=limit,
|
|
349
|
+
vehicle_ids=vehicle_ids,
|
|
350
|
+
tag_ids=tag_ids,
|
|
351
|
+
parent_tag_ids=parent_tag_ids,
|
|
352
|
+
is_pto_active=is_pto_active,
|
|
353
|
+
min_idling_duration_minutes=min_idling_duration_minutes,
|
|
354
|
+
request_options=request_options,
|
|
355
|
+
)
|
|
356
|
+
|
|
357
|
+
return AsyncPager(
|
|
358
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
359
|
+
)
|
|
312
360
|
if _response.status_code == 401:
|
|
313
361
|
raise UnauthorizedError(
|
|
314
362
|
headers=dict(_response.headers),
|
samsara/routes/client.py
CHANGED
|
@@ -3,12 +3,13 @@
|
|
|
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
|
|
8
|
+
from ..types.base_route_response_object_response_body import BaseRouteResponseObjectResponseBody
|
|
7
9
|
from ..types.create_routes_stop_request_object_request_body import CreateRoutesStopRequestObjectRequestBody
|
|
8
10
|
from ..types.route_settings_request_body import RouteSettingsRequestBody
|
|
9
11
|
from ..types.routes_create_route_response_body import RoutesCreateRouteResponseBody
|
|
10
12
|
from ..types.routes_fetch_route_response_body import RoutesFetchRouteResponseBody
|
|
11
|
-
from ..types.routes_fetch_routes_response_body import RoutesFetchRoutesResponseBody
|
|
12
13
|
from ..types.routes_patch_route_response_body import RoutesPatchRouteResponseBody
|
|
13
14
|
from ..types.update_routes_stop_request_object_request_body import UpdateRoutesStopRequestObjectRequestBody
|
|
14
15
|
from .audit_logs.client import AsyncAuditLogsClient, AuditLogsClient
|
|
@@ -42,7 +43,7 @@ class RoutesClient:
|
|
|
42
43
|
limit: typing.Optional[int] = None,
|
|
43
44
|
after: typing.Optional[str] = None,
|
|
44
45
|
request_options: typing.Optional[RequestOptions] = None,
|
|
45
|
-
) ->
|
|
46
|
+
) -> SyncPager[BaseRouteResponseObjectResponseBody]:
|
|
46
47
|
"""
|
|
47
48
|
Returns multiple routes. The legacy version of this endpoint can be found at [samsara.com/api-legacy](https://www.samsara.com/api-legacy#operation/fetchAllDispatchRoutes).
|
|
48
49
|
|
|
@@ -72,7 +73,7 @@ class RoutesClient:
|
|
|
72
73
|
|
|
73
74
|
Returns
|
|
74
75
|
-------
|
|
75
|
-
|
|
76
|
+
SyncPager[BaseRouteResponseObjectResponseBody]
|
|
76
77
|
OK response.
|
|
77
78
|
|
|
78
79
|
Examples
|
|
@@ -82,15 +83,19 @@ class RoutesClient:
|
|
|
82
83
|
client = Samsara(
|
|
83
84
|
token="YOUR_TOKEN",
|
|
84
85
|
)
|
|
85
|
-
client.routes.list(
|
|
86
|
+
response = client.routes.list(
|
|
86
87
|
start_time="startTime",
|
|
87
88
|
end_time="endTime",
|
|
88
89
|
)
|
|
90
|
+
for item in response:
|
|
91
|
+
yield item
|
|
92
|
+
# alternatively, you can paginate page-by-page
|
|
93
|
+
for page in response.iter_pages():
|
|
94
|
+
yield page
|
|
89
95
|
"""
|
|
90
|
-
|
|
96
|
+
return self._raw_client.list(
|
|
91
97
|
start_time=start_time, end_time=end_time, limit=limit, after=after, request_options=request_options
|
|
92
98
|
)
|
|
93
|
-
return _response.data
|
|
94
99
|
|
|
95
100
|
def create(
|
|
96
101
|
self,
|
|
@@ -362,7 +367,7 @@ class AsyncRoutesClient:
|
|
|
362
367
|
limit: typing.Optional[int] = None,
|
|
363
368
|
after: typing.Optional[str] = None,
|
|
364
369
|
request_options: typing.Optional[RequestOptions] = None,
|
|
365
|
-
) ->
|
|
370
|
+
) -> AsyncPager[BaseRouteResponseObjectResponseBody]:
|
|
366
371
|
"""
|
|
367
372
|
Returns multiple routes. The legacy version of this endpoint can be found at [samsara.com/api-legacy](https://www.samsara.com/api-legacy#operation/fetchAllDispatchRoutes).
|
|
368
373
|
|
|
@@ -392,7 +397,7 @@ class AsyncRoutesClient:
|
|
|
392
397
|
|
|
393
398
|
Returns
|
|
394
399
|
-------
|
|
395
|
-
|
|
400
|
+
AsyncPager[BaseRouteResponseObjectResponseBody]
|
|
396
401
|
OK response.
|
|
397
402
|
|
|
398
403
|
Examples
|
|
@@ -407,18 +412,23 @@ class AsyncRoutesClient:
|
|
|
407
412
|
|
|
408
413
|
|
|
409
414
|
async def main() -> None:
|
|
410
|
-
await client.routes.list(
|
|
415
|
+
response = await client.routes.list(
|
|
411
416
|
start_time="startTime",
|
|
412
417
|
end_time="endTime",
|
|
413
418
|
)
|
|
419
|
+
async for item in response:
|
|
420
|
+
yield item
|
|
421
|
+
|
|
422
|
+
# alternatively, you can paginate page-by-page
|
|
423
|
+
async for page in response.iter_pages():
|
|
424
|
+
yield page
|
|
414
425
|
|
|
415
426
|
|
|
416
427
|
asyncio.run(main())
|
|
417
428
|
"""
|
|
418
|
-
|
|
429
|
+
return await self._raw_client.list(
|
|
419
430
|
start_time=start_time, end_time=end_time, limit=limit, after=after, request_options=request_options
|
|
420
431
|
)
|
|
421
|
-
return _response.data
|
|
422
432
|
|
|
423
433
|
async def create(
|
|
424
434
|
self,
|
samsara/routes/raw_client.py
CHANGED
|
@@ -7,6 +7,7 @@ from ..core.api_error import ApiError
|
|
|
7
7
|
from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
8
8
|
from ..core.http_response import AsyncHttpResponse, HttpResponse
|
|
9
9
|
from ..core.jsonable_encoder import jsonable_encoder
|
|
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.base_route_response_object_response_body import BaseRouteResponseObjectResponseBody
|
|
22
24
|
from ..types.create_routes_stop_request_object_request_body import CreateRoutesStopRequestObjectRequestBody
|
|
23
25
|
from ..types.route_settings_request_body import RouteSettingsRequestBody
|
|
24
26
|
from ..types.routes_create_route_response_body import RoutesCreateRouteResponseBody
|
|
@@ -43,7 +45,7 @@ class RawRoutesClient:
|
|
|
43
45
|
limit: typing.Optional[int] = None,
|
|
44
46
|
after: typing.Optional[str] = None,
|
|
45
47
|
request_options: typing.Optional[RequestOptions] = None,
|
|
46
|
-
) ->
|
|
48
|
+
) -> SyncPager[BaseRouteResponseObjectResponseBody]:
|
|
47
49
|
"""
|
|
48
50
|
Returns multiple routes. The legacy version of this endpoint can be found at [samsara.com/api-legacy](https://www.samsara.com/api-legacy#operation/fetchAllDispatchRoutes).
|
|
49
51
|
|
|
@@ -73,7 +75,7 @@ class RawRoutesClient:
|
|
|
73
75
|
|
|
74
76
|
Returns
|
|
75
77
|
-------
|
|
76
|
-
|
|
78
|
+
SyncPager[BaseRouteResponseObjectResponseBody]
|
|
77
79
|
OK response.
|
|
78
80
|
"""
|
|
79
81
|
_response = self._client_wrapper.httpx_client.request(
|
|
@@ -89,14 +91,29 @@ class RawRoutesClient:
|
|
|
89
91
|
)
|
|
90
92
|
try:
|
|
91
93
|
if 200 <= _response.status_code < 300:
|
|
92
|
-
|
|
94
|
+
_parsed_response = typing.cast(
|
|
93
95
|
RoutesFetchRoutesResponseBody,
|
|
94
96
|
parse_obj_as(
|
|
95
97
|
type_=RoutesFetchRoutesResponseBody, # type: ignore
|
|
96
98
|
object_=_response.json(),
|
|
97
99
|
),
|
|
98
100
|
)
|
|
99
|
-
|
|
101
|
+
_items = _parsed_response.data
|
|
102
|
+
_has_next = False
|
|
103
|
+
_get_next = None
|
|
104
|
+
if _parsed_response.pagination is not None:
|
|
105
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
106
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
107
|
+
_get_next = lambda: self.list(
|
|
108
|
+
start_time=start_time,
|
|
109
|
+
end_time=end_time,
|
|
110
|
+
limit=limit,
|
|
111
|
+
after=_parsed_next,
|
|
112
|
+
request_options=request_options,
|
|
113
|
+
)
|
|
114
|
+
return SyncPager(
|
|
115
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
116
|
+
)
|
|
100
117
|
if _response.status_code == 401:
|
|
101
118
|
raise UnauthorizedError(
|
|
102
119
|
headers=dict(_response.headers),
|
|
@@ -892,7 +909,7 @@ class AsyncRawRoutesClient:
|
|
|
892
909
|
limit: typing.Optional[int] = None,
|
|
893
910
|
after: typing.Optional[str] = None,
|
|
894
911
|
request_options: typing.Optional[RequestOptions] = None,
|
|
895
|
-
) ->
|
|
912
|
+
) -> AsyncPager[BaseRouteResponseObjectResponseBody]:
|
|
896
913
|
"""
|
|
897
914
|
Returns multiple routes. The legacy version of this endpoint can be found at [samsara.com/api-legacy](https://www.samsara.com/api-legacy#operation/fetchAllDispatchRoutes).
|
|
898
915
|
|
|
@@ -922,7 +939,7 @@ class AsyncRawRoutesClient:
|
|
|
922
939
|
|
|
923
940
|
Returns
|
|
924
941
|
-------
|
|
925
|
-
|
|
942
|
+
AsyncPager[BaseRouteResponseObjectResponseBody]
|
|
926
943
|
OK response.
|
|
927
944
|
"""
|
|
928
945
|
_response = await self._client_wrapper.httpx_client.request(
|
|
@@ -938,14 +955,32 @@ class AsyncRawRoutesClient:
|
|
|
938
955
|
)
|
|
939
956
|
try:
|
|
940
957
|
if 200 <= _response.status_code < 300:
|
|
941
|
-
|
|
958
|
+
_parsed_response = typing.cast(
|
|
942
959
|
RoutesFetchRoutesResponseBody,
|
|
943
960
|
parse_obj_as(
|
|
944
961
|
type_=RoutesFetchRoutesResponseBody, # type: ignore
|
|
945
962
|
object_=_response.json(),
|
|
946
963
|
),
|
|
947
964
|
)
|
|
948
|
-
|
|
965
|
+
_items = _parsed_response.data
|
|
966
|
+
_has_next = False
|
|
967
|
+
_get_next = None
|
|
968
|
+
if _parsed_response.pagination is not None:
|
|
969
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
970
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
971
|
+
|
|
972
|
+
async def _get_next():
|
|
973
|
+
return await self.list(
|
|
974
|
+
start_time=start_time,
|
|
975
|
+
end_time=end_time,
|
|
976
|
+
limit=limit,
|
|
977
|
+
after=_parsed_next,
|
|
978
|
+
request_options=request_options,
|
|
979
|
+
)
|
|
980
|
+
|
|
981
|
+
return AsyncPager(
|
|
982
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
983
|
+
)
|
|
949
984
|
if _response.status_code == 401:
|
|
950
985
|
raise UnauthorizedError(
|
|
951
986
|
headers=dict(_response.headers),
|
|
@@ -3,10 +3,9 @@
|
|
|
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
|
-
from ...types.
|
|
8
|
-
SafetyEventsGetSafetyActivityEventFeedResponseBody,
|
|
9
|
-
)
|
|
8
|
+
from ...types.safety_event_activity_feed_item_response_body import SafetyEventActivityFeedItemResponseBody
|
|
10
9
|
from .raw_client import AsyncRawAuditLogsClient, RawAuditLogsClient
|
|
11
10
|
|
|
12
11
|
|
|
@@ -31,7 +30,7 @@ class AuditLogsClient:
|
|
|
31
30
|
after: typing.Optional[str] = None,
|
|
32
31
|
start_time: typing.Optional[str] = None,
|
|
33
32
|
request_options: typing.Optional[RequestOptions] = None,
|
|
34
|
-
) ->
|
|
33
|
+
) -> SyncPager[SafetyEventActivityFeedItemResponseBody]:
|
|
35
34
|
"""
|
|
36
35
|
Get continuous safety events. The safety activity event feed offers a change-log for safety events. Use this endpoint to subscribe to safety event changes. See documentation below for all supported change-log types.
|
|
37
36
|
|
|
@@ -61,7 +60,7 @@ class AuditLogsClient:
|
|
|
61
60
|
|
|
62
61
|
Returns
|
|
63
62
|
-------
|
|
64
|
-
|
|
63
|
+
SyncPager[SafetyEventActivityFeedItemResponseBody]
|
|
65
64
|
OK response.
|
|
66
65
|
|
|
67
66
|
Examples
|
|
@@ -71,10 +70,14 @@ class AuditLogsClient:
|
|
|
71
70
|
client = Samsara(
|
|
72
71
|
token="YOUR_TOKEN",
|
|
73
72
|
)
|
|
74
|
-
client.safety_events.audit_logs.feed()
|
|
73
|
+
response = client.safety_events.audit_logs.feed()
|
|
74
|
+
for item in response:
|
|
75
|
+
yield item
|
|
76
|
+
# alternatively, you can paginate page-by-page
|
|
77
|
+
for page in response.iter_pages():
|
|
78
|
+
yield page
|
|
75
79
|
"""
|
|
76
|
-
|
|
77
|
-
return _response.data
|
|
80
|
+
return self._raw_client.feed(after=after, start_time=start_time, request_options=request_options)
|
|
78
81
|
|
|
79
82
|
|
|
80
83
|
class AsyncAuditLogsClient:
|
|
@@ -98,7 +101,7 @@ class AsyncAuditLogsClient:
|
|
|
98
101
|
after: typing.Optional[str] = None,
|
|
99
102
|
start_time: typing.Optional[str] = None,
|
|
100
103
|
request_options: typing.Optional[RequestOptions] = None,
|
|
101
|
-
) ->
|
|
104
|
+
) -> AsyncPager[SafetyEventActivityFeedItemResponseBody]:
|
|
102
105
|
"""
|
|
103
106
|
Get continuous safety events. The safety activity event feed offers a change-log for safety events. Use this endpoint to subscribe to safety event changes. See documentation below for all supported change-log types.
|
|
104
107
|
|
|
@@ -128,7 +131,7 @@ class AsyncAuditLogsClient:
|
|
|
128
131
|
|
|
129
132
|
Returns
|
|
130
133
|
-------
|
|
131
|
-
|
|
134
|
+
AsyncPager[SafetyEventActivityFeedItemResponseBody]
|
|
132
135
|
OK response.
|
|
133
136
|
|
|
134
137
|
Examples
|
|
@@ -143,10 +146,15 @@ class AsyncAuditLogsClient:
|
|
|
143
146
|
|
|
144
147
|
|
|
145
148
|
async def main() -> None:
|
|
146
|
-
await client.safety_events.audit_logs.feed()
|
|
149
|
+
response = await client.safety_events.audit_logs.feed()
|
|
150
|
+
async for item in response:
|
|
151
|
+
yield item
|
|
152
|
+
|
|
153
|
+
# alternatively, you can paginate page-by-page
|
|
154
|
+
async for page in response.iter_pages():
|
|
155
|
+
yield page
|
|
147
156
|
|
|
148
157
|
|
|
149
158
|
asyncio.run(main())
|
|
150
159
|
"""
|
|
151
|
-
|
|
152
|
-
return _response.data
|
|
160
|
+
return await self._raw_client.feed(after=after, start_time=start_time, request_options=request_options)
|