samsara-api 4.0.1__py3-none-any.whl → 4.1.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. samsara/__init__.py +138 -0
  2. samsara/client.py +19 -0
  3. samsara/core/client_wrapper.py +2 -2
  4. samsara/route_events/__init__.py +4 -0
  5. samsara/route_events/client.py +176 -0
  6. samsara/route_events/raw_client.py +362 -0
  7. samsara/types/__init__.py +155 -0
  8. samsara/types/door_open_response_body.py +28 -0
  9. samsara/types/route_event_details_response_body.py +36 -0
  10. samsara/types/route_event_response_response_body.py +56 -0
  11. samsara/types/route_event_response_response_body_event_type.py +17 -0
  12. samsara/types/route_event_route_response_response_body.py +35 -0
  13. samsara/types/route_event_stop_response_response_body.py +35 -0
  14. samsara/types/routes_get_route_events_stream_bad_gateway_error_response_body.py +33 -0
  15. samsara/types/routes_get_route_events_stream_gateway_timeout_error_response_body.py +33 -0
  16. samsara/types/routes_get_route_events_stream_internal_server_error_response_body.py +33 -0
  17. samsara/types/routes_get_route_events_stream_method_not_allowed_error_response_body.py +33 -0
  18. samsara/types/routes_get_route_events_stream_not_found_error_response_body.py +33 -0
  19. samsara/types/routes_get_route_events_stream_not_implemented_error_response_body.py +33 -0
  20. samsara/types/routes_get_route_events_stream_response_body.py +26 -0
  21. samsara/types/routes_get_route_events_stream_service_unavailable_error_response_body.py +33 -0
  22. samsara/types/routes_get_route_events_stream_too_many_requests_error_response_body.py +33 -0
  23. samsara/types/routes_get_route_events_stream_unauthorized_error_response_body.py +33 -0
  24. samsara/types/safety_event.py +6 -6
  25. samsara/types/safety_event_driver.py +5 -0
  26. samsara/types/safety_event_location.py +5 -0
  27. samsara/types/safety_event_vehicle.py +5 -0
  28. samsara/types/stop_eta_updated_event_details_response_body.py +33 -0
  29. samsara/types/stop_task_completed_event_details_response_body.py +36 -0
  30. samsara/types/stop_task_completed_event_details_response_body_task_type.py +5 -0
  31. samsara/types/stop_task_skipped_event_details_response_body.py +36 -0
  32. samsara/types/stop_task_skipped_event_details_response_body_task_type.py +5 -0
  33. samsara/types/vehicle.py +28 -16
  34. samsara/types/vehicle_aux_input_type_1.py +5 -0
  35. samsara/types/vehicle_aux_input_type_10.py +5 -0
  36. samsara/types/vehicle_aux_input_type_11.py +5 -0
  37. samsara/types/vehicle_aux_input_type_12.py +5 -0
  38. samsara/types/vehicle_aux_input_type_13.py +5 -0
  39. samsara/types/vehicle_aux_input_type_2.py +5 -0
  40. samsara/types/vehicle_aux_input_type_3.py +5 -0
  41. samsara/types/vehicle_aux_input_type_4.py +5 -0
  42. samsara/types/vehicle_aux_input_type_5.py +5 -0
  43. samsara/types/vehicle_aux_input_type_6.py +5 -0
  44. samsara/types/vehicle_aux_input_type_7.py +5 -0
  45. samsara/types/vehicle_aux_input_type_8.py +5 -0
  46. samsara/types/vehicle_aux_input_type_9.py +5 -0
  47. samsara/types/vehicle_location.py +6 -4
  48. samsara/types/vehicle_location_reverse_geo.py +5 -0
  49. samsara/types/vehicle_location_time.py +5 -0
  50. samsara/types/vehicle_static_assigned_driver.py +5 -0
  51. samsara/types/vehicle_stats_ambient_air_temp_milli_c.py +2 -2
  52. samsara/types/vehicle_stats_ambient_air_temp_milli_c_with_decoration.py +2 -2
  53. samsara/types/vehicle_stats_barometric_pressure_pa.py +2 -2
  54. samsara/types/vehicle_stats_barometric_pressure_pa_with_decoration.py +2 -2
  55. samsara/types/vehicle_stats_battery_voltage.py +2 -2
  56. samsara/types/vehicle_stats_battery_voltage_with_decoration.py +2 -2
  57. samsara/types/vehicle_stats_decorations.py +4 -0
  58. samsara/types/vehicle_stats_decorations_gps.py +4 -2
  59. samsara/types/vehicle_stats_def_level_milli_percent.py +2 -2
  60. samsara/types/vehicle_stats_def_level_milli_percent_with_decoration.py +2 -2
  61. samsara/types/vehicle_stats_ecu_door_status.py +29 -0
  62. samsara/types/vehicle_stats_ecu_door_status_value.py +5 -0
  63. samsara/types/vehicle_stats_ecu_speed_mph.py +2 -2
  64. samsara/types/vehicle_stats_ecu_speed_mph_with_decoration.py +2 -2
  65. samsara/types/vehicle_stats_engine_coolant_temp_milli_c.py +2 -2
  66. samsara/types/vehicle_stats_engine_coolant_temp_milli_c_with_decoration.py +2 -2
  67. samsara/types/vehicle_stats_engine_load_percent.py +2 -2
  68. samsara/types/vehicle_stats_engine_load_percent_with_decoration.py +2 -2
  69. samsara/types/vehicle_stats_engine_oil_pressure_k_pa.py +2 -2
  70. samsara/types/vehicle_stats_engine_oil_pressure_k_pa_with_decoration.py +2 -2
  71. samsara/types/vehicle_stats_engine_rpm.py +2 -2
  72. samsara/types/vehicle_stats_engine_rpm_with_decoration.py +2 -2
  73. samsara/types/vehicle_stats_engine_state.py +2 -2
  74. samsara/types/vehicle_stats_engine_state_with_decoration.py +2 -2
  75. samsara/types/vehicle_stats_ev_average_battery_temperature_milli_celsius.py +2 -2
  76. samsara/types/vehicle_stats_ev_battery_current_milli_amp.py +2 -2
  77. samsara/types/vehicle_stats_ev_battery_state_of_health_milli_percent.py +2 -2
  78. samsara/types/vehicle_stats_ev_battery_voltage_milli_volt.py +2 -2
  79. samsara/types/vehicle_stats_ev_charging_current_milli_amp.py +2 -2
  80. samsara/types/vehicle_stats_ev_charging_energy_micro_wh.py +2 -2
  81. samsara/types/vehicle_stats_ev_charging_status.py +2 -2
  82. samsara/types/vehicle_stats_ev_charging_voltage_milli_volt.py +2 -2
  83. samsara/types/vehicle_stats_ev_consumed_energy_micro_wh.py +2 -2
  84. samsara/types/vehicle_stats_ev_distance_driven_meters.py +2 -2
  85. samsara/types/vehicle_stats_ev_regenerated_energy_micro_wh.py +2 -2
  86. samsara/types/vehicle_stats_ev_state_of_charge_milli_percent.py +2 -2
  87. samsara/types/vehicle_stats_fault_codes_with_decoration.py +2 -2
  88. samsara/types/vehicle_stats_fuel_consumed_milliliters.py +2 -2
  89. samsara/types/vehicle_stats_fuel_consumed_milliliters_with_decoration.py +2 -2
  90. samsara/types/vehicle_stats_fuel_percent.py +2 -2
  91. samsara/types/vehicle_stats_fuel_percent_with_decoration.py +2 -2
  92. samsara/types/vehicle_stats_gps.py +6 -4
  93. samsara/types/vehicle_stats_gps_distance_meters.py +2 -2
  94. samsara/types/vehicle_stats_gps_distance_meters_with_decoration.py +2 -2
  95. samsara/types/vehicle_stats_gps_odometer_meters.py +2 -2
  96. samsara/types/vehicle_stats_gps_odometer_meters_with_decoration.py +2 -2
  97. samsara/types/vehicle_stats_idling_duration_milliseconds.py +2 -2
  98. samsara/types/vehicle_stats_idling_duration_milliseconds_with_decoration.py +2 -2
  99. samsara/types/vehicle_stats_intake_manifold_temp_milli_c.py +2 -2
  100. samsara/types/vehicle_stats_intake_manifold_temp_milli_c_with_decoration.py +2 -2
  101. samsara/types/vehicle_stats_list_gps.py +6 -4
  102. samsara/types/vehicle_stats_list_response_data.py +8 -0
  103. samsara/types/vehicle_stats_obd_engine_seconds.py +2 -2
  104. samsara/types/vehicle_stats_obd_engine_seconds_with_decoration.py +2 -2
  105. samsara/types/vehicle_stats_obd_odometer_meters.py +2 -2
  106. samsara/types/vehicle_stats_obd_odometer_meters_with_decoration.py +2 -2
  107. samsara/types/vehicle_stats_response_data.py +4 -0
  108. samsara/types/vehicle_stats_response_ecu_door_status.py +32 -0
  109. samsara/types/vehicle_stats_response_ecu_door_status_value.py +5 -0
  110. samsara/types/vehicle_stats_seatbelt_driver.py +2 -2
  111. samsara/types/vehicle_stats_spreader_active.py +2 -2
  112. samsara/types/vehicle_stats_spreader_air_temp.py +2 -2
  113. samsara/types/vehicle_stats_spreader_blast_state.py +2 -2
  114. samsara/types/vehicle_stats_spreader_granular_name.py +2 -2
  115. samsara/types/vehicle_stats_spreader_granular_rate.py +2 -2
  116. samsara/types/vehicle_stats_spreader_liquid_name.py +2 -2
  117. samsara/types/vehicle_stats_spreader_liquid_rate.py +2 -2
  118. samsara/types/vehicle_stats_spreader_on_state.py +2 -2
  119. samsara/types/vehicle_stats_spreader_plow_status.py +2 -2
  120. samsara/types/vehicle_stats_spreader_prewet_name.py +2 -2
  121. samsara/types/vehicle_stats_spreader_prewet_rate.py +2 -2
  122. samsara/types/vehicle_stats_spreader_road_temp.py +2 -2
  123. samsara/types/vehicle_stats_time.py +5 -0
  124. samsara/types/workflow_incident_details_object_response_body.py +4 -0
  125. samsara/vehicle_stats/client.py +10 -0
  126. samsara/vehicle_stats/raw_client.py +10 -0
  127. samsara/vehicle_stats/types/get_vehicle_stats_feed_request_decorations_item.py +1 -0
  128. samsara/vehicle_stats/types/get_vehicle_stats_feed_request_types_item.py +1 -0
  129. samsara/vehicle_stats/types/get_vehicle_stats_history_request_decorations_item.py +1 -0
  130. samsara/vehicle_stats/types/get_vehicle_stats_history_request_types_item.py +1 -0
  131. samsara/vehicle_stats/types/get_vehicle_stats_request_types_item.py +1 -0
  132. samsara/work_orders/client.py +30 -0
  133. samsara/work_orders/raw_client.py +30 -0
  134. {samsara_api-4.0.1.dist-info → samsara_api-4.1.1.dist-info}/METADATA +1 -1
  135. {samsara_api-4.0.1.dist-info → samsara_api-4.1.1.dist-info}/RECORD +137 -89
  136. {samsara_api-4.0.1.dist-info → samsara_api-4.1.1.dist-info}/LICENSE +0 -0
  137. {samsara_api-4.0.1.dist-info → samsara_api-4.1.1.dist-info}/WHEEL +0 -0
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from .vehicle_aux_input_type import VehicleAuxInputType
4
+
5
+ VehicleAuxInputType8 = VehicleAuxInputType
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from .vehicle_aux_input_type import VehicleAuxInputType
4
+
5
+ VehicleAuxInputType9 = VehicleAuxInputType
@@ -6,12 +6,12 @@ import pydantic
6
6
  import typing_extensions
7
7
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
8
  from ..core.serialization import FieldMetadata
9
- from .reverse_geo import ReverseGeo
10
- from .time import Time
11
9
  from .vehicle_location_heading import VehicleLocationHeading
12
10
  from .vehicle_location_latitude import VehicleLocationLatitude
13
11
  from .vehicle_location_longitude import VehicleLocationLongitude
12
+ from .vehicle_location_reverse_geo import VehicleLocationReverseGeo
14
13
  from .vehicle_location_speed import VehicleLocationSpeed
14
+ from .vehicle_location_time import VehicleLocationTime
15
15
 
16
16
 
17
17
  class VehicleLocation(UniversalBaseModel):
@@ -22,9 +22,11 @@ class VehicleLocation(UniversalBaseModel):
22
22
  heading: typing.Optional[VehicleLocationHeading] = None
23
23
  latitude: VehicleLocationLatitude
24
24
  longitude: VehicleLocationLongitude
25
- reverse_geo: typing_extensions.Annotated[typing.Optional[ReverseGeo], FieldMetadata(alias="reverseGeo")] = None
25
+ reverse_geo: typing_extensions.Annotated[
26
+ typing.Optional[VehicleLocationReverseGeo], FieldMetadata(alias="reverseGeo")
27
+ ] = None
26
28
  speed: typing.Optional[VehicleLocationSpeed] = None
27
- time: Time
29
+ time: VehicleLocationTime
28
30
 
29
31
  if IS_PYDANTIC_V2:
30
32
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from .reverse_geo import ReverseGeo
4
+
5
+ VehicleLocationReverseGeo = ReverseGeo
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from .time import Time
4
+
5
+ VehicleLocationTime = Time
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from .driver_tiny_response import DriverTinyResponse
4
+
5
+ VehicleStaticAssignedDriver = DriverTinyResponse
@@ -4,7 +4,7 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
7
+ from .vehicle_stats_time import VehicleStatsTime
8
8
 
9
9
 
10
10
  class VehicleStatsAmbientAirTempMilliC(UniversalBaseModel):
@@ -12,7 +12,7 @@ class VehicleStatsAmbientAirTempMilliC(UniversalBaseModel):
12
12
  Vehicle ambient air temperature reading.
13
13
  """
14
14
 
15
- time: Time
15
+ time: VehicleStatsTime
16
16
  value: int = pydantic.Field()
17
17
  """
18
18
  The ambient air temperature reading in millidegree Celsius.
@@ -4,8 +4,8 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
8
7
  from .vehicle_stats_decorations import VehicleStatsDecorations
8
+ from .vehicle_stats_time import VehicleStatsTime
9
9
 
10
10
 
11
11
  class VehicleStatsAmbientAirTempMilliCWithDecoration(UniversalBaseModel):
@@ -14,7 +14,7 @@ class VehicleStatsAmbientAirTempMilliCWithDecoration(UniversalBaseModel):
14
14
  """
15
15
 
16
16
  decorations: typing.Optional[VehicleStatsDecorations] = None
17
- time: Time
17
+ time: VehicleStatsTime
18
18
  value: int = pydantic.Field()
19
19
  """
20
20
  The ambient air temperature reading in millidegree Celsius.
@@ -4,7 +4,7 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
7
+ from .vehicle_stats_time import VehicleStatsTime
8
8
 
9
9
 
10
10
  class VehicleStatsBarometricPressurePa(UniversalBaseModel):
@@ -12,7 +12,7 @@ class VehicleStatsBarometricPressurePa(UniversalBaseModel):
12
12
  Vehicle barometric pressure reading.
13
13
  """
14
14
 
15
- time: Time
15
+ time: VehicleStatsTime
16
16
  value: int = pydantic.Field()
17
17
  """
18
18
  The barometric pressure reading in pascals.
@@ -4,8 +4,8 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
8
7
  from .vehicle_stats_decorations import VehicleStatsDecorations
8
+ from .vehicle_stats_time import VehicleStatsTime
9
9
 
10
10
 
11
11
  class VehicleStatsBarometricPressurePaWithDecoration(UniversalBaseModel):
@@ -14,7 +14,7 @@ class VehicleStatsBarometricPressurePaWithDecoration(UniversalBaseModel):
14
14
  """
15
15
 
16
16
  decorations: typing.Optional[VehicleStatsDecorations] = None
17
- time: Time
17
+ time: VehicleStatsTime
18
18
  value: int = pydantic.Field()
19
19
  """
20
20
  The barometric pressure reading in pascals.
@@ -4,7 +4,7 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
7
+ from .vehicle_stats_time import VehicleStatsTime
8
8
 
9
9
 
10
10
  class VehicleStatsBatteryVoltage(UniversalBaseModel):
@@ -12,7 +12,7 @@ class VehicleStatsBatteryVoltage(UniversalBaseModel):
12
12
  Vehicle battery voltage reading.
13
13
  """
14
14
 
15
- time: Time
15
+ time: VehicleStatsTime
16
16
  value: int = pydantic.Field()
17
17
  """
18
18
  The battery voltage in millivolts.
@@ -4,8 +4,8 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
8
7
  from .vehicle_stats_decorations import VehicleStatsDecorations
8
+ from .vehicle_stats_time import VehicleStatsTime
9
9
 
10
10
 
11
11
  class VehicleStatsBatteryVoltageWithDecoration(UniversalBaseModel):
@@ -14,7 +14,7 @@ class VehicleStatsBatteryVoltageWithDecoration(UniversalBaseModel):
14
14
  """
15
15
 
16
16
  decorations: typing.Optional[VehicleStatsDecorations] = None
17
- time: Time
17
+ time: VehicleStatsTime
18
18
  value: int = pydantic.Field()
19
19
  """
20
20
  The battery voltage in millivolts.
@@ -32,6 +32,7 @@ from .vehicle_stats_decorations_intake_manifold_temperature_milli_c import (
32
32
  )
33
33
  from .vehicle_stats_decorations_obd_engine_seconds import VehicleStatsDecorationsObdEngineSeconds
34
34
  from .vehicle_stats_decorations_obd_odometer_meters import VehicleStatsDecorationsObdOdometerMeters
35
+ from .vehicle_stats_ecu_door_status import VehicleStatsEcuDoorStatus
35
36
  from .vehicle_stats_engine_immobilizer import VehicleStatsEngineImmobilizer
36
37
  from .vehicle_stats_ev_average_battery_temperature_milli_celsius import (
37
38
  VehicleStatsEvAverageBatteryTemperatureMilliCelsius,
@@ -132,6 +133,9 @@ class VehicleStatsDecorations(UniversalBaseModel):
132
133
  def_level_milli_percent: typing_extensions.Annotated[
133
134
  typing.Optional[VehicleStatsDecorationsDefLevelMilliPercent], FieldMetadata(alias="defLevelMilliPercent")
134
135
  ] = None
136
+ ecu_door_status: typing_extensions.Annotated[
137
+ typing.Optional[VehicleStatsEcuDoorStatus], FieldMetadata(alias="ecuDoorStatus")
138
+ ] = None
135
139
  ecu_speed_mph: typing_extensions.Annotated[
136
140
  typing.Optional[VehicleStatsDecorationsEcuSpeedMph], FieldMetadata(alias="ecuSpeedMph")
137
141
  ] = None
@@ -6,12 +6,12 @@ import pydantic
6
6
  import typing_extensions
7
7
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
8
  from ..core.serialization import FieldMetadata
9
- from .reverse_geo import ReverseGeo
10
9
  from .vehicle_location_address import VehicleLocationAddress
11
10
  from .vehicle_location_heading import VehicleLocationHeading
12
11
  from .vehicle_location_is_ecu_speed import VehicleLocationIsEcuSpeed
13
12
  from .vehicle_location_latitude import VehicleLocationLatitude
14
13
  from .vehicle_location_longitude import VehicleLocationLongitude
14
+ from .vehicle_location_reverse_geo import VehicleLocationReverseGeo
15
15
  from .vehicle_location_speed import VehicleLocationSpeed
16
16
 
17
17
 
@@ -25,7 +25,9 @@ class VehicleStatsDecorationsGps(UniversalBaseModel):
25
25
  ] = None
26
26
  latitude: VehicleLocationLatitude
27
27
  longitude: VehicleLocationLongitude
28
- reverse_geo: typing_extensions.Annotated[typing.Optional[ReverseGeo], FieldMetadata(alias="reverseGeo")] = None
28
+ reverse_geo: typing_extensions.Annotated[
29
+ typing.Optional[VehicleLocationReverseGeo], FieldMetadata(alias="reverseGeo")
30
+ ] = None
29
31
  speed_miles_per_hour: typing_extensions.Annotated[
30
32
  typing.Optional[VehicleLocationSpeed], FieldMetadata(alias="speedMilesPerHour")
31
33
  ] = None
@@ -4,7 +4,7 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
7
+ from .vehicle_stats_time import VehicleStatsTime
8
8
 
9
9
 
10
10
  class VehicleStatsDefLevelMilliPercent(UniversalBaseModel):
@@ -12,7 +12,7 @@ class VehicleStatsDefLevelMilliPercent(UniversalBaseModel):
12
12
  The Diesel Exhaust Fluid (DEF) milli percentage reading.
13
13
  """
14
14
 
15
- time: Time
15
+ time: VehicleStatsTime
16
16
  value: int = pydantic.Field()
17
17
  """
18
18
  The Diesel Exhaust Fluid (DEF) level in milli percentage points (e.g. `99001`, `49999`, etc).
@@ -4,8 +4,8 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
8
7
  from .vehicle_stats_decorations import VehicleStatsDecorations
8
+ from .vehicle_stats_time import VehicleStatsTime
9
9
 
10
10
 
11
11
  class VehicleStatsDefLevelMilliPercentWithDecoration(UniversalBaseModel):
@@ -14,7 +14,7 @@ class VehicleStatsDefLevelMilliPercentWithDecoration(UniversalBaseModel):
14
14
  """
15
15
 
16
16
  decorations: typing.Optional[VehicleStatsDecorations] = None
17
- time: Time
17
+ time: VehicleStatsTime
18
18
  value: int = pydantic.Field()
19
19
  """
20
20
  The Diesel Exhaust Fluid (DEF) level in milli percentage points (e.g. `99001`, `49999`, etc).
@@ -0,0 +1,29 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .vehicle_stats_ecu_door_status_value import VehicleStatsEcuDoorStatusValue
8
+ from .vehicle_stats_time import VehicleStatsTime
9
+
10
+
11
+ class VehicleStatsEcuDoorStatus(UniversalBaseModel):
12
+ """
13
+ Door status as read from the vehicle (either from ECU or AUX as a fallback).
14
+ """
15
+
16
+ time: VehicleStatsTime
17
+ value: VehicleStatsEcuDoorStatusValue = pydantic.Field()
18
+ """
19
+ Status of doors. Either `Closed`, `Open` or `Unknown`.
20
+ """
21
+
22
+ if IS_PYDANTIC_V2:
23
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
24
+ else:
25
+
26
+ class Config:
27
+ frozen = True
28
+ smart_union = True
29
+ extra = pydantic.Extra.allow
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ VehicleStatsEcuDoorStatusValue = typing.Union[typing.Literal["Closed", "Open", "Unknown"], typing.Any]
@@ -4,7 +4,7 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
7
+ from .vehicle_stats_time import VehicleStatsTime
8
8
 
9
9
 
10
10
  class VehicleStatsEcuSpeedMph(UniversalBaseModel):
@@ -12,7 +12,7 @@ class VehicleStatsEcuSpeedMph(UniversalBaseModel):
12
12
  The speed of the vehicle in miles per hour, as reported by the ECU.
13
13
  """
14
14
 
15
- time: Time
15
+ time: VehicleStatsTime
16
16
  value: float = pydantic.Field()
17
17
  """
18
18
  The speed of the vehicle in miles per hour.
@@ -4,8 +4,8 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
8
7
  from .vehicle_stats_decorations import VehicleStatsDecorations
8
+ from .vehicle_stats_time import VehicleStatsTime
9
9
 
10
10
 
11
11
  class VehicleStatsEcuSpeedMphWithDecoration(UniversalBaseModel):
@@ -14,7 +14,7 @@ class VehicleStatsEcuSpeedMphWithDecoration(UniversalBaseModel):
14
14
  """
15
15
 
16
16
  decorations: typing.Optional[VehicleStatsDecorations] = None
17
- time: Time
17
+ time: VehicleStatsTime
18
18
  value: float = pydantic.Field()
19
19
  """
20
20
  The speed of the vehicle in miles per hour.
@@ -4,7 +4,7 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
7
+ from .vehicle_stats_time import VehicleStatsTime
8
8
 
9
9
 
10
10
  class VehicleStatsEngineCoolantTempMilliC(UniversalBaseModel):
@@ -12,7 +12,7 @@ class VehicleStatsEngineCoolantTempMilliC(UniversalBaseModel):
12
12
  Vehicle engine coolant temperature reading.
13
13
  """
14
14
 
15
- time: Time
15
+ time: VehicleStatsTime
16
16
  value: int = pydantic.Field()
17
17
  """
18
18
  The engine coolant temperature reading in millidegree Celsius.
@@ -4,8 +4,8 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
8
7
  from .vehicle_stats_decorations import VehicleStatsDecorations
8
+ from .vehicle_stats_time import VehicleStatsTime
9
9
 
10
10
 
11
11
  class VehicleStatsEngineCoolantTempMilliCWithDecoration(UniversalBaseModel):
@@ -14,7 +14,7 @@ class VehicleStatsEngineCoolantTempMilliCWithDecoration(UniversalBaseModel):
14
14
  """
15
15
 
16
16
  decorations: typing.Optional[VehicleStatsDecorations] = None
17
- time: Time
17
+ time: VehicleStatsTime
18
18
  value: int = pydantic.Field()
19
19
  """
20
20
  The engine coolant temperature reading in millidegree Celsius.
@@ -4,7 +4,7 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
7
+ from .vehicle_stats_time import VehicleStatsTime
8
8
 
9
9
 
10
10
  class VehicleStatsEngineLoadPercent(UniversalBaseModel):
@@ -12,7 +12,7 @@ class VehicleStatsEngineLoadPercent(UniversalBaseModel):
12
12
  The engine load percentage reading.
13
13
  """
14
14
 
15
- time: Time
15
+ time: VehicleStatsTime
16
16
  value: int = pydantic.Field()
17
17
  """
18
18
  The engine load in percentage points (e.g. `99`, `50`, etc).
@@ -4,8 +4,8 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
8
7
  from .vehicle_stats_decorations import VehicleStatsDecorations
8
+ from .vehicle_stats_time import VehicleStatsTime
9
9
 
10
10
 
11
11
  class VehicleStatsEngineLoadPercentWithDecoration(UniversalBaseModel):
@@ -14,7 +14,7 @@ class VehicleStatsEngineLoadPercentWithDecoration(UniversalBaseModel):
14
14
  """
15
15
 
16
16
  decorations: typing.Optional[VehicleStatsDecorations] = None
17
- time: Time
17
+ time: VehicleStatsTime
18
18
  value: int = pydantic.Field()
19
19
  """
20
20
  The engine load in percentage points (e.g. `99`, `50`, etc).
@@ -4,7 +4,7 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
7
+ from .vehicle_stats_time import VehicleStatsTime
8
8
 
9
9
 
10
10
  class VehicleStatsEngineOilPressureKPa(UniversalBaseModel):
@@ -12,7 +12,7 @@ class VehicleStatsEngineOilPressureKPa(UniversalBaseModel):
12
12
  Vehicle engine oil pressure reading.
13
13
  """
14
14
 
15
- time: Time
15
+ time: VehicleStatsTime
16
16
  value: int = pydantic.Field()
17
17
  """
18
18
  The engine oil pressure reading in kilopascals.
@@ -4,8 +4,8 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
8
7
  from .vehicle_stats_decorations import VehicleStatsDecorations
8
+ from .vehicle_stats_time import VehicleStatsTime
9
9
 
10
10
 
11
11
  class VehicleStatsEngineOilPressureKPaWithDecoration(UniversalBaseModel):
@@ -14,7 +14,7 @@ class VehicleStatsEngineOilPressureKPaWithDecoration(UniversalBaseModel):
14
14
  """
15
15
 
16
16
  decorations: typing.Optional[VehicleStatsDecorations] = None
17
- time: Time
17
+ time: VehicleStatsTime
18
18
  value: int = pydantic.Field()
19
19
  """
20
20
  The engine oil pressure reading in kilopascals.
@@ -4,7 +4,7 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
7
+ from .vehicle_stats_time import VehicleStatsTime
8
8
 
9
9
 
10
10
  class VehicleStatsEngineRpm(UniversalBaseModel):
@@ -12,7 +12,7 @@ class VehicleStatsEngineRpm(UniversalBaseModel):
12
12
  Vehicle engine RPM reading.
13
13
  """
14
14
 
15
- time: Time
15
+ time: VehicleStatsTime
16
16
  value: int = pydantic.Field()
17
17
  """
18
18
  The revolutions per minute of the engine.
@@ -4,8 +4,8 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
8
7
  from .vehicle_stats_decorations import VehicleStatsDecorations
8
+ from .vehicle_stats_time import VehicleStatsTime
9
9
 
10
10
 
11
11
  class VehicleStatsEngineRpmWithDecoration(UniversalBaseModel):
@@ -14,7 +14,7 @@ class VehicleStatsEngineRpmWithDecoration(UniversalBaseModel):
14
14
  """
15
15
 
16
16
  decorations: typing.Optional[VehicleStatsDecorations] = None
17
- time: Time
17
+ time: VehicleStatsTime
18
18
  value: int = pydantic.Field()
19
19
  """
20
20
  The revolutions per minute of the engine.
@@ -4,8 +4,8 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
8
7
  from .vehicle_stats_engine_state_setting import VehicleStatsEngineStateSetting
8
+ from .vehicle_stats_time import VehicleStatsTime
9
9
 
10
10
 
11
11
  class VehicleStatsEngineState(UniversalBaseModel):
@@ -13,7 +13,7 @@ class VehicleStatsEngineState(UniversalBaseModel):
13
13
  Vehicle engine state event.
14
14
  """
15
15
 
16
- time: Time
16
+ time: VehicleStatsTime
17
17
  value: VehicleStatsEngineStateSetting
18
18
 
19
19
  if IS_PYDANTIC_V2:
@@ -4,9 +4,9 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
8
7
  from .vehicle_stats_decorations import VehicleStatsDecorations
9
8
  from .vehicle_stats_engine_state_setting import VehicleStatsEngineStateSetting
9
+ from .vehicle_stats_time import VehicleStatsTime
10
10
 
11
11
 
12
12
  class VehicleStatsEngineStateWithDecoration(UniversalBaseModel):
@@ -15,7 +15,7 @@ class VehicleStatsEngineStateWithDecoration(UniversalBaseModel):
15
15
  """
16
16
 
17
17
  decorations: typing.Optional[VehicleStatsDecorations] = None
18
- time: Time
18
+ time: VehicleStatsTime
19
19
  value: VehicleStatsEngineStateSetting
20
20
 
21
21
  if IS_PYDANTIC_V2:
@@ -4,7 +4,7 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
7
+ from .vehicle_stats_time import VehicleStatsTime
8
8
 
9
9
 
10
10
  class VehicleStatsEvAverageBatteryTemperatureMilliCelsius(UniversalBaseModel):
@@ -12,7 +12,7 @@ class VehicleStatsEvAverageBatteryTemperatureMilliCelsius(UniversalBaseModel):
12
12
  Battery temperature for electric and hybrid vehicles in milli celsius. Not all EV and HEVs may report this field.
13
13
  """
14
14
 
15
- time: Time
15
+ time: VehicleStatsTime
16
16
  value: int = pydantic.Field()
17
17
  """
18
18
  Battery temperature for electric and hybrid vehicles in milli celsius.
@@ -4,7 +4,7 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
7
+ from .vehicle_stats_time import VehicleStatsTime
8
8
 
9
9
 
10
10
  class VehicleStatsEvBatteryCurrentMilliAmp(UniversalBaseModel):
@@ -12,7 +12,7 @@ class VehicleStatsEvBatteryCurrentMilliAmp(UniversalBaseModel):
12
12
  Battery current for electric and hybrid vehicles in milli amps. Not all EV and HEVs may report this field.
13
13
  """
14
14
 
15
- time: Time
15
+ time: VehicleStatsTime
16
16
  value: int = pydantic.Field()
17
17
  """
18
18
  Battery current for electric and hybrid vehicles in milli amps.
@@ -4,7 +4,7 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
7
+ from .vehicle_stats_time import VehicleStatsTime
8
8
 
9
9
 
10
10
  class VehicleStatsEvBatteryStateOfHealthMilliPercent(UniversalBaseModel):
@@ -12,7 +12,7 @@ class VehicleStatsEvBatteryStateOfHealthMilliPercent(UniversalBaseModel):
12
12
  Milli percent battery state of health for electric and hybrid vehicles. Not all EV and HEVs may report this field.
13
13
  """
14
14
 
15
- time: Time
15
+ time: VehicleStatsTime
16
16
  value: int = pydantic.Field()
17
17
  """
18
18
  Milli percent battery state of health for electric and hybrid vehicles.
@@ -4,7 +4,7 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
7
+ from .vehicle_stats_time import VehicleStatsTime
8
8
 
9
9
 
10
10
  class VehicleStatsEvBatteryVoltageMilliVolt(UniversalBaseModel):
@@ -12,7 +12,7 @@ class VehicleStatsEvBatteryVoltageMilliVolt(UniversalBaseModel):
12
12
  Battery voltage for electric and hybrid vehicles in milli volts. Not all EV and HEVs may report this field.
13
13
  """
14
14
 
15
- time: Time
15
+ time: VehicleStatsTime
16
16
  value: int = pydantic.Field()
17
17
  """
18
18
  Battery voltage for electric and hybrid vehicles in milli volts.
@@ -4,7 +4,7 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
7
+ from .vehicle_stats_time import VehicleStatsTime
8
8
 
9
9
 
10
10
  class VehicleStatsEvChargingCurrentMilliAmp(UniversalBaseModel):
@@ -12,7 +12,7 @@ class VehicleStatsEvChargingCurrentMilliAmp(UniversalBaseModel):
12
12
  Charging current for electric and hybrid vehicles in milli amps. Not all EV and HEVs may report this field.
13
13
  """
14
14
 
15
- time: Time
15
+ time: VehicleStatsTime
16
16
  value: int = pydantic.Field()
17
17
  """
18
18
  Charging current for electric and hybrid vehicles in milli amps.
@@ -4,7 +4,7 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .time import Time
7
+ from .vehicle_stats_time import VehicleStatsTime
8
8
 
9
9
 
10
10
  class VehicleStatsEvChargingEnergyMicroWh(UniversalBaseModel):
@@ -12,7 +12,7 @@ class VehicleStatsEvChargingEnergyMicroWh(UniversalBaseModel):
12
12
  Charging energy for electric and hybrid vehicles in microwatt hours. Not all EV and HEVs may report this field.
13
13
  """
14
14
 
15
- time: Time
15
+ time: VehicleStatsTime
16
16
  value: int = pydantic.Field()
17
17
  """
18
18
  Charging energy for electric and hybrid vehicles in microwatt hours.