rivian-python-client 1.1.1__tar.gz → 1.1.3__tar.gz
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.
- {rivian_python_client-1.1.1 → rivian_python_client-1.1.3}/PKG-INFO +3 -3
- {rivian_python_client-1.1.1 → rivian_python_client-1.1.3}/pyproject.toml +9 -9
- {rivian_python_client-1.1.1 → rivian_python_client-1.1.3}/src/rivian/schemas/gateway.graphql +191 -2
- {rivian_python_client-1.1.1 → rivian_python_client-1.1.3}/src/rivian/utils.py +1 -1
- {rivian_python_client-1.1.1 → rivian_python_client-1.1.3}/README.md +0 -0
- {rivian_python_client-1.1.1 → rivian_python_client-1.1.3}/src/rivian/__init__.py +0 -0
- {rivian_python_client-1.1.1 → rivian_python_client-1.1.3}/src/rivian/ble.py +0 -0
- {rivian_python_client-1.1.1 → rivian_python_client-1.1.3}/src/rivian/const.py +0 -0
- {rivian_python_client-1.1.1 → rivian_python_client-1.1.3}/src/rivian/exceptions.py +0 -0
- {rivian_python_client-1.1.1 → rivian_python_client-1.1.3}/src/rivian/py.typed +0 -0
- {rivian_python_client-1.1.1 → rivian_python_client-1.1.3}/src/rivian/rivian.py +0 -0
- {rivian_python_client-1.1.1 → rivian_python_client-1.1.3}/src/rivian/schemas/charging.graphql +0 -0
- {rivian_python_client-1.1.1 → rivian_python_client-1.1.3}/src/rivian/schemas/orders.graphql +0 -0
- {rivian_python_client-1.1.1 → rivian_python_client-1.1.3}/src/rivian/ws_monitor.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: rivian-python-client
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.3
|
|
4
4
|
Summary: Rivian API Client (Unofficial)
|
|
5
5
|
License: MIT
|
|
6
6
|
Author: Brian Retterer
|
|
@@ -15,8 +15,8 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
15
15
|
Provides-Extra: ble
|
|
16
16
|
Requires-Dist: aiohttp (>=3.0.0)
|
|
17
17
|
Requires-Dist: backports-strenum (>=1.2.4,<2.0.0) ; python_version < "3.11"
|
|
18
|
-
Requires-Dist: bleak (>=0.21,<0.
|
|
19
|
-
Requires-Dist: cryptography (>=41.0.1,<
|
|
18
|
+
Requires-Dist: bleak (>=0.21,<1.0.0) ; extra == "ble"
|
|
19
|
+
Requires-Dist: cryptography (>=41.0.1,<43.0)
|
|
20
20
|
Requires-Dist: dbus-fast (>=2.11.0,<3.0.0) ; (sys_platform == "linux") and (extra == "ble")
|
|
21
21
|
Description-Content-Type: text/markdown
|
|
22
22
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "rivian-python-client"
|
|
3
|
-
version = "1.1.
|
|
3
|
+
version = "1.1.3"
|
|
4
4
|
description = "Rivian API Client (Unofficial)"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = ["Brian Retterer <bretterer@gmail.com>"]
|
|
@@ -10,19 +10,19 @@ packages = [
|
|
|
10
10
|
]
|
|
11
11
|
|
|
12
12
|
[tool.poetry.dependencies]
|
|
13
|
-
python = ">=3.9
|
|
13
|
+
python = ">=3.9,<3.13"
|
|
14
14
|
aiohttp = ">=3.0.0"
|
|
15
|
-
cryptography = "
|
|
15
|
+
cryptography = ">=41.0.1,<43.0"
|
|
16
16
|
backports-strenum = { version = "^1.2.4", python = "<3.11" }
|
|
17
|
-
bleak = { version = "
|
|
17
|
+
bleak = { version = ">=0.21,<1.0.0", optional = true }
|
|
18
18
|
dbus-fast = {version = "^2.11.0", optional = true, platform = "linux"}
|
|
19
19
|
|
|
20
20
|
[tool.poetry.group.dev.dependencies]
|
|
21
|
-
pytest = "
|
|
22
|
-
pytest-asyncio = ">=0.18.3,<0.
|
|
23
|
-
python-dotenv = "
|
|
24
|
-
aresponses = "
|
|
25
|
-
mypy = "
|
|
21
|
+
pytest = ">=7.1.2,<9.0.0"
|
|
22
|
+
pytest-asyncio = ">=0.18.3,<0.24.0"
|
|
23
|
+
python-dotenv = ">=0.20,<1.1"
|
|
24
|
+
aresponses = ">=2.1.5,<4.0.0"
|
|
25
|
+
mypy = ">=1.7.0,<2.0.0"
|
|
26
26
|
|
|
27
27
|
[tool.poetry.extras]
|
|
28
28
|
ble = ["bleak", "dbus-fast"]
|
{rivian_python_client-1.1.1 → rivian_python_client-1.1.3}/src/rivian/schemas/gateway.graphql
RENAMED
|
@@ -28,6 +28,12 @@ type Query {
|
|
|
28
28
|
|
|
29
29
|
type Mutation {
|
|
30
30
|
createCsrfToken: CreateCsrfTokenResponse
|
|
31
|
+
createDepartureSchedule(
|
|
32
|
+
vehicleId: String!
|
|
33
|
+
schedule: InputDepartureSchedule!
|
|
34
|
+
): Success
|
|
35
|
+
deleteDepartureSchedule(vehicleId: String!, scheduleId: String!): Success
|
|
36
|
+
departNow(vehicleId: String!, scheduleId: String!, skipDate: String!): Success
|
|
31
37
|
disenrollPhone(attrs: DisenrollPhoneAttributes!): DisenrollPhoneResponse
|
|
32
38
|
enrollPhone(attrs: EnrollPhoneAttributes!): EnrollPhoneResponse
|
|
33
39
|
login(email: String!, password: String!): LoginResponse
|
|
@@ -36,16 +42,61 @@ type Mutation {
|
|
|
36
42
|
otpToken: String!
|
|
37
43
|
otpCode: String!
|
|
38
44
|
): MobileLoginResponse
|
|
45
|
+
logout: LogoutResponse
|
|
46
|
+
resendOTPCode(otpToken: String!): ResendOTPCodeResponse
|
|
39
47
|
sendVehicleCommand(attrs: VehicleCommandAttributes!): SendVehicleCommandState
|
|
40
48
|
setChargingSchedules(
|
|
41
49
|
vehicleId: String!
|
|
42
50
|
chargingSchedules: [InputChargingSchedule!]!
|
|
43
51
|
): OK
|
|
44
52
|
setVehicleName(vehicleId: String!, name: String!): OK
|
|
53
|
+
skipNextScheduledDeparture(
|
|
54
|
+
vehicleId: String!
|
|
55
|
+
scheduleId: String!
|
|
56
|
+
skipDate: String!
|
|
57
|
+
): Success
|
|
58
|
+
updateDepartureSchedule(
|
|
59
|
+
vehicleId: String!
|
|
60
|
+
scheduleId: String!
|
|
61
|
+
schedule: InputDepartureSchedule!
|
|
62
|
+
): Success
|
|
45
63
|
}
|
|
46
64
|
|
|
47
65
|
type Subscription {
|
|
48
|
-
|
|
66
|
+
chargingSession(vehicleId: String!): ChargingSession!
|
|
67
|
+
otaInstallSchedules(vehicleId: String!): ParallaxMessageResponse!
|
|
68
|
+
otaInstallState(vehicleId: String!): ParallaxMessageResponse!
|
|
69
|
+
vehicleCloudConnection(id: String!): VehicleCloudConnection!
|
|
70
|
+
vehicleCommandState(id: String!): GetVehicleCommandState!
|
|
71
|
+
vehicleDepartureSchedules(vehicleId: String!): [DepartureSchedule!]!
|
|
72
|
+
vehicleGeofences(vehicleId: String!): ParallaxMessageResponse
|
|
73
|
+
vehicleState(id: String!): VehicleState!
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
enum DefogDefrostLevel {
|
|
77
|
+
Off
|
|
78
|
+
Defog
|
|
79
|
+
Defrost
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
enum SurfaceHeatVentLevel {
|
|
83
|
+
Off
|
|
84
|
+
Heat1
|
|
85
|
+
Heat2
|
|
86
|
+
Heat3
|
|
87
|
+
Vent1
|
|
88
|
+
Vent2
|
|
89
|
+
Vent3
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
enum WeekDay {
|
|
93
|
+
Monday
|
|
94
|
+
Tuesday
|
|
95
|
+
Wednesday
|
|
96
|
+
Thursday
|
|
97
|
+
Friday
|
|
98
|
+
Saturday
|
|
99
|
+
Sunday
|
|
49
100
|
}
|
|
50
101
|
|
|
51
102
|
input CoordinatesInput {
|
|
@@ -74,6 +125,38 @@ input InputChargingSchedule {
|
|
|
74
125
|
enabled: Boolean!
|
|
75
126
|
}
|
|
76
127
|
|
|
128
|
+
input InputComfortSettings {
|
|
129
|
+
surfaceHeatVentLevels: InputSurfaceHeatVentLevels!
|
|
130
|
+
cabinTempCelsius: Float!
|
|
131
|
+
frontDefogDefrost: DefogDefrostLevel!
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
input InputDepartureSchedule {
|
|
135
|
+
name: String!
|
|
136
|
+
isEnabled: Boolean!
|
|
137
|
+
repeatsWeekly: InputRepeatsWeekly!
|
|
138
|
+
departureSettings: InputDepartureSettings!
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
input InputDepartureSettings {
|
|
142
|
+
shouldOverrideChargeSchedule: Boolean!
|
|
143
|
+
comfortSettings: InputComfortSettings!
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
input InputRepeatsWeekly {
|
|
147
|
+
days: [WeekDay!]!
|
|
148
|
+
startsAtMin: Int!
|
|
149
|
+
skippedOn: [String!]!
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
input InputSurfaceHeatVentLevels {
|
|
153
|
+
frontLeftSeat: SurfaceHeatVentLevel!
|
|
154
|
+
frontRightSeat: SurfaceHeatVentLevel!
|
|
155
|
+
rearLeftSeat: SurfaceHeatVentLevel!
|
|
156
|
+
rearRightSeat: SurfaceHeatVentLevel!
|
|
157
|
+
steeringWheel: SurfaceHeatVentLevel!
|
|
158
|
+
}
|
|
159
|
+
|
|
77
160
|
input NetworkPreference {
|
|
78
161
|
networkId: String!
|
|
79
162
|
preference: Float
|
|
@@ -104,6 +187,27 @@ type CampSpeaker {
|
|
|
104
187
|
serialNumber: String!
|
|
105
188
|
}
|
|
106
189
|
|
|
190
|
+
type ChargingChartData {
|
|
191
|
+
soc: Float!
|
|
192
|
+
powerKW: Float!
|
|
193
|
+
startTime: Float!
|
|
194
|
+
endTime: Float!
|
|
195
|
+
timeEstimationValidityStatus: String!
|
|
196
|
+
vehicleChargerState: String!
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
type ChargingLiveData {
|
|
200
|
+
powerKW: Float!
|
|
201
|
+
kilometersChargedPerHour: Float!
|
|
202
|
+
rangeAddedThisSession: Float!
|
|
203
|
+
totalChargedEnergy: Float!
|
|
204
|
+
timeElapsed: Float
|
|
205
|
+
timeRemaining: Float
|
|
206
|
+
price: Float
|
|
207
|
+
currency: String
|
|
208
|
+
isFreeSession: Boolean
|
|
209
|
+
}
|
|
210
|
+
|
|
107
211
|
type ChargingSchedule {
|
|
108
212
|
startTime: Int!
|
|
109
213
|
duration: Int!
|
|
@@ -113,6 +217,17 @@ type ChargingSchedule {
|
|
|
113
217
|
weekDays: [String!]!
|
|
114
218
|
}
|
|
115
219
|
|
|
220
|
+
type ChargingSession {
|
|
221
|
+
chartData: [ChargingChartData!]!
|
|
222
|
+
liveData: ChargingLiveData!
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
type ComfortSettings {
|
|
226
|
+
surfaceHeatVentLevels: SurfaceHeatVentLevels!
|
|
227
|
+
cabinTempCelsius: Float!
|
|
228
|
+
frontDefogDefrost: DefogDefrostLevel!
|
|
229
|
+
}
|
|
230
|
+
|
|
116
231
|
type CreateCsrfTokenResponse {
|
|
117
232
|
csrfToken: String!
|
|
118
233
|
appSessionToken: String!
|
|
@@ -142,6 +257,19 @@ type DeliveryAppointment {
|
|
|
142
257
|
timeZone: String!
|
|
143
258
|
}
|
|
144
259
|
|
|
260
|
+
type DepartureSchedule {
|
|
261
|
+
id: String!
|
|
262
|
+
name: String!
|
|
263
|
+
isEnabled: Boolean!
|
|
264
|
+
occurrence: RepeatsWeekly!
|
|
265
|
+
departureSettings: DepartureSettings!
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
type DepartureSettings {
|
|
269
|
+
shouldOverrideChargeSchedule: Boolean!
|
|
270
|
+
comfortSettings: ComfortSettings!
|
|
271
|
+
}
|
|
272
|
+
|
|
145
273
|
type DisenrollPhoneResponse {
|
|
146
274
|
success: Boolean!
|
|
147
275
|
}
|
|
@@ -164,6 +292,10 @@ type GetVehicleCommandState {
|
|
|
164
292
|
statusCode: Int
|
|
165
293
|
}
|
|
166
294
|
|
|
295
|
+
type LogoutResponse {
|
|
296
|
+
success: Boolean!
|
|
297
|
+
}
|
|
298
|
+
|
|
167
299
|
type MobileLoginResponse {
|
|
168
300
|
accessToken: String!
|
|
169
301
|
refreshToken: String!
|
|
@@ -189,6 +321,11 @@ type OTAUpdateDetails {
|
|
|
189
321
|
locale: String!
|
|
190
322
|
}
|
|
191
323
|
|
|
324
|
+
type ParallaxMessageResponse {
|
|
325
|
+
payload: String! # base64 encoded??
|
|
326
|
+
sequenceNumber: Int!
|
|
327
|
+
}
|
|
328
|
+
|
|
192
329
|
type PlanTripResponse {
|
|
193
330
|
routes: [Route!]!
|
|
194
331
|
tripPlanStatus: String!
|
|
@@ -219,6 +356,16 @@ type RegistrationChannel {
|
|
|
219
356
|
type: String!
|
|
220
357
|
}
|
|
221
358
|
|
|
359
|
+
type RepeatsWeekly {
|
|
360
|
+
days: [WeekDay!]!
|
|
361
|
+
startsAtMin: Int!
|
|
362
|
+
skippedOn: [String!]!
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
type ResendOTPCodeResponse {
|
|
366
|
+
success: Boolean!
|
|
367
|
+
}
|
|
368
|
+
|
|
222
369
|
type Route {
|
|
223
370
|
routeResponse: String!
|
|
224
371
|
destinationReached: Boolean!
|
|
@@ -238,11 +385,23 @@ type SendVehicleCommandState {
|
|
|
238
385
|
state: Int!
|
|
239
386
|
}
|
|
240
387
|
|
|
388
|
+
type Success {
|
|
389
|
+
success: Boolean!
|
|
390
|
+
}
|
|
391
|
+
|
|
241
392
|
type SupportedFeature {
|
|
242
393
|
name: String!
|
|
243
394
|
status: String!
|
|
244
395
|
}
|
|
245
396
|
|
|
397
|
+
type SurfaceHeatVentLevels {
|
|
398
|
+
frontLeftSeat: SurfaceHeatVentLevel!
|
|
399
|
+
frontRightSeat: SurfaceHeatVentLevel!
|
|
400
|
+
rearLeftSeat: SurfaceHeatVentLevel!
|
|
401
|
+
rearRightSeat: SurfaceHeatVentLevel!
|
|
402
|
+
steeringWheel: SurfaceHeatVentLevel!
|
|
403
|
+
}
|
|
404
|
+
|
|
246
405
|
type TimeStampedFloat implements TimeStamped {
|
|
247
406
|
timeStamp: String!
|
|
248
407
|
value: Float!
|
|
@@ -366,13 +525,23 @@ type Vehicle {
|
|
|
366
525
|
}
|
|
367
526
|
|
|
368
527
|
type VehicleCloudConnection {
|
|
369
|
-
|
|
528
|
+
isOnline: Boolean!
|
|
529
|
+
lastSync: String
|
|
370
530
|
}
|
|
371
531
|
|
|
372
532
|
type VehicleLocation implements TimeStamped {
|
|
373
533
|
timeStamp: String!
|
|
374
534
|
latitude: Float!
|
|
375
535
|
longitude: Float!
|
|
536
|
+
isAuthorized: Boolean
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
type VehicleLocationError implements TimeStamped {
|
|
540
|
+
timeStamp: String!
|
|
541
|
+
bearing: Float!
|
|
542
|
+
positionHorizontal: Float!
|
|
543
|
+
positionVertical: Float!
|
|
544
|
+
speed: Float!
|
|
376
545
|
}
|
|
377
546
|
|
|
378
547
|
type VehicleMobileConfiguration {
|
|
@@ -409,6 +578,12 @@ type VehicleState {
|
|
|
409
578
|
|
|
410
579
|
brakeFluidLow: TimeStampedString
|
|
411
580
|
|
|
581
|
+
btmFfHardwareFailureStatus: TimeStampedString
|
|
582
|
+
btmIcHardwareFailureStatus: TimeStampedString
|
|
583
|
+
btmLfdHardwareFailureStatus: TimeStampedString
|
|
584
|
+
btmRfdHardwareFailureStatus: TimeStampedString
|
|
585
|
+
btmRfHardwareFailureStatus: TimeStampedString
|
|
586
|
+
|
|
412
587
|
cabinClimateDriverTemperature: TimeStampedFloat
|
|
413
588
|
cabinClimateInteriorTemperature: TimeStampedFloat
|
|
414
589
|
cabinPreconditioningStatus: TimeStampedString
|
|
@@ -416,9 +591,13 @@ type VehicleState {
|
|
|
416
591
|
|
|
417
592
|
carWashMode: TimeStampedString
|
|
418
593
|
|
|
594
|
+
chargePortState: TimeStampedString
|
|
419
595
|
chargerDerateStatus: TimeStampedString
|
|
420
596
|
chargerState: TimeStampedString
|
|
421
597
|
chargerStatus: TimeStampedString
|
|
598
|
+
chargingDisabledAC: TimeStampedInt
|
|
599
|
+
chargingDisabledAll: TimeStampedInt
|
|
600
|
+
chargingTimeEstimationValidity: TimeStampedString
|
|
422
601
|
|
|
423
602
|
closureFrunkClosed: TimeStampedString
|
|
424
603
|
closureFrunkLocked: TimeStampedString
|
|
@@ -464,9 +643,13 @@ type VehicleState {
|
|
|
464
643
|
|
|
465
644
|
gnssAltitude: TimeStampedNullableFloat
|
|
466
645
|
gnssBearing: TimeStampedFloat
|
|
646
|
+
gnssError: VehicleLocationError
|
|
467
647
|
gnssLocation: VehicleLocation
|
|
468
648
|
gnssSpeed: TimeStampedFloat
|
|
469
649
|
|
|
650
|
+
limitedAccelCold: TimeStampedInt
|
|
651
|
+
limitedRegenCold: TimeStampedInt
|
|
652
|
+
|
|
470
653
|
otaAvailableVersion: TimeStampedString
|
|
471
654
|
otaAvailableVersionGitHash: TimeStampedString
|
|
472
655
|
otaAvailableVersionNumber: TimeStampedInt
|
|
@@ -493,6 +676,8 @@ type VehicleState {
|
|
|
493
676
|
|
|
494
677
|
rangeThreshold: TimeStampedString
|
|
495
678
|
|
|
679
|
+
rearHitchStatus: TimeStampedString
|
|
680
|
+
|
|
496
681
|
remoteChargingAvailable: TimeStampedInt
|
|
497
682
|
|
|
498
683
|
seatFrontLeftHeat: TimeStampedString
|
|
@@ -510,6 +695,10 @@ type VehicleState {
|
|
|
510
695
|
|
|
511
696
|
timeToEndOfCharge: TimeStampedFloat
|
|
512
697
|
|
|
698
|
+
tirePressureFrontLeft: TimeStampedNullableFloat # only available via subscription
|
|
699
|
+
tirePressureFrontRight: TimeStampedNullableFloat # only available via subscription
|
|
700
|
+
tirePressureRearLeft: TimeStampedNullableFloat # only available via subscription
|
|
701
|
+
tirePressureRearRight: TimeStampedNullableFloat # only available via subscription
|
|
513
702
|
tirePressureStatusFrontLeft: TimeStampedString
|
|
514
703
|
tirePressureStatusFrontRight: TimeStampedString
|
|
515
704
|
tirePressureStatusRearLeft: TimeStampedString
|
|
@@ -90,7 +90,7 @@ def get_message_signature(secret_key: bytes, message: bytes) -> str:
|
|
|
90
90
|
|
|
91
91
|
|
|
92
92
|
def get_secret_key(private_key_str: str, public_key_str: str) -> bytes:
|
|
93
|
-
"""Get HKDF derived
|
|
93
|
+
"""Get HKDF derived secret key from private/public key pair."""
|
|
94
94
|
private_key = decode_private_key(private_key_str)
|
|
95
95
|
public_key = decode_public_key(public_key_str)
|
|
96
96
|
secret = private_key.exchange(ec.ECDH(), public_key)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rivian_python_client-1.1.1 → rivian_python_client-1.1.3}/src/rivian/schemas/charging.graphql
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|