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/devices/client.py
CHANGED
|
@@ -3,8 +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
|
+
from ..types.device_response_response_body import DeviceResponseResponseBody
|
|
8
9
|
from .raw_client import AsyncRawDevicesClient, RawDevicesClient
|
|
9
10
|
|
|
10
11
|
|
|
@@ -32,7 +33,7 @@ class DevicesClient:
|
|
|
32
33
|
after: typing.Optional[str] = None,
|
|
33
34
|
limit: typing.Optional[int] = None,
|
|
34
35
|
request_options: typing.Optional[RequestOptions] = None,
|
|
35
|
-
) ->
|
|
36
|
+
) -> SyncPager[DeviceResponseResponseBody]:
|
|
36
37
|
"""
|
|
37
38
|
Returns all installed cameras (CM3x), vehicle gateways (VGs), and asset gateways (AGs) and their health information within an organization.
|
|
38
39
|
|
|
@@ -67,7 +68,7 @@ class DevicesClient:
|
|
|
67
68
|
|
|
68
69
|
Returns
|
|
69
70
|
-------
|
|
70
|
-
|
|
71
|
+
SyncPager[DeviceResponseResponseBody]
|
|
71
72
|
OK response.
|
|
72
73
|
|
|
73
74
|
Examples
|
|
@@ -77,9 +78,14 @@ class DevicesClient:
|
|
|
77
78
|
client = Samsara(
|
|
78
79
|
token="YOUR_TOKEN",
|
|
79
80
|
)
|
|
80
|
-
client.devices.list()
|
|
81
|
+
response = client.devices.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
|
models=models,
|
|
84
90
|
health_statuses=health_statuses,
|
|
85
91
|
include_health=include_health,
|
|
@@ -87,7 +93,6 @@ class DevicesClient:
|
|
|
87
93
|
limit=limit,
|
|
88
94
|
request_options=request_options,
|
|
89
95
|
)
|
|
90
|
-
return _response.data
|
|
91
96
|
|
|
92
97
|
|
|
93
98
|
class AsyncDevicesClient:
|
|
@@ -114,7 +119,7 @@ class AsyncDevicesClient:
|
|
|
114
119
|
after: typing.Optional[str] = None,
|
|
115
120
|
limit: typing.Optional[int] = None,
|
|
116
121
|
request_options: typing.Optional[RequestOptions] = None,
|
|
117
|
-
) ->
|
|
122
|
+
) -> AsyncPager[DeviceResponseResponseBody]:
|
|
118
123
|
"""
|
|
119
124
|
Returns all installed cameras (CM3x), vehicle gateways (VGs), and asset gateways (AGs) and their health information within an organization.
|
|
120
125
|
|
|
@@ -149,7 +154,7 @@ class AsyncDevicesClient:
|
|
|
149
154
|
|
|
150
155
|
Returns
|
|
151
156
|
-------
|
|
152
|
-
|
|
157
|
+
AsyncPager[DeviceResponseResponseBody]
|
|
153
158
|
OK response.
|
|
154
159
|
|
|
155
160
|
Examples
|
|
@@ -164,12 +169,18 @@ class AsyncDevicesClient:
|
|
|
164
169
|
|
|
165
170
|
|
|
166
171
|
async def main() -> None:
|
|
167
|
-
await client.devices.list()
|
|
172
|
+
response = await client.devices.list()
|
|
173
|
+
async for item in response:
|
|
174
|
+
yield item
|
|
175
|
+
|
|
176
|
+
# alternatively, you can paginate page-by-page
|
|
177
|
+
async for page in response.iter_pages():
|
|
178
|
+
yield page
|
|
168
179
|
|
|
169
180
|
|
|
170
181
|
asyncio.run(main())
|
|
171
182
|
"""
|
|
172
|
-
|
|
183
|
+
return await self._raw_client.list(
|
|
173
184
|
models=models,
|
|
174
185
|
health_statuses=health_statuses,
|
|
175
186
|
include_health=include_health,
|
|
@@ -177,4 +188,3 @@ class AsyncDevicesClient:
|
|
|
177
188
|
limit=limit,
|
|
178
189
|
request_options=request_options,
|
|
179
190
|
)
|
|
180
|
-
return _response.data
|
samsara/devices/raw_client.py
CHANGED
|
@@ -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.device_response_response_body import DeviceResponseResponseBody
|
|
20
21
|
from ..types.devices_get_devices_response_body import DevicesGetDevicesResponseBody
|
|
21
22
|
|
|
22
23
|
|
|
@@ -33,7 +34,7 @@ class RawDevicesClient:
|
|
|
33
34
|
after: typing.Optional[str] = None,
|
|
34
35
|
limit: typing.Optional[int] = None,
|
|
35
36
|
request_options: typing.Optional[RequestOptions] = None,
|
|
36
|
-
) ->
|
|
37
|
+
) -> SyncPager[DeviceResponseResponseBody]:
|
|
37
38
|
"""
|
|
38
39
|
Returns all installed cameras (CM3x), vehicle gateways (VGs), and asset gateways (AGs) and their health information within an organization.
|
|
39
40
|
|
|
@@ -68,7 +69,7 @@ class RawDevicesClient:
|
|
|
68
69
|
|
|
69
70
|
Returns
|
|
70
71
|
-------
|
|
71
|
-
|
|
72
|
+
SyncPager[DeviceResponseResponseBody]
|
|
72
73
|
OK response.
|
|
73
74
|
"""
|
|
74
75
|
_response = self._client_wrapper.httpx_client.request(
|
|
@@ -85,14 +86,30 @@ class RawDevicesClient:
|
|
|
85
86
|
)
|
|
86
87
|
try:
|
|
87
88
|
if 200 <= _response.status_code < 300:
|
|
88
|
-
|
|
89
|
+
_parsed_response = typing.cast(
|
|
89
90
|
DevicesGetDevicesResponseBody,
|
|
90
91
|
parse_obj_as(
|
|
91
92
|
type_=DevicesGetDevicesResponseBody, # type: ignore
|
|
92
93
|
object_=_response.json(),
|
|
93
94
|
),
|
|
94
95
|
)
|
|
95
|
-
|
|
96
|
+
_items = _parsed_response.data
|
|
97
|
+
_has_next = False
|
|
98
|
+
_get_next = None
|
|
99
|
+
if _parsed_response.pagination is not None:
|
|
100
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
101
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
102
|
+
_get_next = lambda: self.list(
|
|
103
|
+
models=models,
|
|
104
|
+
health_statuses=health_statuses,
|
|
105
|
+
include_health=include_health,
|
|
106
|
+
after=_parsed_next,
|
|
107
|
+
limit=limit,
|
|
108
|
+
request_options=request_options,
|
|
109
|
+
)
|
|
110
|
+
return SyncPager(
|
|
111
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
112
|
+
)
|
|
96
113
|
if _response.status_code == 401:
|
|
97
114
|
raise UnauthorizedError(
|
|
98
115
|
headers=dict(_response.headers),
|
|
@@ -211,7 +228,7 @@ class AsyncRawDevicesClient:
|
|
|
211
228
|
after: typing.Optional[str] = None,
|
|
212
229
|
limit: typing.Optional[int] = None,
|
|
213
230
|
request_options: typing.Optional[RequestOptions] = None,
|
|
214
|
-
) ->
|
|
231
|
+
) -> AsyncPager[DeviceResponseResponseBody]:
|
|
215
232
|
"""
|
|
216
233
|
Returns all installed cameras (CM3x), vehicle gateways (VGs), and asset gateways (AGs) and their health information within an organization.
|
|
217
234
|
|
|
@@ -246,7 +263,7 @@ class AsyncRawDevicesClient:
|
|
|
246
263
|
|
|
247
264
|
Returns
|
|
248
265
|
-------
|
|
249
|
-
|
|
266
|
+
AsyncPager[DeviceResponseResponseBody]
|
|
250
267
|
OK response.
|
|
251
268
|
"""
|
|
252
269
|
_response = await self._client_wrapper.httpx_client.request(
|
|
@@ -263,14 +280,33 @@ class AsyncRawDevicesClient:
|
|
|
263
280
|
)
|
|
264
281
|
try:
|
|
265
282
|
if 200 <= _response.status_code < 300:
|
|
266
|
-
|
|
283
|
+
_parsed_response = typing.cast(
|
|
267
284
|
DevicesGetDevicesResponseBody,
|
|
268
285
|
parse_obj_as(
|
|
269
286
|
type_=DevicesGetDevicesResponseBody, # type: ignore
|
|
270
287
|
object_=_response.json(),
|
|
271
288
|
),
|
|
272
289
|
)
|
|
273
|
-
|
|
290
|
+
_items = _parsed_response.data
|
|
291
|
+
_has_next = False
|
|
292
|
+
_get_next = None
|
|
293
|
+
if _parsed_response.pagination is not None:
|
|
294
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
295
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
296
|
+
|
|
297
|
+
async def _get_next():
|
|
298
|
+
return await self.list(
|
|
299
|
+
models=models,
|
|
300
|
+
health_statuses=health_statuses,
|
|
301
|
+
include_health=include_health,
|
|
302
|
+
after=_parsed_next,
|
|
303
|
+
limit=limit,
|
|
304
|
+
request_options=request_options,
|
|
305
|
+
)
|
|
306
|
+
|
|
307
|
+
return AsyncPager(
|
|
308
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
309
|
+
)
|
|
274
310
|
if _response.status_code == 401:
|
|
275
311
|
raise UnauthorizedError(
|
|
276
312
|
headers=dict(_response.headers),
|
samsara/document_types/client.py
CHANGED
|
@@ -3,8 +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
|
+
from ..types.get_document_type_response_object_response_body import GetDocumentTypeResponseObjectResponseBody
|
|
8
9
|
from .raw_client import AsyncRawDocumentTypesClient, RawDocumentTypesClient
|
|
9
10
|
|
|
10
11
|
|
|
@@ -25,7 +26,7 @@ class DocumentTypesClient:
|
|
|
25
26
|
|
|
26
27
|
def list(
|
|
27
28
|
self, *, after: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None
|
|
28
|
-
) ->
|
|
29
|
+
) -> SyncPager[GetDocumentTypeResponseObjectResponseBody]:
|
|
29
30
|
"""
|
|
30
31
|
Returns a list of the organization document types. The legacy version of this endpoint can be found at [samsara.com/api-legacy](https://www.samsara.com/api-legacy#operation/getDriverDocumentTypesByOrgId).
|
|
31
32
|
|
|
@@ -46,7 +47,7 @@ class DocumentTypesClient:
|
|
|
46
47
|
|
|
47
48
|
Returns
|
|
48
49
|
-------
|
|
49
|
-
|
|
50
|
+
SyncPager[GetDocumentTypeResponseObjectResponseBody]
|
|
50
51
|
OK response.
|
|
51
52
|
|
|
52
53
|
Examples
|
|
@@ -56,10 +57,14 @@ class DocumentTypesClient:
|
|
|
56
57
|
client = Samsara(
|
|
57
58
|
token="YOUR_TOKEN",
|
|
58
59
|
)
|
|
59
|
-
client.document_types.list()
|
|
60
|
+
response = client.document_types.list()
|
|
61
|
+
for item in response:
|
|
62
|
+
yield item
|
|
63
|
+
# alternatively, you can paginate page-by-page
|
|
64
|
+
for page in response.iter_pages():
|
|
65
|
+
yield page
|
|
60
66
|
"""
|
|
61
|
-
|
|
62
|
-
return _response.data
|
|
67
|
+
return self._raw_client.list(after=after, request_options=request_options)
|
|
63
68
|
|
|
64
69
|
|
|
65
70
|
class AsyncDocumentTypesClient:
|
|
@@ -79,7 +84,7 @@ class AsyncDocumentTypesClient:
|
|
|
79
84
|
|
|
80
85
|
async def list(
|
|
81
86
|
self, *, after: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None
|
|
82
|
-
) ->
|
|
87
|
+
) -> AsyncPager[GetDocumentTypeResponseObjectResponseBody]:
|
|
83
88
|
"""
|
|
84
89
|
Returns a list of the organization document types. The legacy version of this endpoint can be found at [samsara.com/api-legacy](https://www.samsara.com/api-legacy#operation/getDriverDocumentTypesByOrgId).
|
|
85
90
|
|
|
@@ -100,7 +105,7 @@ class AsyncDocumentTypesClient:
|
|
|
100
105
|
|
|
101
106
|
Returns
|
|
102
107
|
-------
|
|
103
|
-
|
|
108
|
+
AsyncPager[GetDocumentTypeResponseObjectResponseBody]
|
|
104
109
|
OK response.
|
|
105
110
|
|
|
106
111
|
Examples
|
|
@@ -115,10 +120,15 @@ class AsyncDocumentTypesClient:
|
|
|
115
120
|
|
|
116
121
|
|
|
117
122
|
async def main() -> None:
|
|
118
|
-
await client.document_types.list()
|
|
123
|
+
response = await client.document_types.list()
|
|
124
|
+
async for item in response:
|
|
125
|
+
yield item
|
|
126
|
+
|
|
127
|
+
# alternatively, you can paginate page-by-page
|
|
128
|
+
async for page in response.iter_pages():
|
|
129
|
+
yield page
|
|
119
130
|
|
|
120
131
|
|
|
121
132
|
asyncio.run(main())
|
|
122
133
|
"""
|
|
123
|
-
|
|
124
|
-
return _response.data
|
|
134
|
+
return await self._raw_client.list(after=after, request_options=request_options)
|
|
@@ -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
|
|
@@ -18,6 +18,7 @@ from ..errors.service_unavailable_error import ServiceUnavailableError
|
|
|
18
18
|
from ..errors.too_many_requests_error import TooManyRequestsError
|
|
19
19
|
from ..errors.unauthorized_error import UnauthorizedError
|
|
20
20
|
from ..types.document_types_get_document_types_response_body import DocumentTypesGetDocumentTypesResponseBody
|
|
21
|
+
from ..types.get_document_type_response_object_response_body import GetDocumentTypeResponseObjectResponseBody
|
|
21
22
|
|
|
22
23
|
|
|
23
24
|
class RawDocumentTypesClient:
|
|
@@ -26,7 +27,7 @@ class RawDocumentTypesClient:
|
|
|
26
27
|
|
|
27
28
|
def list(
|
|
28
29
|
self, *, after: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None
|
|
29
|
-
) ->
|
|
30
|
+
) -> SyncPager[GetDocumentTypeResponseObjectResponseBody]:
|
|
30
31
|
"""
|
|
31
32
|
Returns a list of the organization document types. The legacy version of this endpoint can be found at [samsara.com/api-legacy](https://www.samsara.com/api-legacy#operation/getDriverDocumentTypesByOrgId).
|
|
32
33
|
|
|
@@ -47,7 +48,7 @@ class RawDocumentTypesClient:
|
|
|
47
48
|
|
|
48
49
|
Returns
|
|
49
50
|
-------
|
|
50
|
-
|
|
51
|
+
SyncPager[GetDocumentTypeResponseObjectResponseBody]
|
|
51
52
|
OK response.
|
|
52
53
|
"""
|
|
53
54
|
_response = self._client_wrapper.httpx_client.request(
|
|
@@ -60,14 +61,26 @@ class RawDocumentTypesClient:
|
|
|
60
61
|
)
|
|
61
62
|
try:
|
|
62
63
|
if 200 <= _response.status_code < 300:
|
|
63
|
-
|
|
64
|
+
_parsed_response = typing.cast(
|
|
64
65
|
DocumentTypesGetDocumentTypesResponseBody,
|
|
65
66
|
parse_obj_as(
|
|
66
67
|
type_=DocumentTypesGetDocumentTypesResponseBody, # type: ignore
|
|
67
68
|
object_=_response.json(),
|
|
68
69
|
),
|
|
69
70
|
)
|
|
70
|
-
|
|
71
|
+
_items = _parsed_response.data
|
|
72
|
+
_has_next = False
|
|
73
|
+
_get_next = None
|
|
74
|
+
if _parsed_response.pagination is not None:
|
|
75
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
76
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
77
|
+
_get_next = lambda: self.list(
|
|
78
|
+
after=_parsed_next,
|
|
79
|
+
request_options=request_options,
|
|
80
|
+
)
|
|
81
|
+
return SyncPager(
|
|
82
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
83
|
+
)
|
|
71
84
|
if _response.status_code == 401:
|
|
72
85
|
raise UnauthorizedError(
|
|
73
86
|
headers=dict(_response.headers),
|
|
@@ -179,7 +192,7 @@ class AsyncRawDocumentTypesClient:
|
|
|
179
192
|
|
|
180
193
|
async def list(
|
|
181
194
|
self, *, after: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None
|
|
182
|
-
) ->
|
|
195
|
+
) -> AsyncPager[GetDocumentTypeResponseObjectResponseBody]:
|
|
183
196
|
"""
|
|
184
197
|
Returns a list of the organization document types. The legacy version of this endpoint can be found at [samsara.com/api-legacy](https://www.samsara.com/api-legacy#operation/getDriverDocumentTypesByOrgId).
|
|
185
198
|
|
|
@@ -200,7 +213,7 @@ class AsyncRawDocumentTypesClient:
|
|
|
200
213
|
|
|
201
214
|
Returns
|
|
202
215
|
-------
|
|
203
|
-
|
|
216
|
+
AsyncPager[GetDocumentTypeResponseObjectResponseBody]
|
|
204
217
|
OK response.
|
|
205
218
|
"""
|
|
206
219
|
_response = await self._client_wrapper.httpx_client.request(
|
|
@@ -213,14 +226,29 @@ class AsyncRawDocumentTypesClient:
|
|
|
213
226
|
)
|
|
214
227
|
try:
|
|
215
228
|
if 200 <= _response.status_code < 300:
|
|
216
|
-
|
|
229
|
+
_parsed_response = typing.cast(
|
|
217
230
|
DocumentTypesGetDocumentTypesResponseBody,
|
|
218
231
|
parse_obj_as(
|
|
219
232
|
type_=DocumentTypesGetDocumentTypesResponseBody, # type: ignore
|
|
220
233
|
object_=_response.json(),
|
|
221
234
|
),
|
|
222
235
|
)
|
|
223
|
-
|
|
236
|
+
_items = _parsed_response.data
|
|
237
|
+
_has_next = False
|
|
238
|
+
_get_next = None
|
|
239
|
+
if _parsed_response.pagination is not None:
|
|
240
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
241
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
242
|
+
|
|
243
|
+
async def _get_next():
|
|
244
|
+
return await self.list(
|
|
245
|
+
after=_parsed_next,
|
|
246
|
+
request_options=request_options,
|
|
247
|
+
)
|
|
248
|
+
|
|
249
|
+
return AsyncPager(
|
|
250
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
251
|
+
)
|
|
224
252
|
if _response.status_code == 401:
|
|
225
253
|
raise UnauthorizedError(
|
|
226
254
|
headers=dict(_response.headers),
|
samsara/documents/client.py
CHANGED
|
@@ -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
|
|
8
|
+
from ..types.document_response_object_response_body import DocumentResponseObjectResponseBody
|
|
7
9
|
from ..types.documents_get_document_response_body import DocumentsGetDocumentResponseBody
|
|
8
|
-
from ..types.documents_get_documents_response_body import DocumentsGetDocumentsResponseBody
|
|
9
10
|
from ..types.documents_post_document_response_body import DocumentsPostDocumentResponseBody
|
|
10
11
|
from ..types.field_object_post_request_body import FieldObjectPostRequestBody
|
|
11
12
|
from .pdfs.client import AsyncPdfsClient, PdfsClient
|
|
@@ -41,7 +42,7 @@ class DocumentsClient:
|
|
|
41
42
|
document_type_id: typing.Optional[str] = None,
|
|
42
43
|
query_by: typing.Optional[str] = None,
|
|
43
44
|
request_options: typing.Optional[RequestOptions] = None,
|
|
44
|
-
) ->
|
|
45
|
+
) -> SyncPager[DocumentResponseObjectResponseBody]:
|
|
45
46
|
"""
|
|
46
47
|
Get all documents for the given time range. The legacy version of this endpoint can be found at [samsara.com/api-legacy](https://www.samsara.com/api-legacy#operation/getDriverDocumentsByOrgId).
|
|
47
48
|
|
|
@@ -74,7 +75,7 @@ class DocumentsClient:
|
|
|
74
75
|
|
|
75
76
|
Returns
|
|
76
77
|
-------
|
|
77
|
-
|
|
78
|
+
SyncPager[DocumentResponseObjectResponseBody]
|
|
78
79
|
OK response.
|
|
79
80
|
|
|
80
81
|
Examples
|
|
@@ -84,12 +85,17 @@ class DocumentsClient:
|
|
|
84
85
|
client = Samsara(
|
|
85
86
|
token="YOUR_TOKEN",
|
|
86
87
|
)
|
|
87
|
-
client.documents.list(
|
|
88
|
+
response = client.documents.list(
|
|
88
89
|
start_time="startTime",
|
|
89
90
|
end_time="endTime",
|
|
90
91
|
)
|
|
92
|
+
for item in response:
|
|
93
|
+
yield item
|
|
94
|
+
# alternatively, you can paginate page-by-page
|
|
95
|
+
for page in response.iter_pages():
|
|
96
|
+
yield page
|
|
91
97
|
"""
|
|
92
|
-
|
|
98
|
+
return self._raw_client.list(
|
|
93
99
|
start_time=start_time,
|
|
94
100
|
end_time=end_time,
|
|
95
101
|
after=after,
|
|
@@ -97,7 +103,6 @@ class DocumentsClient:
|
|
|
97
103
|
query_by=query_by,
|
|
98
104
|
request_options=request_options,
|
|
99
105
|
)
|
|
100
|
-
return _response.data
|
|
101
106
|
|
|
102
107
|
def create(
|
|
103
108
|
self,
|
|
@@ -284,7 +289,7 @@ class AsyncDocumentsClient:
|
|
|
284
289
|
document_type_id: typing.Optional[str] = None,
|
|
285
290
|
query_by: typing.Optional[str] = None,
|
|
286
291
|
request_options: typing.Optional[RequestOptions] = None,
|
|
287
|
-
) ->
|
|
292
|
+
) -> AsyncPager[DocumentResponseObjectResponseBody]:
|
|
288
293
|
"""
|
|
289
294
|
Get all documents for the given time range. The legacy version of this endpoint can be found at [samsara.com/api-legacy](https://www.samsara.com/api-legacy#operation/getDriverDocumentsByOrgId).
|
|
290
295
|
|
|
@@ -317,7 +322,7 @@ class AsyncDocumentsClient:
|
|
|
317
322
|
|
|
318
323
|
Returns
|
|
319
324
|
-------
|
|
320
|
-
|
|
325
|
+
AsyncPager[DocumentResponseObjectResponseBody]
|
|
321
326
|
OK response.
|
|
322
327
|
|
|
323
328
|
Examples
|
|
@@ -332,15 +337,21 @@ class AsyncDocumentsClient:
|
|
|
332
337
|
|
|
333
338
|
|
|
334
339
|
async def main() -> None:
|
|
335
|
-
await client.documents.list(
|
|
340
|
+
response = await client.documents.list(
|
|
336
341
|
start_time="startTime",
|
|
337
342
|
end_time="endTime",
|
|
338
343
|
)
|
|
344
|
+
async for item in response:
|
|
345
|
+
yield item
|
|
346
|
+
|
|
347
|
+
# alternatively, you can paginate page-by-page
|
|
348
|
+
async for page in response.iter_pages():
|
|
349
|
+
yield page
|
|
339
350
|
|
|
340
351
|
|
|
341
352
|
asyncio.run(main())
|
|
342
353
|
"""
|
|
343
|
-
|
|
354
|
+
return await self._raw_client.list(
|
|
344
355
|
start_time=start_time,
|
|
345
356
|
end_time=end_time,
|
|
346
357
|
after=after,
|
|
@@ -348,7 +359,6 @@ class AsyncDocumentsClient:
|
|
|
348
359
|
query_by=query_by,
|
|
349
360
|
request_options=request_options,
|
|
350
361
|
)
|
|
351
|
-
return _response.data
|
|
352
362
|
|
|
353
363
|
async def create(
|
|
354
364
|
self,
|
samsara/documents/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.document_response_object_response_body import DocumentResponseObjectResponseBody
|
|
22
24
|
from ..types.documents_get_document_response_body import DocumentsGetDocumentResponseBody
|
|
23
25
|
from ..types.documents_get_documents_response_body import DocumentsGetDocumentsResponseBody
|
|
24
26
|
from ..types.documents_post_document_response_body import DocumentsPostDocumentResponseBody
|
|
@@ -42,7 +44,7 @@ class RawDocumentsClient:
|
|
|
42
44
|
document_type_id: typing.Optional[str] = None,
|
|
43
45
|
query_by: typing.Optional[str] = None,
|
|
44
46
|
request_options: typing.Optional[RequestOptions] = None,
|
|
45
|
-
) ->
|
|
47
|
+
) -> SyncPager[DocumentResponseObjectResponseBody]:
|
|
46
48
|
"""
|
|
47
49
|
Get all documents for the given time range. The legacy version of this endpoint can be found at [samsara.com/api-legacy](https://www.samsara.com/api-legacy#operation/getDriverDocumentsByOrgId).
|
|
48
50
|
|
|
@@ -75,7 +77,7 @@ class RawDocumentsClient:
|
|
|
75
77
|
|
|
76
78
|
Returns
|
|
77
79
|
-------
|
|
78
|
-
|
|
80
|
+
SyncPager[DocumentResponseObjectResponseBody]
|
|
79
81
|
OK response.
|
|
80
82
|
"""
|
|
81
83
|
_response = self._client_wrapper.httpx_client.request(
|
|
@@ -92,14 +94,30 @@ class RawDocumentsClient:
|
|
|
92
94
|
)
|
|
93
95
|
try:
|
|
94
96
|
if 200 <= _response.status_code < 300:
|
|
95
|
-
|
|
97
|
+
_parsed_response = typing.cast(
|
|
96
98
|
DocumentsGetDocumentsResponseBody,
|
|
97
99
|
parse_obj_as(
|
|
98
100
|
type_=DocumentsGetDocumentsResponseBody, # type: ignore
|
|
99
101
|
object_=_response.json(),
|
|
100
102
|
),
|
|
101
103
|
)
|
|
102
|
-
|
|
104
|
+
_items = _parsed_response.data
|
|
105
|
+
_has_next = False
|
|
106
|
+
_get_next = None
|
|
107
|
+
if _parsed_response.pagination is not None:
|
|
108
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
109
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
110
|
+
_get_next = lambda: self.list(
|
|
111
|
+
start_time=start_time,
|
|
112
|
+
end_time=end_time,
|
|
113
|
+
after=_parsed_next,
|
|
114
|
+
document_type_id=document_type_id,
|
|
115
|
+
query_by=query_by,
|
|
116
|
+
request_options=request_options,
|
|
117
|
+
)
|
|
118
|
+
return SyncPager(
|
|
119
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
120
|
+
)
|
|
103
121
|
if _response.status_code == 401:
|
|
104
122
|
raise UnauthorizedError(
|
|
105
123
|
headers=dict(_response.headers),
|
|
@@ -690,7 +708,7 @@ class AsyncRawDocumentsClient:
|
|
|
690
708
|
document_type_id: typing.Optional[str] = None,
|
|
691
709
|
query_by: typing.Optional[str] = None,
|
|
692
710
|
request_options: typing.Optional[RequestOptions] = None,
|
|
693
|
-
) ->
|
|
711
|
+
) -> AsyncPager[DocumentResponseObjectResponseBody]:
|
|
694
712
|
"""
|
|
695
713
|
Get all documents for the given time range. The legacy version of this endpoint can be found at [samsara.com/api-legacy](https://www.samsara.com/api-legacy#operation/getDriverDocumentsByOrgId).
|
|
696
714
|
|
|
@@ -723,7 +741,7 @@ class AsyncRawDocumentsClient:
|
|
|
723
741
|
|
|
724
742
|
Returns
|
|
725
743
|
-------
|
|
726
|
-
|
|
744
|
+
AsyncPager[DocumentResponseObjectResponseBody]
|
|
727
745
|
OK response.
|
|
728
746
|
"""
|
|
729
747
|
_response = await self._client_wrapper.httpx_client.request(
|
|
@@ -740,14 +758,33 @@ class AsyncRawDocumentsClient:
|
|
|
740
758
|
)
|
|
741
759
|
try:
|
|
742
760
|
if 200 <= _response.status_code < 300:
|
|
743
|
-
|
|
761
|
+
_parsed_response = typing.cast(
|
|
744
762
|
DocumentsGetDocumentsResponseBody,
|
|
745
763
|
parse_obj_as(
|
|
746
764
|
type_=DocumentsGetDocumentsResponseBody, # type: ignore
|
|
747
765
|
object_=_response.json(),
|
|
748
766
|
),
|
|
749
767
|
)
|
|
750
|
-
|
|
768
|
+
_items = _parsed_response.data
|
|
769
|
+
_has_next = False
|
|
770
|
+
_get_next = None
|
|
771
|
+
if _parsed_response.pagination is not None:
|
|
772
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
773
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
774
|
+
|
|
775
|
+
async def _get_next():
|
|
776
|
+
return await self.list(
|
|
777
|
+
start_time=start_time,
|
|
778
|
+
end_time=end_time,
|
|
779
|
+
after=_parsed_next,
|
|
780
|
+
document_type_id=document_type_id,
|
|
781
|
+
query_by=query_by,
|
|
782
|
+
request_options=request_options,
|
|
783
|
+
)
|
|
784
|
+
|
|
785
|
+
return AsyncPager(
|
|
786
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
787
|
+
)
|
|
751
788
|
if _response.status_code == 401:
|
|
752
789
|
raise UnauthorizedError(
|
|
753
790
|
headers=dict(_response.headers),
|