samsara-api 0.0.1__py3-none-any.whl → 0.0.3__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/work_order_item_object_request_body.py +1 -1
- samsara/types/work_order_item_object_request_body_type.py +10 -1
- samsara/types/work_order_item_object_response_body.py +1 -1
- samsara/types/work_order_item_object_response_body_type.py +10 -1
- 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.1.dist-info → samsara_api-0.0.3.dist-info}/METADATA +25 -18
- {samsara_api-0.0.1.dist-info → samsara_api-0.0.3.dist-info}/RECORD +332 -197
- 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/{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.3.dist-info}/LICENSE +0 -0
- {samsara_api-0.0.1.dist-info → samsara_api-0.0.3.dist-info}/WHEEL +0 -0
samsara/vehicles/client.py
CHANGED
|
@@ -3,19 +3,19 @@
|
|
|
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.attribute_tiny import AttributeTiny
|
|
8
9
|
from ..types.gross_vehicle_weight import GrossVehicleWeight
|
|
9
10
|
from ..types.user_identifier_serial import UserIdentifierSerial
|
|
10
11
|
from ..types.vehicle_regulation_mode import VehicleRegulationMode
|
|
11
12
|
from ..types.vehicle_response import VehicleResponse
|
|
13
|
+
from ..types.vehicle_response_object_response_body import VehicleResponseObjectResponseBody
|
|
12
14
|
from ..types.vehicle_type import VehicleType
|
|
13
|
-
from ..types.vehicles_list_vehicles_response_body import VehiclesListVehiclesResponseBody
|
|
14
15
|
from .immobilizer.client import AsyncImmobilizerClient, ImmobilizerClient
|
|
15
16
|
from .locations.client import AsyncLocationsClient, LocationsClient
|
|
16
17
|
from .raw_client import AsyncRawVehiclesClient, RawVehiclesClient
|
|
17
18
|
from .stats.client import AsyncStatsClient, StatsClient
|
|
18
|
-
from .tachograph_files.client import AsyncTachographFilesClient, TachographFilesClient
|
|
19
19
|
from .types.update_vehicle_request_aux_input_type_1 import UpdateVehicleRequestAuxInputType1
|
|
20
20
|
from .types.update_vehicle_request_aux_input_type_2 import UpdateVehicleRequestAuxInputType2
|
|
21
21
|
from .types.update_vehicle_request_aux_input_type_3 import UpdateVehicleRequestAuxInputType3
|
|
@@ -46,8 +46,6 @@ class VehiclesClient:
|
|
|
46
46
|
|
|
47
47
|
self.stats = StatsClient(client_wrapper=client_wrapper)
|
|
48
48
|
|
|
49
|
-
self.tachograph_files = TachographFilesClient(client_wrapper=client_wrapper)
|
|
50
|
-
|
|
51
49
|
@property
|
|
52
50
|
def with_raw_response(self) -> RawVehiclesClient:
|
|
53
51
|
"""
|
|
@@ -67,10 +65,11 @@ class VehiclesClient:
|
|
|
67
65
|
parent_tag_ids: typing.Optional[str] = None,
|
|
68
66
|
tag_ids: typing.Optional[str] = None,
|
|
69
67
|
attribute_value_ids: typing.Optional[str] = None,
|
|
68
|
+
attributes: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
70
69
|
updated_after_time: typing.Optional[str] = None,
|
|
71
70
|
created_after_time: typing.Optional[str] = None,
|
|
72
71
|
request_options: typing.Optional[RequestOptions] = None,
|
|
73
|
-
) ->
|
|
72
|
+
) -> SyncPager[VehicleResponseObjectResponseBody]:
|
|
74
73
|
"""
|
|
75
74
|
Returns a list of all vehicles.
|
|
76
75
|
|
|
@@ -98,6 +97,9 @@ class VehiclesClient:
|
|
|
98
97
|
attribute_value_ids : typing.Optional[str]
|
|
99
98
|
A filter on the data based on this comma-separated list of attribute value IDs. Only entities associated with ALL of the referenced values will be returned (i.e. the intersection of the sets of entities with each value). Example: `attributeValueIds=076efac2-83b5-47aa-ba36-18428436dcac,6707b3f0-23b9-4fe3-b7be-11be34aea544`
|
|
100
99
|
|
|
100
|
+
attributes : typing.Optional[typing.Union[str, typing.Sequence[str]]]
|
|
101
|
+
A filter on the data to return entities having given attributes using name-value pair, separated by semicolon. Only entities associated with ALL of the referenced values will be returned (i.e. the intersection of the sets of entities with each value). Example: `attributes=ExampleAttributeName:some_value&attributes=SomeOtherAttr:123`
|
|
102
|
+
|
|
101
103
|
updated_after_time : typing.Optional[str]
|
|
102
104
|
A filter on data to have an updated at time after or equal to this specified time in RFC 3339 format. Millisecond precision and timezones are supported. (Examples: 2019-06-13T19:08:25Z, 2019-06-13T19:08:25.455Z, OR 2015-09-15T14:00:12-04:00).
|
|
103
105
|
|
|
@@ -109,7 +111,7 @@ class VehiclesClient:
|
|
|
109
111
|
|
|
110
112
|
Returns
|
|
111
113
|
-------
|
|
112
|
-
|
|
114
|
+
SyncPager[VehicleResponseObjectResponseBody]
|
|
113
115
|
OK response.
|
|
114
116
|
|
|
115
117
|
Examples
|
|
@@ -119,19 +121,24 @@ class VehiclesClient:
|
|
|
119
121
|
client = Samsara(
|
|
120
122
|
token="YOUR_TOKEN",
|
|
121
123
|
)
|
|
122
|
-
client.vehicles.list()
|
|
124
|
+
response = client.vehicles.list()
|
|
125
|
+
for item in response:
|
|
126
|
+
yield item
|
|
127
|
+
# alternatively, you can paginate page-by-page
|
|
128
|
+
for page in response.iter_pages():
|
|
129
|
+
yield page
|
|
123
130
|
"""
|
|
124
|
-
|
|
131
|
+
return self._raw_client.list(
|
|
125
132
|
limit=limit,
|
|
126
133
|
after=after,
|
|
127
134
|
parent_tag_ids=parent_tag_ids,
|
|
128
135
|
tag_ids=tag_ids,
|
|
129
136
|
attribute_value_ids=attribute_value_ids,
|
|
137
|
+
attributes=attributes,
|
|
130
138
|
updated_after_time=updated_after_time,
|
|
131
139
|
created_after_time=created_after_time,
|
|
132
140
|
request_options=request_options,
|
|
133
141
|
)
|
|
134
|
-
return _response.data
|
|
135
142
|
|
|
136
143
|
def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> VehicleResponse:
|
|
137
144
|
"""
|
|
@@ -362,8 +369,6 @@ class AsyncVehiclesClient:
|
|
|
362
369
|
|
|
363
370
|
self.stats = AsyncStatsClient(client_wrapper=client_wrapper)
|
|
364
371
|
|
|
365
|
-
self.tachograph_files = AsyncTachographFilesClient(client_wrapper=client_wrapper)
|
|
366
|
-
|
|
367
372
|
@property
|
|
368
373
|
def with_raw_response(self) -> AsyncRawVehiclesClient:
|
|
369
374
|
"""
|
|
@@ -383,10 +388,11 @@ class AsyncVehiclesClient:
|
|
|
383
388
|
parent_tag_ids: typing.Optional[str] = None,
|
|
384
389
|
tag_ids: typing.Optional[str] = None,
|
|
385
390
|
attribute_value_ids: typing.Optional[str] = None,
|
|
391
|
+
attributes: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
386
392
|
updated_after_time: typing.Optional[str] = None,
|
|
387
393
|
created_after_time: typing.Optional[str] = None,
|
|
388
394
|
request_options: typing.Optional[RequestOptions] = None,
|
|
389
|
-
) ->
|
|
395
|
+
) -> AsyncPager[VehicleResponseObjectResponseBody]:
|
|
390
396
|
"""
|
|
391
397
|
Returns a list of all vehicles.
|
|
392
398
|
|
|
@@ -414,6 +420,9 @@ class AsyncVehiclesClient:
|
|
|
414
420
|
attribute_value_ids : typing.Optional[str]
|
|
415
421
|
A filter on the data based on this comma-separated list of attribute value IDs. Only entities associated with ALL of the referenced values will be returned (i.e. the intersection of the sets of entities with each value). Example: `attributeValueIds=076efac2-83b5-47aa-ba36-18428436dcac,6707b3f0-23b9-4fe3-b7be-11be34aea544`
|
|
416
422
|
|
|
423
|
+
attributes : typing.Optional[typing.Union[str, typing.Sequence[str]]]
|
|
424
|
+
A filter on the data to return entities having given attributes using name-value pair, separated by semicolon. Only entities associated with ALL of the referenced values will be returned (i.e. the intersection of the sets of entities with each value). Example: `attributes=ExampleAttributeName:some_value&attributes=SomeOtherAttr:123`
|
|
425
|
+
|
|
417
426
|
updated_after_time : typing.Optional[str]
|
|
418
427
|
A filter on data to have an updated at time after or equal to this specified time in RFC 3339 format. Millisecond precision and timezones are supported. (Examples: 2019-06-13T19:08:25Z, 2019-06-13T19:08:25.455Z, OR 2015-09-15T14:00:12-04:00).
|
|
419
428
|
|
|
@@ -425,7 +434,7 @@ class AsyncVehiclesClient:
|
|
|
425
434
|
|
|
426
435
|
Returns
|
|
427
436
|
-------
|
|
428
|
-
|
|
437
|
+
AsyncPager[VehicleResponseObjectResponseBody]
|
|
429
438
|
OK response.
|
|
430
439
|
|
|
431
440
|
Examples
|
|
@@ -440,22 +449,28 @@ class AsyncVehiclesClient:
|
|
|
440
449
|
|
|
441
450
|
|
|
442
451
|
async def main() -> None:
|
|
443
|
-
await client.vehicles.list()
|
|
452
|
+
response = await client.vehicles.list()
|
|
453
|
+
async for item in response:
|
|
454
|
+
yield item
|
|
455
|
+
|
|
456
|
+
# alternatively, you can paginate page-by-page
|
|
457
|
+
async for page in response.iter_pages():
|
|
458
|
+
yield page
|
|
444
459
|
|
|
445
460
|
|
|
446
461
|
asyncio.run(main())
|
|
447
462
|
"""
|
|
448
|
-
|
|
463
|
+
return await self._raw_client.list(
|
|
449
464
|
limit=limit,
|
|
450
465
|
after=after,
|
|
451
466
|
parent_tag_ids=parent_tag_ids,
|
|
452
467
|
tag_ids=tag_ids,
|
|
453
468
|
attribute_value_ids=attribute_value_ids,
|
|
469
|
+
attributes=attributes,
|
|
454
470
|
updated_after_time=updated_after_time,
|
|
455
471
|
created_after_time=created_after_time,
|
|
456
472
|
request_options=request_options,
|
|
457
473
|
)
|
|
458
|
-
return _response.data
|
|
459
474
|
|
|
460
475
|
async def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> VehicleResponse:
|
|
461
476
|
"""
|
|
@@ -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
|
-
EngineImmobilizerGetEngineImmobilizerStatesResponseBody,
|
|
9
|
-
)
|
|
8
|
+
from ...types.engine_immobilizer_state_response_body import EngineImmobilizerStateResponseBody
|
|
10
9
|
from .raw_client import AsyncRawImmobilizerClient, RawImmobilizerClient
|
|
11
10
|
|
|
12
11
|
|
|
@@ -33,7 +32,7 @@ class ImmobilizerClient:
|
|
|
33
32
|
end_time: typing.Optional[str] = None,
|
|
34
33
|
after: typing.Optional[str] = None,
|
|
35
34
|
request_options: typing.Optional[RequestOptions] = None,
|
|
36
|
-
) ->
|
|
35
|
+
) -> SyncPager[EngineImmobilizerStateResponseBody]:
|
|
37
36
|
"""
|
|
38
37
|
Get the engine immobilizer states of the queried vehicles. If a vehicle has never had an engine immobilizer connected, there won't be any state returned for that vehicle.
|
|
39
38
|
|
|
@@ -63,7 +62,7 @@ class ImmobilizerClient:
|
|
|
63
62
|
|
|
64
63
|
Returns
|
|
65
64
|
-------
|
|
66
|
-
|
|
65
|
+
SyncPager[EngineImmobilizerStateResponseBody]
|
|
67
66
|
OK response.
|
|
68
67
|
|
|
69
68
|
Examples
|
|
@@ -73,19 +72,23 @@ class ImmobilizerClient:
|
|
|
73
72
|
client = Samsara(
|
|
74
73
|
token="YOUR_TOKEN",
|
|
75
74
|
)
|
|
76
|
-
client.vehicles.immobilizer.stream(
|
|
75
|
+
response = client.vehicles.immobilizer.stream(
|
|
77
76
|
vehicle_ids="vehicleIds",
|
|
78
77
|
start_time="startTime",
|
|
79
78
|
)
|
|
79
|
+
for item in response:
|
|
80
|
+
yield item
|
|
81
|
+
# alternatively, you can paginate page-by-page
|
|
82
|
+
for page in response.iter_pages():
|
|
83
|
+
yield page
|
|
80
84
|
"""
|
|
81
|
-
|
|
85
|
+
return self._raw_client.stream(
|
|
82
86
|
vehicle_ids=vehicle_ids,
|
|
83
87
|
start_time=start_time,
|
|
84
88
|
end_time=end_time,
|
|
85
89
|
after=after,
|
|
86
90
|
request_options=request_options,
|
|
87
91
|
)
|
|
88
|
-
return _response.data
|
|
89
92
|
|
|
90
93
|
|
|
91
94
|
class AsyncImmobilizerClient:
|
|
@@ -111,7 +114,7 @@ class AsyncImmobilizerClient:
|
|
|
111
114
|
end_time: typing.Optional[str] = None,
|
|
112
115
|
after: typing.Optional[str] = None,
|
|
113
116
|
request_options: typing.Optional[RequestOptions] = None,
|
|
114
|
-
) ->
|
|
117
|
+
) -> AsyncPager[EngineImmobilizerStateResponseBody]:
|
|
115
118
|
"""
|
|
116
119
|
Get the engine immobilizer states of the queried vehicles. If a vehicle has never had an engine immobilizer connected, there won't be any state returned for that vehicle.
|
|
117
120
|
|
|
@@ -141,7 +144,7 @@ class AsyncImmobilizerClient:
|
|
|
141
144
|
|
|
142
145
|
Returns
|
|
143
146
|
-------
|
|
144
|
-
|
|
147
|
+
AsyncPager[EngineImmobilizerStateResponseBody]
|
|
145
148
|
OK response.
|
|
146
149
|
|
|
147
150
|
Examples
|
|
@@ -156,19 +159,24 @@ class AsyncImmobilizerClient:
|
|
|
156
159
|
|
|
157
160
|
|
|
158
161
|
async def main() -> None:
|
|
159
|
-
await client.vehicles.immobilizer.stream(
|
|
162
|
+
response = await client.vehicles.immobilizer.stream(
|
|
160
163
|
vehicle_ids="vehicleIds",
|
|
161
164
|
start_time="startTime",
|
|
162
165
|
)
|
|
166
|
+
async for item in response:
|
|
167
|
+
yield item
|
|
168
|
+
|
|
169
|
+
# alternatively, you can paginate page-by-page
|
|
170
|
+
async for page in response.iter_pages():
|
|
171
|
+
yield page
|
|
163
172
|
|
|
164
173
|
|
|
165
174
|
asyncio.run(main())
|
|
166
175
|
"""
|
|
167
|
-
|
|
176
|
+
return await self._raw_client.stream(
|
|
168
177
|
vehicle_ids=vehicle_ids,
|
|
169
178
|
start_time=start_time,
|
|
170
179
|
end_time=end_time,
|
|
171
180
|
after=after,
|
|
172
181
|
request_options=request_options,
|
|
173
182
|
)
|
|
174
|
-
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
|
|
@@ -20,6 +20,7 @@ from ...errors.unauthorized_error import UnauthorizedError
|
|
|
20
20
|
from ...types.engine_immobilizer_get_engine_immobilizer_states_response_body import (
|
|
21
21
|
EngineImmobilizerGetEngineImmobilizerStatesResponseBody,
|
|
22
22
|
)
|
|
23
|
+
from ...types.engine_immobilizer_state_response_body import EngineImmobilizerStateResponseBody
|
|
23
24
|
|
|
24
25
|
|
|
25
26
|
class RawImmobilizerClient:
|
|
@@ -34,7 +35,7 @@ class RawImmobilizerClient:
|
|
|
34
35
|
end_time: typing.Optional[str] = None,
|
|
35
36
|
after: typing.Optional[str] = None,
|
|
36
37
|
request_options: typing.Optional[RequestOptions] = None,
|
|
37
|
-
) ->
|
|
38
|
+
) -> SyncPager[EngineImmobilizerStateResponseBody]:
|
|
38
39
|
"""
|
|
39
40
|
Get the engine immobilizer states of the queried vehicles. If a vehicle has never had an engine immobilizer connected, there won't be any state returned for that vehicle.
|
|
40
41
|
|
|
@@ -64,7 +65,7 @@ class RawImmobilizerClient:
|
|
|
64
65
|
|
|
65
66
|
Returns
|
|
66
67
|
-------
|
|
67
|
-
|
|
68
|
+
SyncPager[EngineImmobilizerStateResponseBody]
|
|
68
69
|
OK response.
|
|
69
70
|
"""
|
|
70
71
|
_response = self._client_wrapper.httpx_client.request(
|
|
@@ -80,14 +81,29 @@ class RawImmobilizerClient:
|
|
|
80
81
|
)
|
|
81
82
|
try:
|
|
82
83
|
if 200 <= _response.status_code < 300:
|
|
83
|
-
|
|
84
|
+
_parsed_response = typing.cast(
|
|
84
85
|
EngineImmobilizerGetEngineImmobilizerStatesResponseBody,
|
|
85
86
|
parse_obj_as(
|
|
86
87
|
type_=EngineImmobilizerGetEngineImmobilizerStatesResponseBody, # type: ignore
|
|
87
88
|
object_=_response.json(),
|
|
88
89
|
),
|
|
89
90
|
)
|
|
90
|
-
|
|
91
|
+
_items = _parsed_response.data
|
|
92
|
+
_has_next = False
|
|
93
|
+
_get_next = None
|
|
94
|
+
if _parsed_response.pagination is not None:
|
|
95
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
96
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
97
|
+
_get_next = lambda: self.stream(
|
|
98
|
+
vehicle_ids=vehicle_ids,
|
|
99
|
+
start_time=start_time,
|
|
100
|
+
end_time=end_time,
|
|
101
|
+
after=_parsed_next,
|
|
102
|
+
request_options=request_options,
|
|
103
|
+
)
|
|
104
|
+
return SyncPager(
|
|
105
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
106
|
+
)
|
|
91
107
|
if _response.status_code == 401:
|
|
92
108
|
raise UnauthorizedError(
|
|
93
109
|
headers=dict(_response.headers),
|
|
@@ -205,7 +221,7 @@ class AsyncRawImmobilizerClient:
|
|
|
205
221
|
end_time: typing.Optional[str] = None,
|
|
206
222
|
after: typing.Optional[str] = None,
|
|
207
223
|
request_options: typing.Optional[RequestOptions] = None,
|
|
208
|
-
) ->
|
|
224
|
+
) -> AsyncPager[EngineImmobilizerStateResponseBody]:
|
|
209
225
|
"""
|
|
210
226
|
Get the engine immobilizer states of the queried vehicles. If a vehicle has never had an engine immobilizer connected, there won't be any state returned for that vehicle.
|
|
211
227
|
|
|
@@ -235,7 +251,7 @@ class AsyncRawImmobilizerClient:
|
|
|
235
251
|
|
|
236
252
|
Returns
|
|
237
253
|
-------
|
|
238
|
-
|
|
254
|
+
AsyncPager[EngineImmobilizerStateResponseBody]
|
|
239
255
|
OK response.
|
|
240
256
|
"""
|
|
241
257
|
_response = await self._client_wrapper.httpx_client.request(
|
|
@@ -251,14 +267,32 @@ class AsyncRawImmobilizerClient:
|
|
|
251
267
|
)
|
|
252
268
|
try:
|
|
253
269
|
if 200 <= _response.status_code < 300:
|
|
254
|
-
|
|
270
|
+
_parsed_response = typing.cast(
|
|
255
271
|
EngineImmobilizerGetEngineImmobilizerStatesResponseBody,
|
|
256
272
|
parse_obj_as(
|
|
257
273
|
type_=EngineImmobilizerGetEngineImmobilizerStatesResponseBody, # type: ignore
|
|
258
274
|
object_=_response.json(),
|
|
259
275
|
),
|
|
260
276
|
)
|
|
261
|
-
|
|
277
|
+
_items = _parsed_response.data
|
|
278
|
+
_has_next = False
|
|
279
|
+
_get_next = None
|
|
280
|
+
if _parsed_response.pagination is not None:
|
|
281
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
282
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
283
|
+
|
|
284
|
+
async def _get_next():
|
|
285
|
+
return await self.stream(
|
|
286
|
+
vehicle_ids=vehicle_ids,
|
|
287
|
+
start_time=start_time,
|
|
288
|
+
end_time=end_time,
|
|
289
|
+
after=_parsed_next,
|
|
290
|
+
request_options=request_options,
|
|
291
|
+
)
|
|
292
|
+
|
|
293
|
+
return AsyncPager(
|
|
294
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
295
|
+
)
|
|
262
296
|
if _response.status_code == 401:
|
|
263
297
|
raise UnauthorizedError(
|
|
264
298
|
headers=dict(_response.headers),
|
|
@@ -3,9 +3,10 @@
|
|
|
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
|
-
from ...types.
|
|
8
|
+
from ...types.vehicle_locations_list_response_data import VehicleLocationsListResponseData
|
|
9
|
+
from ...types.vehicle_locations_response_data import VehicleLocationsResponseData
|
|
9
10
|
from .raw_client import AsyncRawLocationsClient, RawLocationsClient
|
|
10
11
|
|
|
11
12
|
|
|
@@ -33,7 +34,7 @@ class LocationsClient:
|
|
|
33
34
|
tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
34
35
|
vehicle_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
35
36
|
request_options: typing.Optional[RequestOptions] = None,
|
|
36
|
-
) ->
|
|
37
|
+
) -> SyncPager[VehicleLocationsResponseData]:
|
|
37
38
|
"""
|
|
38
39
|
***NOTE: The Vehicle Locations API is an older API that does not combine GPS data with onboard diagnostics. Try our new [Vehicle Stats API](ref:getvehiclestats) instead.***
|
|
39
40
|
|
|
@@ -67,7 +68,7 @@ class LocationsClient:
|
|
|
67
68
|
|
|
68
69
|
Returns
|
|
69
70
|
-------
|
|
70
|
-
|
|
71
|
+
SyncPager[VehicleLocationsResponseData]
|
|
71
72
|
List of the most recent locations for the specified vehicles.
|
|
72
73
|
|
|
73
74
|
Examples
|
|
@@ -77,9 +78,14 @@ class LocationsClient:
|
|
|
77
78
|
client = Samsara(
|
|
78
79
|
token="YOUR_TOKEN",
|
|
79
80
|
)
|
|
80
|
-
client.vehicles.locations.list()
|
|
81
|
+
response = client.vehicles.locations.list()
|
|
82
|
+
for item in response:
|
|
83
|
+
yield item
|
|
84
|
+
# alternatively, you can paginate page-by-page
|
|
85
|
+
for page in response.iter_pages():
|
|
86
|
+
yield page
|
|
81
87
|
"""
|
|
82
|
-
|
|
88
|
+
return self._raw_client.list(
|
|
83
89
|
after=after,
|
|
84
90
|
time=time,
|
|
85
91
|
parent_tag_ids=parent_tag_ids,
|
|
@@ -87,7 +93,6 @@ class LocationsClient:
|
|
|
87
93
|
vehicle_ids=vehicle_ids,
|
|
88
94
|
request_options=request_options,
|
|
89
95
|
)
|
|
90
|
-
return _response.data
|
|
91
96
|
|
|
92
97
|
def feed(
|
|
93
98
|
self,
|
|
@@ -97,7 +102,7 @@ class LocationsClient:
|
|
|
97
102
|
tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
98
103
|
vehicle_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
99
104
|
request_options: typing.Optional[RequestOptions] = None,
|
|
100
|
-
) ->
|
|
105
|
+
) -> SyncPager[VehicleLocationsListResponseData]:
|
|
101
106
|
"""
|
|
102
107
|
***NOTE: The Vehicle Locations API is an older API that does not combine GPS data with onboard diagnostics. Try our new [Vehicle Stats API](ref:getvehiclestatsfeed) instead.***
|
|
103
108
|
|
|
@@ -134,7 +139,7 @@ class LocationsClient:
|
|
|
134
139
|
|
|
135
140
|
Returns
|
|
136
141
|
-------
|
|
137
|
-
|
|
142
|
+
SyncPager[VehicleLocationsListResponseData]
|
|
138
143
|
List of locations events for the specified vehicles.
|
|
139
144
|
|
|
140
145
|
Examples
|
|
@@ -144,16 +149,20 @@ class LocationsClient:
|
|
|
144
149
|
client = Samsara(
|
|
145
150
|
token="YOUR_TOKEN",
|
|
146
151
|
)
|
|
147
|
-
client.vehicles.locations.feed()
|
|
152
|
+
response = client.vehicles.locations.feed()
|
|
153
|
+
for item in response:
|
|
154
|
+
yield item
|
|
155
|
+
# alternatively, you can paginate page-by-page
|
|
156
|
+
for page in response.iter_pages():
|
|
157
|
+
yield page
|
|
148
158
|
"""
|
|
149
|
-
|
|
159
|
+
return self._raw_client.feed(
|
|
150
160
|
after=after,
|
|
151
161
|
parent_tag_ids=parent_tag_ids,
|
|
152
162
|
tag_ids=tag_ids,
|
|
153
163
|
vehicle_ids=vehicle_ids,
|
|
154
164
|
request_options=request_options,
|
|
155
165
|
)
|
|
156
|
-
return _response.data
|
|
157
166
|
|
|
158
167
|
def history(
|
|
159
168
|
self,
|
|
@@ -165,7 +174,7 @@ class LocationsClient:
|
|
|
165
174
|
tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
166
175
|
vehicle_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
167
176
|
request_options: typing.Optional[RequestOptions] = None,
|
|
168
|
-
) ->
|
|
177
|
+
) -> SyncPager[VehicleLocationsListResponseData]:
|
|
169
178
|
"""
|
|
170
179
|
***NOTE: The Vehicle Locations API is an older API that does not combine GPS data with onboard diagnostics. Try our new [Vehicle Stats API](ref:getvehiclestatshistory) instead.***
|
|
171
180
|
|
|
@@ -202,7 +211,7 @@ class LocationsClient:
|
|
|
202
211
|
|
|
203
212
|
Returns
|
|
204
213
|
-------
|
|
205
|
-
|
|
214
|
+
SyncPager[VehicleLocationsListResponseData]
|
|
206
215
|
List of all locations for the specified vehicles and time range.
|
|
207
216
|
|
|
208
217
|
Examples
|
|
@@ -212,12 +221,17 @@ class LocationsClient:
|
|
|
212
221
|
client = Samsara(
|
|
213
222
|
token="YOUR_TOKEN",
|
|
214
223
|
)
|
|
215
|
-
client.vehicles.locations.history(
|
|
224
|
+
response = client.vehicles.locations.history(
|
|
216
225
|
start_time="startTime",
|
|
217
226
|
end_time="endTime",
|
|
218
227
|
)
|
|
228
|
+
for item in response:
|
|
229
|
+
yield item
|
|
230
|
+
# alternatively, you can paginate page-by-page
|
|
231
|
+
for page in response.iter_pages():
|
|
232
|
+
yield page
|
|
219
233
|
"""
|
|
220
|
-
|
|
234
|
+
return self._raw_client.history(
|
|
221
235
|
start_time=start_time,
|
|
222
236
|
end_time=end_time,
|
|
223
237
|
after=after,
|
|
@@ -226,7 +240,6 @@ class LocationsClient:
|
|
|
226
240
|
vehicle_ids=vehicle_ids,
|
|
227
241
|
request_options=request_options,
|
|
228
242
|
)
|
|
229
|
-
return _response.data
|
|
230
243
|
|
|
231
244
|
|
|
232
245
|
class AsyncLocationsClient:
|
|
@@ -253,7 +266,7 @@ class AsyncLocationsClient:
|
|
|
253
266
|
tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
254
267
|
vehicle_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
255
268
|
request_options: typing.Optional[RequestOptions] = None,
|
|
256
|
-
) ->
|
|
269
|
+
) -> AsyncPager[VehicleLocationsResponseData]:
|
|
257
270
|
"""
|
|
258
271
|
***NOTE: The Vehicle Locations API is an older API that does not combine GPS data with onboard diagnostics. Try our new [Vehicle Stats API](ref:getvehiclestats) instead.***
|
|
259
272
|
|
|
@@ -287,7 +300,7 @@ class AsyncLocationsClient:
|
|
|
287
300
|
|
|
288
301
|
Returns
|
|
289
302
|
-------
|
|
290
|
-
|
|
303
|
+
AsyncPager[VehicleLocationsResponseData]
|
|
291
304
|
List of the most recent locations for the specified vehicles.
|
|
292
305
|
|
|
293
306
|
Examples
|
|
@@ -302,12 +315,18 @@ class AsyncLocationsClient:
|
|
|
302
315
|
|
|
303
316
|
|
|
304
317
|
async def main() -> None:
|
|
305
|
-
await client.vehicles.locations.list()
|
|
318
|
+
response = await client.vehicles.locations.list()
|
|
319
|
+
async for item in response:
|
|
320
|
+
yield item
|
|
321
|
+
|
|
322
|
+
# alternatively, you can paginate page-by-page
|
|
323
|
+
async for page in response.iter_pages():
|
|
324
|
+
yield page
|
|
306
325
|
|
|
307
326
|
|
|
308
327
|
asyncio.run(main())
|
|
309
328
|
"""
|
|
310
|
-
|
|
329
|
+
return await self._raw_client.list(
|
|
311
330
|
after=after,
|
|
312
331
|
time=time,
|
|
313
332
|
parent_tag_ids=parent_tag_ids,
|
|
@@ -315,7 +334,6 @@ class AsyncLocationsClient:
|
|
|
315
334
|
vehicle_ids=vehicle_ids,
|
|
316
335
|
request_options=request_options,
|
|
317
336
|
)
|
|
318
|
-
return _response.data
|
|
319
337
|
|
|
320
338
|
async def feed(
|
|
321
339
|
self,
|
|
@@ -325,7 +343,7 @@ class AsyncLocationsClient:
|
|
|
325
343
|
tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
326
344
|
vehicle_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
327
345
|
request_options: typing.Optional[RequestOptions] = None,
|
|
328
|
-
) ->
|
|
346
|
+
) -> AsyncPager[VehicleLocationsListResponseData]:
|
|
329
347
|
"""
|
|
330
348
|
***NOTE: The Vehicle Locations API is an older API that does not combine GPS data with onboard diagnostics. Try our new [Vehicle Stats API](ref:getvehiclestatsfeed) instead.***
|
|
331
349
|
|
|
@@ -362,7 +380,7 @@ class AsyncLocationsClient:
|
|
|
362
380
|
|
|
363
381
|
Returns
|
|
364
382
|
-------
|
|
365
|
-
|
|
383
|
+
AsyncPager[VehicleLocationsListResponseData]
|
|
366
384
|
List of locations events for the specified vehicles.
|
|
367
385
|
|
|
368
386
|
Examples
|
|
@@ -377,19 +395,24 @@ class AsyncLocationsClient:
|
|
|
377
395
|
|
|
378
396
|
|
|
379
397
|
async def main() -> None:
|
|
380
|
-
await client.vehicles.locations.feed()
|
|
398
|
+
response = await client.vehicles.locations.feed()
|
|
399
|
+
async for item in response:
|
|
400
|
+
yield item
|
|
401
|
+
|
|
402
|
+
# alternatively, you can paginate page-by-page
|
|
403
|
+
async for page in response.iter_pages():
|
|
404
|
+
yield page
|
|
381
405
|
|
|
382
406
|
|
|
383
407
|
asyncio.run(main())
|
|
384
408
|
"""
|
|
385
|
-
|
|
409
|
+
return await self._raw_client.feed(
|
|
386
410
|
after=after,
|
|
387
411
|
parent_tag_ids=parent_tag_ids,
|
|
388
412
|
tag_ids=tag_ids,
|
|
389
413
|
vehicle_ids=vehicle_ids,
|
|
390
414
|
request_options=request_options,
|
|
391
415
|
)
|
|
392
|
-
return _response.data
|
|
393
416
|
|
|
394
417
|
async def history(
|
|
395
418
|
self,
|
|
@@ -401,7 +424,7 @@ class AsyncLocationsClient:
|
|
|
401
424
|
tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
402
425
|
vehicle_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
403
426
|
request_options: typing.Optional[RequestOptions] = None,
|
|
404
|
-
) ->
|
|
427
|
+
) -> AsyncPager[VehicleLocationsListResponseData]:
|
|
405
428
|
"""
|
|
406
429
|
***NOTE: The Vehicle Locations API is an older API that does not combine GPS data with onboard diagnostics. Try our new [Vehicle Stats API](ref:getvehiclestatshistory) instead.***
|
|
407
430
|
|
|
@@ -438,7 +461,7 @@ class AsyncLocationsClient:
|
|
|
438
461
|
|
|
439
462
|
Returns
|
|
440
463
|
-------
|
|
441
|
-
|
|
464
|
+
AsyncPager[VehicleLocationsListResponseData]
|
|
442
465
|
List of all locations for the specified vehicles and time range.
|
|
443
466
|
|
|
444
467
|
Examples
|
|
@@ -453,15 +476,21 @@ class AsyncLocationsClient:
|
|
|
453
476
|
|
|
454
477
|
|
|
455
478
|
async def main() -> None:
|
|
456
|
-
await client.vehicles.locations.history(
|
|
479
|
+
response = await client.vehicles.locations.history(
|
|
457
480
|
start_time="startTime",
|
|
458
481
|
end_time="endTime",
|
|
459
482
|
)
|
|
483
|
+
async for item in response:
|
|
484
|
+
yield item
|
|
485
|
+
|
|
486
|
+
# alternatively, you can paginate page-by-page
|
|
487
|
+
async for page in response.iter_pages():
|
|
488
|
+
yield page
|
|
460
489
|
|
|
461
490
|
|
|
462
491
|
asyncio.run(main())
|
|
463
492
|
"""
|
|
464
|
-
|
|
493
|
+
return await self._raw_client.history(
|
|
465
494
|
start_time=start_time,
|
|
466
495
|
end_time=end_time,
|
|
467
496
|
after=after,
|
|
@@ -470,4 +499,3 @@ class AsyncLocationsClient:
|
|
|
470
499
|
vehicle_ids=vehicle_ids,
|
|
471
500
|
request_options=request_options,
|
|
472
501
|
)
|
|
473
|
-
return _response.data
|