arre99 commited on
Commit
28cd974
·
1 Parent(s): 026ce38

refactored notebooks inside utils

Browse files
openf1_api_playground.ipynb DELETED
The diff for this file is too large to render. See raw diff
 
api_playground.ipynb → utils/notebooks/api_playground.ipynb RENAMED
@@ -2,7 +2,7 @@
2
  "cells": [
3
  {
4
  "cell_type": "code",
5
- "execution_count": 1,
6
  "id": "b7d2515e",
7
  "metadata": {},
8
  "outputs": [
@@ -16,12 +16,7 @@
16
  ],
17
  "source": [
18
  "import fastf1\n",
19
- "import pandas as pd\n",
20
- "from urllib.request import urlopen\n",
21
- "from pprint import pprint\n",
22
- "from utils.parser_utils import parse_event_info, parse_season_calendar\n",
23
- "import json\n",
24
- "print(\"Successfully loaded in libraries\")"
25
  ]
26
  },
27
  {
@@ -34,7 +29,7 @@
34
  },
35
  {
36
  "cell_type": "code",
37
- "execution_count": 7,
38
  "id": "2a205292",
39
  "metadata": {},
40
  "outputs": [
@@ -42,6 +37,7 @@
42
  "name": "stderr",
43
  "output_type": "stream",
44
  "text": [
 
45
  "core INFO \tLoading data for Australian Grand Prix - Race [v3.5.3]\n",
46
  "req INFO \tUsing cached data for session_info\n",
47
  "req INFO \tUsing cached data for driver_info\n",
@@ -97,7 +93,7 @@
97
  },
98
  {
99
  "cell_type": "code",
100
- "execution_count": 5,
101
  "id": "44f7516f",
102
  "metadata": {},
103
  "outputs": [
@@ -146,17 +142,10 @@
146
  },
147
  {
148
  "cell_type": "code",
149
- "execution_count": 2,
150
  "id": "62bf0598",
151
  "metadata": {},
152
  "outputs": [
153
- {
154
- "name": "stderr",
155
- "output_type": "stream",
156
- "text": [
157
- "req WARNING \tDEFAULT CACHE ENABLED! (941.49 MB) /home/arre/.cache/fastf1\n"
158
- ]
159
- },
160
  {
161
  "name": "stdout",
162
  "output_type": "stream",
@@ -288,7 +277,7 @@
288
  },
289
  {
290
  "cell_type": "code",
291
- "execution_count": 14,
292
  "id": "bd15c64a",
293
  "metadata": {},
294
  "outputs": [
@@ -318,7 +307,7 @@
318
  },
319
  {
320
  "cell_type": "code",
321
- "execution_count": 16,
322
  "id": "352270a0",
323
  "metadata": {},
324
  "outputs": [
 
2
  "cells": [
3
  {
4
  "cell_type": "code",
5
+ "execution_count": null,
6
  "id": "b7d2515e",
7
  "metadata": {},
8
  "outputs": [
 
16
  ],
17
  "source": [
18
  "import fastf1\n",
19
+ "from pprint import pprint"
 
 
 
 
 
20
  ]
21
  },
22
  {
 
29
  },
30
  {
31
  "cell_type": "code",
32
+ "execution_count": 2,
33
  "id": "2a205292",
34
  "metadata": {},
35
  "outputs": [
 
37
  "name": "stderr",
38
  "output_type": "stream",
39
  "text": [
40
+ "req WARNING \tDEFAULT CACHE ENABLED! (942.29 MB) /home/arre/.cache/fastf1\n",
41
  "core INFO \tLoading data for Australian Grand Prix - Race [v3.5.3]\n",
42
  "req INFO \tUsing cached data for session_info\n",
43
  "req INFO \tUsing cached data for driver_info\n",
 
93
  },
94
  {
95
  "cell_type": "code",
96
+ "execution_count": 3,
97
  "id": "44f7516f",
98
  "metadata": {},
99
  "outputs": [
 
142
  },
143
  {
144
  "cell_type": "code",
145
+ "execution_count": 4,
146
  "id": "62bf0598",
147
  "metadata": {},
148
  "outputs": [
 
 
 
 
 
 
 
149
  {
150
  "name": "stdout",
151
  "output_type": "stream",
 
277
  },
278
  {
279
  "cell_type": "code",
280
+ "execution_count": 5,
281
  "id": "bd15c64a",
282
  "metadata": {},
283
  "outputs": [
 
307
  },
308
  {
309
  "cell_type": "code",
310
+ "execution_count": 6,
311
  "id": "352270a0",
312
  "metadata": {},
313
  "outputs": [
utils/notebooks/openf1_api_playground.ipynb ADDED
@@ -0,0 +1,1934 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 1,
6
+ "id": "b7d2515e",
7
+ "metadata": {},
8
+ "outputs": [],
9
+ "source": [
10
+ "import json\n",
11
+ "import pandas as pd\n",
12
+ "from pprint import pprint\n",
13
+ "from datetime import datetime\n",
14
+ "from urllib.request import urlopen"
15
+ ]
16
+ },
17
+ {
18
+ "cell_type": "code",
19
+ "execution_count": 2,
20
+ "id": "f7e75102",
21
+ "metadata": {},
22
+ "outputs": [],
23
+ "source": [
24
+ "spain_race_time = \"2025-06-08T15:00:00Z\" # june 1 2025 15:00\n",
25
+ "spain_qualy_time = \"2025-06-07T15:00:00Z\" # may 31 2025 16:00\n",
26
+ "now = datetime.now()"
27
+ ]
28
+ },
29
+ {
30
+ "cell_type": "code",
31
+ "execution_count": 3,
32
+ "id": "b5d31092",
33
+ "metadata": {},
34
+ "outputs": [],
35
+ "source": [
36
+ "def make_request(api_action_string: str, debug: bool = False):\n",
37
+ " try: \n",
38
+ " response = urlopen(f\"https://api.openf1.org/v1/{api_action_string}\")\n",
39
+ " data = json.loads(response.read().decode('utf-8'))\n",
40
+ " if debug: pprint(data)\n",
41
+ " return data\n",
42
+ " except Exception as e:\n",
43
+ " print(f\"Error: {e}\")"
44
+ ]
45
+ },
46
+ {
47
+ "cell_type": "markdown",
48
+ "id": "feddd27c",
49
+ "metadata": {},
50
+ "source": [
51
+ "### Car data"
52
+ ]
53
+ },
54
+ {
55
+ "cell_type": "code",
56
+ "execution_count": 4,
57
+ "id": "599aeec3",
58
+ "metadata": {},
59
+ "outputs": [
60
+ {
61
+ "name": "stdout",
62
+ "output_type": "stream",
63
+ "text": [
64
+ "[{'brake': 0,\n",
65
+ " 'date': '2023-09-15T13:03:57.442000+00:00',\n",
66
+ " 'driver_number': 55,\n",
67
+ " 'drs': 12,\n",
68
+ " 'meeting_key': 1219,\n",
69
+ " 'n_gear': 8,\n",
70
+ " 'rpm': 11004,\n",
71
+ " 'session_key': 9159,\n",
72
+ " 'speed': 311,\n",
73
+ " 'throttle': 99},\n",
74
+ " {'brake': 0,\n",
75
+ " 'date': '2023-09-15T13:03:57.682000+00:00',\n",
76
+ " 'driver_number': 55,\n",
77
+ " 'drs': 12,\n",
78
+ " 'meeting_key': 1219,\n",
79
+ " 'n_gear': 8,\n",
80
+ " 'rpm': 10994,\n",
81
+ " 'session_key': 9159,\n",
82
+ " 'speed': 312,\n",
83
+ " 'throttle': 99},\n",
84
+ " {'brake': 0,\n",
85
+ " 'date': '2023-09-15T13:08:19.523000+00:00',\n",
86
+ " 'driver_number': 55,\n",
87
+ " 'drs': 12,\n",
88
+ " 'meeting_key': 1219,\n",
89
+ " 'n_gear': 8,\n",
90
+ " 'rpm': 11117,\n",
91
+ " 'session_key': 9159,\n",
92
+ " 'speed': 313,\n",
93
+ " 'throttle': 99},\n",
94
+ " {'brake': 0,\n",
95
+ " 'date': '2023-09-15T13:08:19.923000+00:00',\n",
96
+ " 'driver_number': 55,\n",
97
+ " 'drs': 12,\n",
98
+ " 'meeting_key': 1219,\n",
99
+ " 'n_gear': 8,\n",
100
+ " 'rpm': 11141,\n",
101
+ " 'session_key': 9159,\n",
102
+ " 'speed': 315,\n",
103
+ " 'throttle': 99},\n",
104
+ " {'brake': 0,\n",
105
+ " 'date': '2023-09-15T13:12:55.564000+00:00',\n",
106
+ " 'driver_number': 55,\n",
107
+ " 'drs': 12,\n",
108
+ " 'meeting_key': 1219,\n",
109
+ " 'n_gear': 8,\n",
110
+ " 'rpm': 11108,\n",
111
+ " 'session_key': 9159,\n",
112
+ " 'speed': 313,\n",
113
+ " 'throttle': 99},\n",
114
+ " {'brake': 0,\n",
115
+ " 'date': '2023-09-15T13:12:55.844000+00:00',\n",
116
+ " 'driver_number': 55,\n",
117
+ " 'drs': 12,\n",
118
+ " 'meeting_key': 1219,\n",
119
+ " 'n_gear': 8,\n",
120
+ " 'rpm': 10964,\n",
121
+ " 'session_key': 9159,\n",
122
+ " 'speed': 313,\n",
123
+ " 'throttle': 99},\n",
124
+ " {'brake': 0,\n",
125
+ " 'date': '2023-09-15T13:26:16.967000+00:00',\n",
126
+ " 'driver_number': 55,\n",
127
+ " 'drs': 12,\n",
128
+ " 'meeting_key': 1219,\n",
129
+ " 'n_gear': 8,\n",
130
+ " 'rpm': 11035,\n",
131
+ " 'session_key': 9159,\n",
132
+ " 'speed': 311,\n",
133
+ " 'throttle': 99},\n",
134
+ " {'brake': 0,\n",
135
+ " 'date': '2023-09-15T13:26:17.287000+00:00',\n",
136
+ " 'driver_number': 55,\n",
137
+ " 'drs': 12,\n",
138
+ " 'meeting_key': 1219,\n",
139
+ " 'n_gear': 8,\n",
140
+ " 'rpm': 11143,\n",
141
+ " 'session_key': 9159,\n",
142
+ " 'speed': 312,\n",
143
+ " 'throttle': 99},\n",
144
+ " {'brake': 0,\n",
145
+ " 'date': '2023-09-15T13:26:17.447000+00:00',\n",
146
+ " 'driver_number': 55,\n",
147
+ " 'drs': 12,\n",
148
+ " 'meeting_key': 1219,\n",
149
+ " 'n_gear': 8,\n",
150
+ " 'rpm': 11148,\n",
151
+ " 'session_key': 9159,\n",
152
+ " 'speed': 313,\n",
153
+ " 'throttle': 99},\n",
154
+ " {'brake': 0,\n",
155
+ " 'date': '2023-09-15T13:26:17.727000+00:00',\n",
156
+ " 'driver_number': 55,\n",
157
+ " 'drs': 12,\n",
158
+ " 'meeting_key': 1219,\n",
159
+ " 'n_gear': 8,\n",
160
+ " 'rpm': 11045,\n",
161
+ " 'session_key': 9159,\n",
162
+ " 'speed': 314,\n",
163
+ " 'throttle': 99},\n",
164
+ " {'brake': 100,\n",
165
+ " 'date': '2023-09-15T13:26:18.007000+00:00',\n",
166
+ " 'driver_number': 55,\n",
167
+ " 'drs': 8,\n",
168
+ " 'meeting_key': 1219,\n",
169
+ " 'n_gear': 8,\n",
170
+ " 'rpm': 10474,\n",
171
+ " 'session_key': 9159,\n",
172
+ " 'speed': 312,\n",
173
+ " 'throttle': 29},\n",
174
+ " {'brake': 0,\n",
175
+ " 'date': '2023-09-15T13:35:40.848000+00:00',\n",
176
+ " 'driver_number': 55,\n",
177
+ " 'drs': 12,\n",
178
+ " 'meeting_key': 1219,\n",
179
+ " 'n_gear': 8,\n",
180
+ " 'rpm': 11051,\n",
181
+ " 'session_key': 9159,\n",
182
+ " 'speed': 312,\n",
183
+ " 'throttle': 99},\n",
184
+ " {'brake': 0,\n",
185
+ " 'date': '2023-09-15T13:35:41.128000+00:00',\n",
186
+ " 'driver_number': 55,\n",
187
+ " 'drs': 12,\n",
188
+ " 'meeting_key': 1219,\n",
189
+ " 'n_gear': 8,\n",
190
+ " 'rpm': 11132,\n",
191
+ " 'session_key': 9159,\n",
192
+ " 'speed': 313,\n",
193
+ " 'throttle': 99},\n",
194
+ " {'brake': 0,\n",
195
+ " 'date': '2023-09-15T13:35:41.408000+00:00',\n",
196
+ " 'driver_number': 55,\n",
197
+ " 'drs': 12,\n",
198
+ " 'meeting_key': 1219,\n",
199
+ " 'n_gear': 8,\n",
200
+ " 'rpm': 11195,\n",
201
+ " 'session_key': 9159,\n",
202
+ " 'speed': 314,\n",
203
+ " 'throttle': 99},\n",
204
+ " {'brake': 100,\n",
205
+ " 'date': '2023-09-15T13:35:41.808000+00:00',\n",
206
+ " 'driver_number': 55,\n",
207
+ " 'drs': 8,\n",
208
+ " 'meeting_key': 1219,\n",
209
+ " 'n_gear': 8,\n",
210
+ " 'rpm': 11023,\n",
211
+ " 'session_key': 9159,\n",
212
+ " 'speed': 315,\n",
213
+ " 'throttle': 57}]\n"
214
+ ]
215
+ },
216
+ {
217
+ "data": {
218
+ "text/plain": [
219
+ "[{'date': '2023-09-15T13:03:57.442000+00:00',\n",
220
+ " 'session_key': 9159,\n",
221
+ " 'meeting_key': 1219,\n",
222
+ " 'driver_number': 55,\n",
223
+ " 'speed': 311,\n",
224
+ " 'n_gear': 8,\n",
225
+ " 'drs': 12,\n",
226
+ " 'throttle': 99,\n",
227
+ " 'brake': 0,\n",
228
+ " 'rpm': 11004},\n",
229
+ " {'date': '2023-09-15T13:03:57.682000+00:00',\n",
230
+ " 'session_key': 9159,\n",
231
+ " 'meeting_key': 1219,\n",
232
+ " 'driver_number': 55,\n",
233
+ " 'speed': 312,\n",
234
+ " 'n_gear': 8,\n",
235
+ " 'drs': 12,\n",
236
+ " 'throttle': 99,\n",
237
+ " 'brake': 0,\n",
238
+ " 'rpm': 10994},\n",
239
+ " {'date': '2023-09-15T13:08:19.523000+00:00',\n",
240
+ " 'session_key': 9159,\n",
241
+ " 'meeting_key': 1219,\n",
242
+ " 'driver_number': 55,\n",
243
+ " 'n_gear': 8,\n",
244
+ " 'speed': 313,\n",
245
+ " 'drs': 12,\n",
246
+ " 'throttle': 99,\n",
247
+ " 'brake': 0,\n",
248
+ " 'rpm': 11117},\n",
249
+ " {'date': '2023-09-15T13:08:19.923000+00:00',\n",
250
+ " 'session_key': 9159,\n",
251
+ " 'meeting_key': 1219,\n",
252
+ " 'driver_number': 55,\n",
253
+ " 'n_gear': 8,\n",
254
+ " 'speed': 315,\n",
255
+ " 'drs': 12,\n",
256
+ " 'throttle': 99,\n",
257
+ " 'brake': 0,\n",
258
+ " 'rpm': 11141},\n",
259
+ " {'date': '2023-09-15T13:12:55.564000+00:00',\n",
260
+ " 'session_key': 9159,\n",
261
+ " 'meeting_key': 1219,\n",
262
+ " 'driver_number': 55,\n",
263
+ " 'n_gear': 8,\n",
264
+ " 'speed': 313,\n",
265
+ " 'drs': 12,\n",
266
+ " 'throttle': 99,\n",
267
+ " 'brake': 0,\n",
268
+ " 'rpm': 11108},\n",
269
+ " {'date': '2023-09-15T13:12:55.844000+00:00',\n",
270
+ " 'session_key': 9159,\n",
271
+ " 'meeting_key': 1219,\n",
272
+ " 'driver_number': 55,\n",
273
+ " 'n_gear': 8,\n",
274
+ " 'speed': 313,\n",
275
+ " 'drs': 12,\n",
276
+ " 'throttle': 99,\n",
277
+ " 'brake': 0,\n",
278
+ " 'rpm': 10964},\n",
279
+ " {'date': '2023-09-15T13:26:16.967000+00:00',\n",
280
+ " 'session_key': 9159,\n",
281
+ " 'meeting_key': 1219,\n",
282
+ " 'driver_number': 55,\n",
283
+ " 'n_gear': 8,\n",
284
+ " 'speed': 311,\n",
285
+ " 'drs': 12,\n",
286
+ " 'throttle': 99,\n",
287
+ " 'brake': 0,\n",
288
+ " 'rpm': 11035},\n",
289
+ " {'date': '2023-09-15T13:26:17.287000+00:00',\n",
290
+ " 'session_key': 9159,\n",
291
+ " 'meeting_key': 1219,\n",
292
+ " 'driver_number': 55,\n",
293
+ " 'n_gear': 8,\n",
294
+ " 'speed': 312,\n",
295
+ " 'drs': 12,\n",
296
+ " 'throttle': 99,\n",
297
+ " 'brake': 0,\n",
298
+ " 'rpm': 11143},\n",
299
+ " {'date': '2023-09-15T13:26:17.447000+00:00',\n",
300
+ " 'session_key': 9159,\n",
301
+ " 'meeting_key': 1219,\n",
302
+ " 'driver_number': 55,\n",
303
+ " 'n_gear': 8,\n",
304
+ " 'speed': 313,\n",
305
+ " 'drs': 12,\n",
306
+ " 'throttle': 99,\n",
307
+ " 'brake': 0,\n",
308
+ " 'rpm': 11148},\n",
309
+ " {'date': '2023-09-15T13:26:17.727000+00:00',\n",
310
+ " 'session_key': 9159,\n",
311
+ " 'meeting_key': 1219,\n",
312
+ " 'driver_number': 55,\n",
313
+ " 'n_gear': 8,\n",
314
+ " 'speed': 314,\n",
315
+ " 'drs': 12,\n",
316
+ " 'throttle': 99,\n",
317
+ " 'brake': 0,\n",
318
+ " 'rpm': 11045},\n",
319
+ " {'date': '2023-09-15T13:26:18.007000+00:00',\n",
320
+ " 'session_key': 9159,\n",
321
+ " 'meeting_key': 1219,\n",
322
+ " 'driver_number': 55,\n",
323
+ " 'n_gear': 8,\n",
324
+ " 'speed': 312,\n",
325
+ " 'drs': 8,\n",
326
+ " 'throttle': 29,\n",
327
+ " 'brake': 100,\n",
328
+ " 'rpm': 10474},\n",
329
+ " {'date': '2023-09-15T13:35:40.848000+00:00',\n",
330
+ " 'session_key': 9159,\n",
331
+ " 'speed': 312,\n",
332
+ " 'n_gear': 8,\n",
333
+ " 'meeting_key': 1219,\n",
334
+ " 'driver_number': 55,\n",
335
+ " 'drs': 12,\n",
336
+ " 'throttle': 99,\n",
337
+ " 'brake': 0,\n",
338
+ " 'rpm': 11051},\n",
339
+ " {'date': '2023-09-15T13:35:41.128000+00:00',\n",
340
+ " 'session_key': 9159,\n",
341
+ " 'speed': 313,\n",
342
+ " 'n_gear': 8,\n",
343
+ " 'meeting_key': 1219,\n",
344
+ " 'driver_number': 55,\n",
345
+ " 'drs': 12,\n",
346
+ " 'throttle': 99,\n",
347
+ " 'brake': 0,\n",
348
+ " 'rpm': 11132},\n",
349
+ " {'date': '2023-09-15T13:35:41.408000+00:00',\n",
350
+ " 'session_key': 9159,\n",
351
+ " 'speed': 314,\n",
352
+ " 'n_gear': 8,\n",
353
+ " 'meeting_key': 1219,\n",
354
+ " 'driver_number': 55,\n",
355
+ " 'drs': 12,\n",
356
+ " 'throttle': 99,\n",
357
+ " 'brake': 0,\n",
358
+ " 'rpm': 11195},\n",
359
+ " {'date': '2023-09-15T13:35:41.808000+00:00',\n",
360
+ " 'session_key': 9159,\n",
361
+ " 'speed': 315,\n",
362
+ " 'n_gear': 8,\n",
363
+ " 'meeting_key': 1219,\n",
364
+ " 'driver_number': 55,\n",
365
+ " 'drs': 8,\n",
366
+ " 'throttle': 57,\n",
367
+ " 'brake': 100,\n",
368
+ " 'rpm': 11023}]"
369
+ ]
370
+ },
371
+ "execution_count": 4,
372
+ "metadata": {},
373
+ "output_type": "execute_result"
374
+ }
375
+ ],
376
+ "source": [
377
+ "# Respone object for OpenF1\n",
378
+ "example_request = \"car_data?driver_number=55&session_key=9159&speed>310\"\n",
379
+ "make_request(example_request, debug=True)"
380
+ ]
381
+ },
382
+ {
383
+ "cell_type": "markdown",
384
+ "id": "7157f69e",
385
+ "metadata": {},
386
+ "source": [
387
+ "### Driver data\n"
388
+ ]
389
+ },
390
+ {
391
+ "cell_type": "code",
392
+ "execution_count": 5,
393
+ "id": "5a8ba8cd",
394
+ "metadata": {},
395
+ "outputs": [
396
+ {
397
+ "name": "stdout",
398
+ "output_type": "stream",
399
+ "text": [
400
+ "[{'broadcast_name': 'M VERSTAPPEN',\n",
401
+ " 'country_code': 'NED',\n",
402
+ " 'driver_number': 1,\n",
403
+ " 'first_name': 'Max',\n",
404
+ " 'full_name': 'Max VERSTAPPEN',\n",
405
+ " 'headshot_url': 'https://www.formula1.com/content/dam/fom-website/drivers/M/MAXVER01_Max_Verstappen/maxver01.png.transform/1col/image.png',\n",
406
+ " 'last_name': 'Verstappen',\n",
407
+ " 'meeting_key': 1219,\n",
408
+ " 'name_acronym': 'VER',\n",
409
+ " 'session_key': 9158,\n",
410
+ " 'team_colour': '3671C6',\n",
411
+ " 'team_name': 'Red Bull Racing'}]\n"
412
+ ]
413
+ },
414
+ {
415
+ "data": {
416
+ "text/plain": [
417
+ "[{'meeting_key': 1219,\n",
418
+ " 'session_key': 9158,\n",
419
+ " 'driver_number': 1,\n",
420
+ " 'broadcast_name': 'M VERSTAPPEN',\n",
421
+ " 'full_name': 'Max VERSTAPPEN',\n",
422
+ " 'name_acronym': 'VER',\n",
423
+ " 'team_name': 'Red Bull Racing',\n",
424
+ " 'team_colour': '3671C6',\n",
425
+ " 'first_name': 'Max',\n",
426
+ " 'last_name': 'Verstappen',\n",
427
+ " 'headshot_url': 'https://www.formula1.com/content/dam/fom-website/drivers/M/MAXVER01_Max_Verstappen/maxver01.png.transform/1col/image.png',\n",
428
+ " 'country_code': 'NED'}]"
429
+ ]
430
+ },
431
+ "execution_count": 5,
432
+ "metadata": {},
433
+ "output_type": "execute_result"
434
+ }
435
+ ],
436
+ "source": [
437
+ "example_request = \"drivers?driver_number=1&session_key=9158\"\n",
438
+ "make_request(example_request, debug=True)"
439
+ ]
440
+ },
441
+ {
442
+ "cell_type": "markdown",
443
+ "id": "b664ad0e",
444
+ "metadata": {},
445
+ "source": [
446
+ "### Intervals"
447
+ ]
448
+ },
449
+ {
450
+ "cell_type": "code",
451
+ "execution_count": 6,
452
+ "id": "67245998",
453
+ "metadata": {},
454
+ "outputs": [
455
+ {
456
+ "name": "stdout",
457
+ "output_type": "stream",
458
+ "text": [
459
+ "intervals?session_key=latest&interval<0.005\n",
460
+ "[{'date': '2025-06-01T12:04:07.327000+00:00',\n",
461
+ " 'driver_number': 81,\n",
462
+ " 'gap_to_leader': 0.0,\n",
463
+ " 'interval': 0.0,\n",
464
+ " 'meeting_key': 1262,\n",
465
+ " 'session_key': 9971},\n",
466
+ " {'date': '2025-06-01T12:05:25.528000+00:00',\n",
467
+ " 'driver_number': 81,\n",
468
+ " 'gap_to_leader': 0.0,\n",
469
+ " 'interval': 0.0,\n",
470
+ " 'meeting_key': 1262,\n",
471
+ " 'session_key': 9971},\n",
472
+ " {'date': '2025-06-01T12:05:25.539000+00:00',\n",
473
+ " 'driver_number': 81,\n",
474
+ " 'gap_to_leader': 0.0,\n",
475
+ " 'interval': 0.0,\n",
476
+ " 'meeting_key': 1262,\n",
477
+ " 'session_key': 9971},\n",
478
+ " {'date': '2025-06-01T13:03:27.979000+00:00',\n",
479
+ " 'driver_number': 4,\n",
480
+ " 'gap_to_leader': 0.34,\n",
481
+ " 'interval': 0.004,\n",
482
+ " 'meeting_key': 1262,\n",
483
+ " 'session_key': 9971},\n",
484
+ " {'date': '2025-06-01T13:03:31.917000+00:00',\n",
485
+ " 'driver_number': 10,\n",
486
+ " 'gap_to_leader': 1.043,\n",
487
+ " 'interval': 0.004,\n",
488
+ " 'meeting_key': 1262,\n",
489
+ " 'session_key': 9971},\n",
490
+ " {'date': '2025-06-01T13:04:40.703000+00:00',\n",
491
+ " 'driver_number': 81,\n",
492
+ " 'gap_to_leader': 0.0,\n",
493
+ " 'interval': 0.0,\n",
494
+ " 'meeting_key': 1262,\n",
495
+ " 'session_key': 9971},\n",
496
+ " {'date': '2025-06-01T13:06:01+00:00',\n",
497
+ " 'driver_number': 81,\n",
498
+ " 'gap_to_leader': 0.0,\n",
499
+ " 'interval': 0.0,\n",
500
+ " 'meeting_key': 1262,\n",
501
+ " 'session_key': 9971},\n",
502
+ " {'date': '2025-06-01T13:07:20.859000+00:00',\n",
503
+ " 'driver_number': 81,\n",
504
+ " 'gap_to_leader': 0.0,\n",
505
+ " 'interval': 0.0,\n",
506
+ " 'meeting_key': 1262,\n",
507
+ " 'session_key': 9971},\n",
508
+ " {'date': '2025-06-01T13:08:41.153000+00:00',\n",
509
+ " 'driver_number': 81,\n",
510
+ " 'gap_to_leader': 0.0,\n",
511
+ " 'interval': 0.0,\n",
512
+ " 'meeting_key': 1262,\n",
513
+ " 'session_key': 9971},\n",
514
+ " {'date': '2025-06-01T13:10:01.626000+00:00',\n",
515
+ " 'driver_number': 81,\n",
516
+ " 'gap_to_leader': 0.0,\n",
517
+ " 'interval': 0.0,\n",
518
+ " 'meeting_key': 1262,\n",
519
+ " 'session_key': 9971},\n",
520
+ " {'date': '2025-06-01T13:11:21.898000+00:00',\n",
521
+ " 'driver_number': 81,\n",
522
+ " 'gap_to_leader': 0.0,\n",
523
+ " 'interval': 0.0,\n",
524
+ " 'meeting_key': 1262,\n",
525
+ " 'session_key': 9971},\n",
526
+ " {'date': '2025-06-01T13:12:42.802000+00:00',\n",
527
+ " 'driver_number': 81,\n",
528
+ " 'gap_to_leader': 0.0,\n",
529
+ " 'interval': 0.0,\n",
530
+ " 'meeting_key': 1262,\n",
531
+ " 'session_key': 9971},\n",
532
+ " {'date': '2025-06-01T13:14:03.628000+00:00',\n",
533
+ " 'driver_number': 81,\n",
534
+ " 'gap_to_leader': 0.0,\n",
535
+ " 'interval': 0.0,\n",
536
+ " 'meeting_key': 1262,\n",
537
+ " 'session_key': 9971},\n",
538
+ " {'date': '2025-06-01T13:15:24.372000+00:00',\n",
539
+ " 'driver_number': 81,\n",
540
+ " 'gap_to_leader': 0.0,\n",
541
+ " 'interval': 0.0,\n",
542
+ " 'meeting_key': 1262,\n",
543
+ " 'session_key': 9971},\n",
544
+ " {'date': '2025-06-01T13:16:45.279000+00:00',\n",
545
+ " 'driver_number': 81,\n",
546
+ " 'gap_to_leader': 0.0,\n",
547
+ " 'interval': 0.0,\n",
548
+ " 'meeting_key': 1262,\n",
549
+ " 'session_key': 9971},\n",
550
+ " {'date': '2025-06-01T13:18:06.420000+00:00',\n",
551
+ " 'driver_number': 81,\n",
552
+ " 'gap_to_leader': 0.0,\n",
553
+ " 'interval': 0.0,\n",
554
+ " 'meeting_key': 1262,\n",
555
+ " 'session_key': 9971},\n",
556
+ " {'date': '2025-06-01T13:19:27.719000+00:00',\n",
557
+ " 'driver_number': 81,\n",
558
+ " 'gap_to_leader': 0.0,\n",
559
+ " 'interval': 0.0,\n",
560
+ " 'meeting_key': 1262,\n",
561
+ " 'session_key': 9971},\n",
562
+ " {'date': '2025-06-01T13:20:48.608000+00:00',\n",
563
+ " 'driver_number': 81,\n",
564
+ " 'gap_to_leader': 0.0,\n",
565
+ " 'interval': 0.0,\n",
566
+ " 'meeting_key': 1262,\n",
567
+ " 'session_key': 9971},\n",
568
+ " {'date': '2025-06-01T13:22:09.348000+00:00',\n",
569
+ " 'driver_number': 81,\n",
570
+ " 'gap_to_leader': 0.0,\n",
571
+ " 'interval': 0.0,\n",
572
+ " 'meeting_key': 1262,\n",
573
+ " 'session_key': 9971},\n",
574
+ " {'date': '2025-06-01T13:23:30.135000+00:00',\n",
575
+ " 'driver_number': 81,\n",
576
+ " 'gap_to_leader': 0.0,\n",
577
+ " 'interval': 0.0,\n",
578
+ " 'meeting_key': 1262,\n",
579
+ " 'session_key': 9971},\n",
580
+ " {'date': '2025-06-01T13:24:50.804000+00:00',\n",
581
+ " 'driver_number': 81,\n",
582
+ " 'gap_to_leader': 0.0,\n",
583
+ " 'interval': 0.0,\n",
584
+ " 'meeting_key': 1262,\n",
585
+ " 'session_key': 9971},\n",
586
+ " {'date': '2025-06-01T13:26:11.484000+00:00',\n",
587
+ " 'driver_number': 81,\n",
588
+ " 'gap_to_leader': 0.0,\n",
589
+ " 'interval': 0.0,\n",
590
+ " 'meeting_key': 1262,\n",
591
+ " 'session_key': 9971},\n",
592
+ " {'date': '2025-06-01T13:27:32.240000+00:00',\n",
593
+ " 'driver_number': 81,\n",
594
+ " 'gap_to_leader': 0.0,\n",
595
+ " 'interval': 0.0,\n",
596
+ " 'meeting_key': 1262,\n",
597
+ " 'session_key': 9971},\n",
598
+ " {'date': '2025-06-01T13:28:52.995000+00:00',\n",
599
+ " 'driver_number': 81,\n",
600
+ " 'gap_to_leader': 0.0,\n",
601
+ " 'interval': 0.0,\n",
602
+ " 'meeting_key': 1262,\n",
603
+ " 'session_key': 9971},\n",
604
+ " {'date': '2025-06-01T13:30:14.330000+00:00',\n",
605
+ " 'driver_number': 81,\n",
606
+ " 'gap_to_leader': 0.0,\n",
607
+ " 'interval': 0.0,\n",
608
+ " 'meeting_key': 1262,\n",
609
+ " 'session_key': 9971},\n",
610
+ " {'date': '2025-06-01T13:31:35.591000+00:00',\n",
611
+ " 'driver_number': 81,\n",
612
+ " 'gap_to_leader': 0.0,\n",
613
+ " 'interval': 0.0,\n",
614
+ " 'meeting_key': 1262,\n",
615
+ " 'session_key': 9971},\n",
616
+ " {'date': '2025-06-01T13:33:00.798000+00:00',\n",
617
+ " 'driver_number': 81,\n",
618
+ " 'gap_to_leader': 0.0,\n",
619
+ " 'interval': 0.0,\n",
620
+ " 'meeting_key': 1262,\n",
621
+ " 'session_key': 9971},\n",
622
+ " {'date': '2025-06-01T13:33:17.259000+00:00',\n",
623
+ " 'driver_number': 1,\n",
624
+ " 'gap_to_leader': 0.0,\n",
625
+ " 'interval': 0.0,\n",
626
+ " 'meeting_key': 1262,\n",
627
+ " 'session_key': 9971},\n",
628
+ " {'date': '2025-06-01T13:34:33.803000+00:00',\n",
629
+ " 'driver_number': 1,\n",
630
+ " 'gap_to_leader': 0.0,\n",
631
+ " 'interval': 0.0,\n",
632
+ " 'meeting_key': 1262,\n",
633
+ " 'session_key': 9971},\n",
634
+ " {'date': '2025-06-01T13:35:53.743000+00:00',\n",
635
+ " 'driver_number': 1,\n",
636
+ " 'gap_to_leader': 0.0,\n",
637
+ " 'interval': 0.0,\n",
638
+ " 'meeting_key': 1262,\n",
639
+ " 'session_key': 9971},\n",
640
+ " {'date': '2025-06-01T13:37:13.905000+00:00',\n",
641
+ " 'driver_number': 1,\n",
642
+ " 'gap_to_leader': 0.0,\n",
643
+ " 'interval': 0.0,\n",
644
+ " 'meeting_key': 1262,\n",
645
+ " 'session_key': 9971},\n",
646
+ " {'date': '2025-06-01T13:38:34.259000+00:00',\n",
647
+ " 'driver_number': 1,\n",
648
+ " 'gap_to_leader': 0.0,\n",
649
+ " 'interval': 0.0,\n",
650
+ " 'meeting_key': 1262,\n",
651
+ " 'session_key': 9971},\n",
652
+ " {'date': '2025-06-01T13:39:55.070000+00:00',\n",
653
+ " 'driver_number': 1,\n",
654
+ " 'gap_to_leader': 0.0,\n",
655
+ " 'interval': 0.0,\n",
656
+ " 'meeting_key': 1262,\n",
657
+ " 'session_key': 9971},\n",
658
+ " {'date': '2025-06-01T13:41:15.514000+00:00',\n",
659
+ " 'driver_number': 1,\n",
660
+ " 'gap_to_leader': 0.0,\n",
661
+ " 'interval': 0.0,\n",
662
+ " 'meeting_key': 1262,\n",
663
+ " 'session_key': 9971},\n",
664
+ " {'date': '2025-06-01T13:42:38.861000+00:00',\n",
665
+ " 'driver_number': 81,\n",
666
+ " 'gap_to_leader': 0.0,\n",
667
+ " 'interval': 0.0,\n",
668
+ " 'meeting_key': 1262,\n",
669
+ " 'session_key': 9971},\n",
670
+ " {'date': '2025-06-01T13:43:58.649000+00:00',\n",
671
+ " 'driver_number': 81,\n",
672
+ " 'gap_to_leader': 0.0,\n",
673
+ " 'interval': 0.0,\n",
674
+ " 'meeting_key': 1262,\n",
675
+ " 'session_key': 9971},\n",
676
+ " {'date': '2025-06-01T13:45:18.368000+00:00',\n",
677
+ " 'driver_number': 81,\n",
678
+ " 'gap_to_leader': 0.0,\n",
679
+ " 'interval': 0.0,\n",
680
+ " 'meeting_key': 1262,\n",
681
+ " 'session_key': 9971},\n",
682
+ " {'date': '2025-06-01T13:46:38.451000+00:00',\n",
683
+ " 'driver_number': 81,\n",
684
+ " 'gap_to_leader': 0.0,\n",
685
+ " 'interval': 0.0,\n",
686
+ " 'meeting_key': 1262,\n",
687
+ " 'session_key': 9971},\n",
688
+ " {'date': '2025-06-01T13:47:58.915000+00:00',\n",
689
+ " 'driver_number': 81,\n",
690
+ " 'gap_to_leader': 0.0,\n",
691
+ " 'interval': 0.0,\n",
692
+ " 'meeting_key': 1262,\n",
693
+ " 'session_key': 9971},\n",
694
+ " {'date': '2025-06-01T13:49:19.198000+00:00',\n",
695
+ " 'driver_number': 81,\n",
696
+ " 'gap_to_leader': 0.0,\n",
697
+ " 'interval': 0.0,\n",
698
+ " 'meeting_key': 1262,\n",
699
+ " 'session_key': 9971},\n",
700
+ " {'date': '2025-06-01T13:50:39.348000+00:00',\n",
701
+ " 'driver_number': 81,\n",
702
+ " 'gap_to_leader': 0.0,\n",
703
+ " 'interval': 0.0,\n",
704
+ " 'meeting_key': 1262,\n",
705
+ " 'session_key': 9971},\n",
706
+ " {'date': '2025-06-01T13:51:59.512000+00:00',\n",
707
+ " 'driver_number': 81,\n",
708
+ " 'gap_to_leader': 0.0,\n",
709
+ " 'interval': 0.0,\n",
710
+ " 'meeting_key': 1262,\n",
711
+ " 'session_key': 9971},\n",
712
+ " {'date': '2025-06-01T13:53:20.039000+00:00',\n",
713
+ " 'driver_number': 81,\n",
714
+ " 'gap_to_leader': 0.0,\n",
715
+ " 'interval': 0.0,\n",
716
+ " 'meeting_key': 1262,\n",
717
+ " 'session_key': 9971},\n",
718
+ " {'date': '2025-06-01T13:54:39.678000+00:00',\n",
719
+ " 'driver_number': 81,\n",
720
+ " 'gap_to_leader': 0.0,\n",
721
+ " 'interval': 0.0,\n",
722
+ " 'meeting_key': 1262,\n",
723
+ " 'session_key': 9971},\n",
724
+ " {'date': '2025-06-01T13:55:59.543000+00:00',\n",
725
+ " 'driver_number': 81,\n",
726
+ " 'gap_to_leader': 0.0,\n",
727
+ " 'interval': 0.0,\n",
728
+ " 'meeting_key': 1262,\n",
729
+ " 'session_key': 9971},\n",
730
+ " {'date': '2025-06-01T13:57:19.833000+00:00',\n",
731
+ " 'driver_number': 81,\n",
732
+ " 'gap_to_leader': 0.0,\n",
733
+ " 'interval': 0.0,\n",
734
+ " 'meeting_key': 1262,\n",
735
+ " 'session_key': 9971},\n",
736
+ " {'date': '2025-06-01T13:58:40.056000+00:00',\n",
737
+ " 'driver_number': 81,\n",
738
+ " 'gap_to_leader': 0.0,\n",
739
+ " 'interval': 0.0,\n",
740
+ " 'meeting_key': 1262,\n",
741
+ " 'session_key': 9971},\n",
742
+ " {'date': '2025-06-01T14:00:00.105000+00:00',\n",
743
+ " 'driver_number': 81,\n",
744
+ " 'gap_to_leader': 0.0,\n",
745
+ " 'interval': 0.0,\n",
746
+ " 'meeting_key': 1262,\n",
747
+ " 'session_key': 9971},\n",
748
+ " {'date': '2025-06-01T14:01:19.623000+00:00',\n",
749
+ " 'driver_number': 81,\n",
750
+ " 'gap_to_leader': 0.0,\n",
751
+ " 'interval': 0.0,\n",
752
+ " 'meeting_key': 1262,\n",
753
+ " 'session_key': 9971},\n",
754
+ " {'date': '2025-06-01T14:02:39.546000+00:00',\n",
755
+ " 'driver_number': 81,\n",
756
+ " 'gap_to_leader': 0.0,\n",
757
+ " 'interval': 0.0,\n",
758
+ " 'meeting_key': 1262,\n",
759
+ " 'session_key': 9971},\n",
760
+ " {'date': '2025-06-01T14:03:58.731000+00:00',\n",
761
+ " 'driver_number': 81,\n",
762
+ " 'gap_to_leader': 0.0,\n",
763
+ " 'interval': 0.0,\n",
764
+ " 'meeting_key': 1262,\n",
765
+ " 'session_key': 9971},\n",
766
+ " {'date': '2025-06-01T14:05:18.020000+00:00',\n",
767
+ " 'driver_number': 81,\n",
768
+ " 'gap_to_leader': 0.0,\n",
769
+ " 'interval': 0.0,\n",
770
+ " 'meeting_key': 1262,\n",
771
+ " 'session_key': 9971},\n",
772
+ " {'date': '2025-06-01T14:06:37.591000+00:00',\n",
773
+ " 'driver_number': 81,\n",
774
+ " 'gap_to_leader': 0.0,\n",
775
+ " 'interval': 0.0,\n",
776
+ " 'meeting_key': 1262,\n",
777
+ " 'session_key': 9971},\n",
778
+ " {'date': '2025-06-01T14:07:56.975000+00:00',\n",
779
+ " 'driver_number': 81,\n",
780
+ " 'gap_to_leader': 0.0,\n",
781
+ " 'interval': 0.0,\n",
782
+ " 'meeting_key': 1262,\n",
783
+ " 'session_key': 9971},\n",
784
+ " {'date': '2025-06-01T14:09:20.126000+00:00',\n",
785
+ " 'driver_number': 81,\n",
786
+ " 'gap_to_leader': 0.0,\n",
787
+ " 'interval': 0.0,\n",
788
+ " 'meeting_key': 1262,\n",
789
+ " 'session_key': 9971},\n",
790
+ " {'date': '2025-06-01T14:10:57.914000+00:00',\n",
791
+ " 'driver_number': 81,\n",
792
+ " 'gap_to_leader': 0.0,\n",
793
+ " 'interval': 0.0,\n",
794
+ " 'meeting_key': 1262,\n",
795
+ " 'session_key': 9971},\n",
796
+ " {'date': '2025-06-01T14:12:16.716000+00:00',\n",
797
+ " 'driver_number': 81,\n",
798
+ " 'gap_to_leader': 0.0,\n",
799
+ " 'interval': 0.0,\n",
800
+ " 'meeting_key': 1262,\n",
801
+ " 'session_key': 9971},\n",
802
+ " {'date': '2025-06-01T14:13:35.488000+00:00',\n",
803
+ " 'driver_number': 81,\n",
804
+ " 'gap_to_leader': 0.0,\n",
805
+ " 'interval': 0.0,\n",
806
+ " 'meeting_key': 1262,\n",
807
+ " 'session_key': 9971},\n",
808
+ " {'date': '2025-06-01T14:14:53.407000+00:00',\n",
809
+ " 'driver_number': 81,\n",
810
+ " 'gap_to_leader': 0.0,\n",
811
+ " 'interval': 0.0,\n",
812
+ " 'meeting_key': 1262,\n",
813
+ " 'session_key': 9971},\n",
814
+ " {'date': '2025-06-01T14:16:11.126000+00:00',\n",
815
+ " 'driver_number': 81,\n",
816
+ " 'gap_to_leader': 0.0,\n",
817
+ " 'interval': 0.0,\n",
818
+ " 'meeting_key': 1262,\n",
819
+ " 'session_key': 9971},\n",
820
+ " {'date': '2025-06-01T14:17:42.304000+00:00',\n",
821
+ " 'driver_number': 81,\n",
822
+ " 'gap_to_leader': 0.0,\n",
823
+ " 'interval': 0.0,\n",
824
+ " 'meeting_key': 1262,\n",
825
+ " 'session_key': 9971},\n",
826
+ " {'date': '2025-06-01T14:20:11.100000+00:00',\n",
827
+ " 'driver_number': 81,\n",
828
+ " 'gap_to_leader': 0.0,\n",
829
+ " 'interval': 0.0,\n",
830
+ " 'meeting_key': 1262,\n",
831
+ " 'session_key': 9971},\n",
832
+ " {'date': '2025-06-01T14:22:16.599000+00:00',\n",
833
+ " 'driver_number': 81,\n",
834
+ " 'gap_to_leader': 0.0,\n",
835
+ " 'interval': 0.0,\n",
836
+ " 'meeting_key': 1262,\n",
837
+ " 'session_key': 9971},\n",
838
+ " {'date': '2025-06-01T14:24:28.586000+00:00',\n",
839
+ " 'driver_number': 81,\n",
840
+ " 'gap_to_leader': 0.0,\n",
841
+ " 'interval': 0.0,\n",
842
+ " 'meeting_key': 1262,\n",
843
+ " 'session_key': 9971},\n",
844
+ " {'date': '2025-06-01T14:26:32.390000+00:00',\n",
845
+ " 'driver_number': 81,\n",
846
+ " 'gap_to_leader': 0.0,\n",
847
+ " 'interval': 0.0,\n",
848
+ " 'meeting_key': 1262,\n",
849
+ " 'session_key': 9971},\n",
850
+ " {'date': '2025-06-01T14:28:36.272000+00:00',\n",
851
+ " 'driver_number': 81,\n",
852
+ " 'gap_to_leader': 0.0,\n",
853
+ " 'interval': 0.0,\n",
854
+ " 'meeting_key': 1262,\n",
855
+ " 'session_key': 9971},\n",
856
+ " {'date': '2025-06-01T14:28:47.713000+00:00',\n",
857
+ " 'driver_number': 6,\n",
858
+ " 'gap_to_leader': 2.417,\n",
859
+ " 'interval': 0.004,\n",
860
+ " 'meeting_key': 1262,\n",
861
+ " 'session_key': 9971},\n",
862
+ " {'date': '2025-06-01T14:29:52.041000+00:00',\n",
863
+ " 'driver_number': 81,\n",
864
+ " 'gap_to_leader': 0.0,\n",
865
+ " 'interval': 0.0,\n",
866
+ " 'meeting_key': 1262,\n",
867
+ " 'session_key': 9971},\n",
868
+ " {'date': '2025-06-01T14:31:07.838000+00:00',\n",
869
+ " 'driver_number': 81,\n",
870
+ " 'gap_to_leader': 0.0,\n",
871
+ " 'interval': 0.0,\n",
872
+ " 'meeting_key': 1262,\n",
873
+ " 'session_key': 9971},\n",
874
+ " {'date': '2025-06-01T14:32:24.199000+00:00',\n",
875
+ " 'driver_number': 81,\n",
876
+ " 'gap_to_leader': 0.0,\n",
877
+ " 'interval': 0.0,\n",
878
+ " 'meeting_key': 1262,\n",
879
+ " 'session_key': 9971},\n",
880
+ " {'date': '2025-06-01T14:33:40.781000+00:00',\n",
881
+ " 'driver_number': 81,\n",
882
+ " 'gap_to_leader': 0.0,\n",
883
+ " 'interval': 0.0,\n",
884
+ " 'meeting_key': 1262,\n",
885
+ " 'session_key': 9971},\n",
886
+ " {'date': '2025-06-01T14:34:57.792000+00:00',\n",
887
+ " 'driver_number': 81,\n",
888
+ " 'gap_to_leader': 0.0,\n",
889
+ " 'interval': 0.0,\n",
890
+ " 'meeting_key': 1262,\n",
891
+ " 'session_key': 9971}]\n"
892
+ ]
893
+ },
894
+ {
895
+ "data": {
896
+ "text/plain": [
897
+ "[{'date': '2025-06-01T12:04:07.327000+00:00',\n",
898
+ " 'session_key': 9971,\n",
899
+ " 'meeting_key': 1262,\n",
900
+ " 'driver_number': 81,\n",
901
+ " 'interval': 0.0,\n",
902
+ " 'gap_to_leader': 0.0},\n",
903
+ " {'date': '2025-06-01T12:05:25.528000+00:00',\n",
904
+ " 'session_key': 9971,\n",
905
+ " 'meeting_key': 1262,\n",
906
+ " 'driver_number': 81,\n",
907
+ " 'interval': 0.0,\n",
908
+ " 'gap_to_leader': 0.0},\n",
909
+ " {'date': '2025-06-01T12:05:25.539000+00:00',\n",
910
+ " 'session_key': 9971,\n",
911
+ " 'meeting_key': 1262,\n",
912
+ " 'driver_number': 81,\n",
913
+ " 'interval': 0.0,\n",
914
+ " 'gap_to_leader': 0.0},\n",
915
+ " {'date': '2025-06-01T13:03:27.979000+00:00',\n",
916
+ " 'session_key': 9971,\n",
917
+ " 'driver_number': 4,\n",
918
+ " 'meeting_key': 1262,\n",
919
+ " 'interval': 0.004,\n",
920
+ " 'gap_to_leader': 0.34},\n",
921
+ " {'date': '2025-06-01T13:03:31.917000+00:00',\n",
922
+ " 'session_key': 9971,\n",
923
+ " 'driver_number': 10,\n",
924
+ " 'meeting_key': 1262,\n",
925
+ " 'interval': 0.004,\n",
926
+ " 'gap_to_leader': 1.043},\n",
927
+ " {'date': '2025-06-01T13:04:40.703000+00:00',\n",
928
+ " 'session_key': 9971,\n",
929
+ " 'driver_number': 81,\n",
930
+ " 'meeting_key': 1262,\n",
931
+ " 'interval': 0.0,\n",
932
+ " 'gap_to_leader': 0.0},\n",
933
+ " {'date': '2025-06-01T13:06:01+00:00',\n",
934
+ " 'session_key': 9971,\n",
935
+ " 'driver_number': 81,\n",
936
+ " 'meeting_key': 1262,\n",
937
+ " 'interval': 0.0,\n",
938
+ " 'gap_to_leader': 0.0},\n",
939
+ " {'date': '2025-06-01T13:07:20.859000+00:00',\n",
940
+ " 'session_key': 9971,\n",
941
+ " 'driver_number': 81,\n",
942
+ " 'meeting_key': 1262,\n",
943
+ " 'interval': 0.0,\n",
944
+ " 'gap_to_leader': 0.0},\n",
945
+ " {'date': '2025-06-01T13:08:41.153000+00:00',\n",
946
+ " 'session_key': 9971,\n",
947
+ " 'meeting_key': 1262,\n",
948
+ " 'driver_number': 81,\n",
949
+ " 'interval': 0.0,\n",
950
+ " 'gap_to_leader': 0.0},\n",
951
+ " {'date': '2025-06-01T13:10:01.626000+00:00',\n",
952
+ " 'session_key': 9971,\n",
953
+ " 'meeting_key': 1262,\n",
954
+ " 'driver_number': 81,\n",
955
+ " 'interval': 0.0,\n",
956
+ " 'gap_to_leader': 0.0},\n",
957
+ " {'date': '2025-06-01T13:11:21.898000+00:00',\n",
958
+ " 'session_key': 9971,\n",
959
+ " 'driver_number': 81,\n",
960
+ " 'meeting_key': 1262,\n",
961
+ " 'interval': 0.0,\n",
962
+ " 'gap_to_leader': 0.0},\n",
963
+ " {'date': '2025-06-01T13:12:42.802000+00:00',\n",
964
+ " 'session_key': 9971,\n",
965
+ " 'meeting_key': 1262,\n",
966
+ " 'driver_number': 81,\n",
967
+ " 'interval': 0.0,\n",
968
+ " 'gap_to_leader': 0.0},\n",
969
+ " {'date': '2025-06-01T13:14:03.628000+00:00',\n",
970
+ " 'session_key': 9971,\n",
971
+ " 'meeting_key': 1262,\n",
972
+ " 'driver_number': 81,\n",
973
+ " 'interval': 0.0,\n",
974
+ " 'gap_to_leader': 0.0},\n",
975
+ " {'date': '2025-06-01T13:15:24.372000+00:00',\n",
976
+ " 'session_key': 9971,\n",
977
+ " 'meeting_key': 1262,\n",
978
+ " 'driver_number': 81,\n",
979
+ " 'interval': 0.0,\n",
980
+ " 'gap_to_leader': 0.0},\n",
981
+ " {'date': '2025-06-01T13:16:45.279000+00:00',\n",
982
+ " 'session_key': 9971,\n",
983
+ " 'driver_number': 81,\n",
984
+ " 'meeting_key': 1262,\n",
985
+ " 'interval': 0.0,\n",
986
+ " 'gap_to_leader': 0.0},\n",
987
+ " {'date': '2025-06-01T13:18:06.420000+00:00',\n",
988
+ " 'session_key': 9971,\n",
989
+ " 'meeting_key': 1262,\n",
990
+ " 'driver_number': 81,\n",
991
+ " 'interval': 0.0,\n",
992
+ " 'gap_to_leader': 0.0},\n",
993
+ " {'date': '2025-06-01T13:19:27.719000+00:00',\n",
994
+ " 'session_key': 9971,\n",
995
+ " 'meeting_key': 1262,\n",
996
+ " 'driver_number': 81,\n",
997
+ " 'interval': 0.0,\n",
998
+ " 'gap_to_leader': 0.0},\n",
999
+ " {'date': '2025-06-01T13:20:48.608000+00:00',\n",
1000
+ " 'session_key': 9971,\n",
1001
+ " 'meeting_key': 1262,\n",
1002
+ " 'driver_number': 81,\n",
1003
+ " 'interval': 0.0,\n",
1004
+ " 'gap_to_leader': 0.0},\n",
1005
+ " {'date': '2025-06-01T13:22:09.348000+00:00',\n",
1006
+ " 'session_key': 9971,\n",
1007
+ " 'meeting_key': 1262,\n",
1008
+ " 'driver_number': 81,\n",
1009
+ " 'interval': 0.0,\n",
1010
+ " 'gap_to_leader': 0.0},\n",
1011
+ " {'date': '2025-06-01T13:23:30.135000+00:00',\n",
1012
+ " 'session_key': 9971,\n",
1013
+ " 'meeting_key': 1262,\n",
1014
+ " 'driver_number': 81,\n",
1015
+ " 'interval': 0.0,\n",
1016
+ " 'gap_to_leader': 0.0},\n",
1017
+ " {'date': '2025-06-01T13:24:50.804000+00:00',\n",
1018
+ " 'session_key': 9971,\n",
1019
+ " 'meeting_key': 1262,\n",
1020
+ " 'driver_number': 81,\n",
1021
+ " 'interval': 0.0,\n",
1022
+ " 'gap_to_leader': 0.0},\n",
1023
+ " {'date': '2025-06-01T13:26:11.484000+00:00',\n",
1024
+ " 'session_key': 9971,\n",
1025
+ " 'driver_number': 81,\n",
1026
+ " 'meeting_key': 1262,\n",
1027
+ " 'interval': 0.0,\n",
1028
+ " 'gap_to_leader': 0.0},\n",
1029
+ " {'date': '2025-06-01T13:27:32.240000+00:00',\n",
1030
+ " 'session_key': 9971,\n",
1031
+ " 'driver_number': 81,\n",
1032
+ " 'meeting_key': 1262,\n",
1033
+ " 'interval': 0.0,\n",
1034
+ " 'gap_to_leader': 0.0},\n",
1035
+ " {'date': '2025-06-01T13:28:52.995000+00:00',\n",
1036
+ " 'session_key': 9971,\n",
1037
+ " 'meeting_key': 1262,\n",
1038
+ " 'driver_number': 81,\n",
1039
+ " 'interval': 0.0,\n",
1040
+ " 'gap_to_leader': 0.0},\n",
1041
+ " {'date': '2025-06-01T13:30:14.330000+00:00',\n",
1042
+ " 'session_key': 9971,\n",
1043
+ " 'driver_number': 81,\n",
1044
+ " 'meeting_key': 1262,\n",
1045
+ " 'interval': 0.0,\n",
1046
+ " 'gap_to_leader': 0.0},\n",
1047
+ " {'date': '2025-06-01T13:31:35.591000+00:00',\n",
1048
+ " 'session_key': 9971,\n",
1049
+ " 'driver_number': 81,\n",
1050
+ " 'meeting_key': 1262,\n",
1051
+ " 'interval': 0.0,\n",
1052
+ " 'gap_to_leader': 0.0},\n",
1053
+ " {'date': '2025-06-01T13:33:00.798000+00:00',\n",
1054
+ " 'session_key': 9971,\n",
1055
+ " 'driver_number': 81,\n",
1056
+ " 'meeting_key': 1262,\n",
1057
+ " 'interval': 0.0,\n",
1058
+ " 'gap_to_leader': 0.0},\n",
1059
+ " {'date': '2025-06-01T13:33:17.259000+00:00',\n",
1060
+ " 'session_key': 9971,\n",
1061
+ " 'meeting_key': 1262,\n",
1062
+ " 'driver_number': 1,\n",
1063
+ " 'interval': 0.0,\n",
1064
+ " 'gap_to_leader': 0.0},\n",
1065
+ " {'date': '2025-06-01T13:34:33.803000+00:00',\n",
1066
+ " 'session_key': 9971,\n",
1067
+ " 'driver_number': 1,\n",
1068
+ " 'meeting_key': 1262,\n",
1069
+ " 'interval': 0.0,\n",
1070
+ " 'gap_to_leader': 0.0},\n",
1071
+ " {'date': '2025-06-01T13:35:53.743000+00:00',\n",
1072
+ " 'session_key': 9971,\n",
1073
+ " 'meeting_key': 1262,\n",
1074
+ " 'driver_number': 1,\n",
1075
+ " 'interval': 0.0,\n",
1076
+ " 'gap_to_leader': 0.0},\n",
1077
+ " {'date': '2025-06-01T13:37:13.905000+00:00',\n",
1078
+ " 'session_key': 9971,\n",
1079
+ " 'meeting_key': 1262,\n",
1080
+ " 'driver_number': 1,\n",
1081
+ " 'interval': 0.0,\n",
1082
+ " 'gap_to_leader': 0.0},\n",
1083
+ " {'date': '2025-06-01T13:38:34.259000+00:00',\n",
1084
+ " 'session_key': 9971,\n",
1085
+ " 'driver_number': 1,\n",
1086
+ " 'meeting_key': 1262,\n",
1087
+ " 'interval': 0.0,\n",
1088
+ " 'gap_to_leader': 0.0},\n",
1089
+ " {'date': '2025-06-01T13:39:55.070000+00:00',\n",
1090
+ " 'session_key': 9971,\n",
1091
+ " 'meeting_key': 1262,\n",
1092
+ " 'driver_number': 1,\n",
1093
+ " 'interval': 0.0,\n",
1094
+ " 'gap_to_leader': 0.0},\n",
1095
+ " {'date': '2025-06-01T13:41:15.514000+00:00',\n",
1096
+ " 'session_key': 9971,\n",
1097
+ " 'driver_number': 1,\n",
1098
+ " 'meeting_key': 1262,\n",
1099
+ " 'interval': 0.0,\n",
1100
+ " 'gap_to_leader': 0.0},\n",
1101
+ " {'date': '2025-06-01T13:42:38.861000+00:00',\n",
1102
+ " 'session_key': 9971,\n",
1103
+ " 'driver_number': 81,\n",
1104
+ " 'meeting_key': 1262,\n",
1105
+ " 'interval': 0.0,\n",
1106
+ " 'gap_to_leader': 0.0},\n",
1107
+ " {'date': '2025-06-01T13:43:58.649000+00:00',\n",
1108
+ " 'session_key': 9971,\n",
1109
+ " 'meeting_key': 1262,\n",
1110
+ " 'driver_number': 81,\n",
1111
+ " 'interval': 0.0,\n",
1112
+ " 'gap_to_leader': 0.0},\n",
1113
+ " {'date': '2025-06-01T13:45:18.368000+00:00',\n",
1114
+ " 'session_key': 9971,\n",
1115
+ " 'driver_number': 81,\n",
1116
+ " 'meeting_key': 1262,\n",
1117
+ " 'interval': 0.0,\n",
1118
+ " 'gap_to_leader': 0.0},\n",
1119
+ " {'date': '2025-06-01T13:46:38.451000+00:00',\n",
1120
+ " 'session_key': 9971,\n",
1121
+ " 'meeting_key': 1262,\n",
1122
+ " 'driver_number': 81,\n",
1123
+ " 'interval': 0.0,\n",
1124
+ " 'gap_to_leader': 0.0},\n",
1125
+ " {'date': '2025-06-01T13:47:58.915000+00:00',\n",
1126
+ " 'session_key': 9971,\n",
1127
+ " 'meeting_key': 1262,\n",
1128
+ " 'driver_number': 81,\n",
1129
+ " 'interval': 0.0,\n",
1130
+ " 'gap_to_leader': 0.0},\n",
1131
+ " {'date': '2025-06-01T13:49:19.198000+00:00',\n",
1132
+ " 'session_key': 9971,\n",
1133
+ " 'meeting_key': 1262,\n",
1134
+ " 'driver_number': 81,\n",
1135
+ " 'interval': 0.0,\n",
1136
+ " 'gap_to_leader': 0.0},\n",
1137
+ " {'date': '2025-06-01T13:50:39.348000+00:00',\n",
1138
+ " 'session_key': 9971,\n",
1139
+ " 'meeting_key': 1262,\n",
1140
+ " 'driver_number': 81,\n",
1141
+ " 'interval': 0.0,\n",
1142
+ " 'gap_to_leader': 0.0},\n",
1143
+ " {'date': '2025-06-01T13:51:59.512000+00:00',\n",
1144
+ " 'session_key': 9971,\n",
1145
+ " 'driver_number': 81,\n",
1146
+ " 'meeting_key': 1262,\n",
1147
+ " 'interval': 0.0,\n",
1148
+ " 'gap_to_leader': 0.0},\n",
1149
+ " {'date': '2025-06-01T13:53:20.039000+00:00',\n",
1150
+ " 'session_key': 9971,\n",
1151
+ " 'driver_number': 81,\n",
1152
+ " 'gap_to_leader': 0.0,\n",
1153
+ " 'interval': 0.0,\n",
1154
+ " 'meeting_key': 1262},\n",
1155
+ " {'date': '2025-06-01T13:54:39.678000+00:00',\n",
1156
+ " 'session_key': 9971,\n",
1157
+ " 'driver_number': 81,\n",
1158
+ " 'gap_to_leader': 0.0,\n",
1159
+ " 'interval': 0.0,\n",
1160
+ " 'meeting_key': 1262},\n",
1161
+ " {'date': '2025-06-01T13:55:59.543000+00:00',\n",
1162
+ " 'session_key': 9971,\n",
1163
+ " 'gap_to_leader': 0.0,\n",
1164
+ " 'interval': 0.0,\n",
1165
+ " 'meeting_key': 1262,\n",
1166
+ " 'driver_number': 81},\n",
1167
+ " {'date': '2025-06-01T13:57:19.833000+00:00',\n",
1168
+ " 'session_key': 9971,\n",
1169
+ " 'gap_to_leader': 0.0,\n",
1170
+ " 'interval': 0.0,\n",
1171
+ " 'meeting_key': 1262,\n",
1172
+ " 'driver_number': 81},\n",
1173
+ " {'date': '2025-06-01T13:58:40.056000+00:00',\n",
1174
+ " 'session_key': 9971,\n",
1175
+ " 'gap_to_leader': 0.0,\n",
1176
+ " 'interval': 0.0,\n",
1177
+ " 'meeting_key': 1262,\n",
1178
+ " 'driver_number': 81},\n",
1179
+ " {'date': '2025-06-01T14:00:00.105000+00:00',\n",
1180
+ " 'session_key': 9971,\n",
1181
+ " 'gap_to_leader': 0.0,\n",
1182
+ " 'interval': 0.0,\n",
1183
+ " 'meeting_key': 1262,\n",
1184
+ " 'driver_number': 81},\n",
1185
+ " {'date': '2025-06-01T14:01:19.623000+00:00',\n",
1186
+ " 'session_key': 9971,\n",
1187
+ " 'gap_to_leader': 0.0,\n",
1188
+ " 'interval': 0.0,\n",
1189
+ " 'meeting_key': 1262,\n",
1190
+ " 'driver_number': 81},\n",
1191
+ " {'date': '2025-06-01T14:02:39.546000+00:00',\n",
1192
+ " 'session_key': 9971,\n",
1193
+ " 'gap_to_leader': 0.0,\n",
1194
+ " 'interval': 0.0,\n",
1195
+ " 'meeting_key': 1262,\n",
1196
+ " 'driver_number': 81},\n",
1197
+ " {'date': '2025-06-01T14:03:58.731000+00:00',\n",
1198
+ " 'session_key': 9971,\n",
1199
+ " 'gap_to_leader': 0.0,\n",
1200
+ " 'interval': 0.0,\n",
1201
+ " 'meeting_key': 1262,\n",
1202
+ " 'driver_number': 81},\n",
1203
+ " {'date': '2025-06-01T14:05:18.020000+00:00',\n",
1204
+ " 'session_key': 9971,\n",
1205
+ " 'gap_to_leader': 0.0,\n",
1206
+ " 'interval': 0.0,\n",
1207
+ " 'meeting_key': 1262,\n",
1208
+ " 'driver_number': 81},\n",
1209
+ " {'date': '2025-06-01T14:06:37.591000+00:00',\n",
1210
+ " 'session_key': 9971,\n",
1211
+ " 'gap_to_leader': 0.0,\n",
1212
+ " 'interval': 0.0,\n",
1213
+ " 'meeting_key': 1262,\n",
1214
+ " 'driver_number': 81},\n",
1215
+ " {'date': '2025-06-01T14:07:56.975000+00:00',\n",
1216
+ " 'session_key': 9971,\n",
1217
+ " 'gap_to_leader': 0.0,\n",
1218
+ " 'interval': 0.0,\n",
1219
+ " 'meeting_key': 1262,\n",
1220
+ " 'driver_number': 81},\n",
1221
+ " {'date': '2025-06-01T14:09:20.126000+00:00',\n",
1222
+ " 'session_key': 9971,\n",
1223
+ " 'gap_to_leader': 0.0,\n",
1224
+ " 'interval': 0.0,\n",
1225
+ " 'meeting_key': 1262,\n",
1226
+ " 'driver_number': 81},\n",
1227
+ " {'date': '2025-06-01T14:10:57.914000+00:00',\n",
1228
+ " 'session_key': 9971,\n",
1229
+ " 'gap_to_leader': 0.0,\n",
1230
+ " 'interval': 0.0,\n",
1231
+ " 'meeting_key': 1262,\n",
1232
+ " 'driver_number': 81},\n",
1233
+ " {'date': '2025-06-01T14:12:16.716000+00:00',\n",
1234
+ " 'session_key': 9971,\n",
1235
+ " 'gap_to_leader': 0.0,\n",
1236
+ " 'interval': 0.0,\n",
1237
+ " 'meeting_key': 1262,\n",
1238
+ " 'driver_number': 81},\n",
1239
+ " {'date': '2025-06-01T14:13:35.488000+00:00',\n",
1240
+ " 'session_key': 9971,\n",
1241
+ " 'gap_to_leader': 0.0,\n",
1242
+ " 'interval': 0.0,\n",
1243
+ " 'meeting_key': 1262,\n",
1244
+ " 'driver_number': 81},\n",
1245
+ " {'date': '2025-06-01T14:14:53.407000+00:00',\n",
1246
+ " 'session_key': 9971,\n",
1247
+ " 'gap_to_leader': 0.0,\n",
1248
+ " 'interval': 0.0,\n",
1249
+ " 'meeting_key': 1262,\n",
1250
+ " 'driver_number': 81},\n",
1251
+ " {'date': '2025-06-01T14:16:11.126000+00:00',\n",
1252
+ " 'session_key': 9971,\n",
1253
+ " 'gap_to_leader': 0.0,\n",
1254
+ " 'interval': 0.0,\n",
1255
+ " 'meeting_key': 1262,\n",
1256
+ " 'driver_number': 81},\n",
1257
+ " {'date': '2025-06-01T14:17:42.304000+00:00',\n",
1258
+ " 'session_key': 9971,\n",
1259
+ " 'gap_to_leader': 0.0,\n",
1260
+ " 'interval': 0.0,\n",
1261
+ " 'meeting_key': 1262,\n",
1262
+ " 'driver_number': 81},\n",
1263
+ " {'date': '2025-06-01T14:20:11.100000+00:00',\n",
1264
+ " 'session_key': 9971,\n",
1265
+ " 'gap_to_leader': 0.0,\n",
1266
+ " 'interval': 0.0,\n",
1267
+ " 'meeting_key': 1262,\n",
1268
+ " 'driver_number': 81},\n",
1269
+ " {'date': '2025-06-01T14:22:16.599000+00:00',\n",
1270
+ " 'session_key': 9971,\n",
1271
+ " 'gap_to_leader': 0.0,\n",
1272
+ " 'interval': 0.0,\n",
1273
+ " 'meeting_key': 1262,\n",
1274
+ " 'driver_number': 81},\n",
1275
+ " {'date': '2025-06-01T14:24:28.586000+00:00',\n",
1276
+ " 'session_key': 9971,\n",
1277
+ " 'gap_to_leader': 0.0,\n",
1278
+ " 'interval': 0.0,\n",
1279
+ " 'meeting_key': 1262,\n",
1280
+ " 'driver_number': 81},\n",
1281
+ " {'date': '2025-06-01T14:26:32.390000+00:00',\n",
1282
+ " 'session_key': 9971,\n",
1283
+ " 'gap_to_leader': 0.0,\n",
1284
+ " 'interval': 0.0,\n",
1285
+ " 'meeting_key': 1262,\n",
1286
+ " 'driver_number': 81},\n",
1287
+ " {'date': '2025-06-01T14:28:36.272000+00:00',\n",
1288
+ " 'session_key': 9971,\n",
1289
+ " 'gap_to_leader': 0.0,\n",
1290
+ " 'interval': 0.0,\n",
1291
+ " 'meeting_key': 1262,\n",
1292
+ " 'driver_number': 81},\n",
1293
+ " {'date': '2025-06-01T14:28:47.713000+00:00',\n",
1294
+ " 'session_key': 9971,\n",
1295
+ " 'gap_to_leader': 2.417,\n",
1296
+ " 'interval': 0.004,\n",
1297
+ " 'meeting_key': 1262,\n",
1298
+ " 'driver_number': 6},\n",
1299
+ " {'date': '2025-06-01T14:29:52.041000+00:00',\n",
1300
+ " 'session_key': 9971,\n",
1301
+ " 'gap_to_leader': 0.0,\n",
1302
+ " 'interval': 0.0,\n",
1303
+ " 'meeting_key': 1262,\n",
1304
+ " 'driver_number': 81},\n",
1305
+ " {'date': '2025-06-01T14:31:07.838000+00:00',\n",
1306
+ " 'session_key': 9971,\n",
1307
+ " 'gap_to_leader': 0.0,\n",
1308
+ " 'interval': 0.0,\n",
1309
+ " 'meeting_key': 1262,\n",
1310
+ " 'driver_number': 81},\n",
1311
+ " {'date': '2025-06-01T14:32:24.199000+00:00',\n",
1312
+ " 'session_key': 9971,\n",
1313
+ " 'gap_to_leader': 0.0,\n",
1314
+ " 'interval': 0.0,\n",
1315
+ " 'meeting_key': 1262,\n",
1316
+ " 'driver_number': 81},\n",
1317
+ " {'date': '2025-06-01T14:33:40.781000+00:00',\n",
1318
+ " 'session_key': 9971,\n",
1319
+ " 'gap_to_leader': 0.0,\n",
1320
+ " 'interval': 0.0,\n",
1321
+ " 'meeting_key': 1262,\n",
1322
+ " 'driver_number': 81},\n",
1323
+ " {'date': '2025-06-01T14:34:57.792000+00:00',\n",
1324
+ " 'session_key': 9971,\n",
1325
+ " 'gap_to_leader': 0.0,\n",
1326
+ " 'interval': 0.0,\n",
1327
+ " 'meeting_key': 1262,\n",
1328
+ " 'driver_number': 81}]"
1329
+ ]
1330
+ },
1331
+ "execution_count": 6,
1332
+ "metadata": {},
1333
+ "output_type": "execute_result"
1334
+ }
1335
+ ],
1336
+ "source": [
1337
+ "example_request = \"intervals?session_key=latest&interval<0.005\"\n",
1338
+ "print(example_request)\n",
1339
+ "make_request(example_request, debug=True)"
1340
+ ]
1341
+ },
1342
+ {
1343
+ "cell_type": "markdown",
1344
+ "id": "c0ca724c",
1345
+ "metadata": {},
1346
+ "source": [
1347
+ "### Laps"
1348
+ ]
1349
+ },
1350
+ {
1351
+ "cell_type": "code",
1352
+ "execution_count": 7,
1353
+ "id": "3fe54706",
1354
+ "metadata": {},
1355
+ "outputs": [
1356
+ {
1357
+ "name": "stdout",
1358
+ "output_type": "stream",
1359
+ "text": [
1360
+ "[{'date_start': '2023-09-16T13:59:07.606000+00:00',\n",
1361
+ " 'driver_number': 63,\n",
1362
+ " 'duration_sector_1': 26.966,\n",
1363
+ " 'duration_sector_2': 38.657,\n",
1364
+ " 'duration_sector_3': 26.12,\n",
1365
+ " 'i1_speed': 307,\n",
1366
+ " 'i2_speed': 277,\n",
1367
+ " 'is_pit_out_lap': False,\n",
1368
+ " 'lap_duration': 96.677,\n",
1369
+ " 'lap_number': 8,\n",
1370
+ " 'meeting_key': 1219,\n",
1371
+ " 'segments_sector_1': [2049, 2049, 2049, 2051, 2049, 2051, 2049, 2049],\n",
1372
+ " 'segments_sector_2': [2049, 2049, 2049, 2049, 2049, 2049, 2049, 2049],\n",
1373
+ " 'segments_sector_3': [2049, 2049, 2049, 2049, 2049, 2049, 2049, 0],\n",
1374
+ " 'session_key': 9161,\n",
1375
+ " 'st_speed': 298}]\n",
1376
+ "<class 'list'>\n",
1377
+ "1\n"
1378
+ ]
1379
+ }
1380
+ ],
1381
+ "source": [
1382
+ "example_request = \"laps?session_key=9161&driver_number=63&lap_number=8\"\n",
1383
+ "lap_data = make_request(example_request, debug=True)\n",
1384
+ "print(type(lap_data))\n",
1385
+ "print(len(lap_data))"
1386
+ ]
1387
+ },
1388
+ {
1389
+ "cell_type": "markdown",
1390
+ "id": "a47ed171",
1391
+ "metadata": {},
1392
+ "source": [
1393
+ "### Location"
1394
+ ]
1395
+ },
1396
+ {
1397
+ "cell_type": "code",
1398
+ "execution_count": 8,
1399
+ "id": "6a9d02a7",
1400
+ "metadata": {},
1401
+ "outputs": [
1402
+ {
1403
+ "name": "stdout",
1404
+ "output_type": "stream",
1405
+ "text": [
1406
+ "[{'date': '2023-09-16T13:03:35.292000+00:00',\n",
1407
+ " 'driver_number': 81,\n",
1408
+ " 'meeting_key': 1219,\n",
1409
+ " 'session_key': 9161,\n",
1410
+ " 'x': 567,\n",
1411
+ " 'y': 3195,\n",
1412
+ " 'z': 187},\n",
1413
+ " {'date': '2023-09-16T13:03:35.752000+00:00',\n",
1414
+ " 'driver_number': 81,\n",
1415
+ " 'meeting_key': 1219,\n",
1416
+ " 'session_key': 9161,\n",
1417
+ " 'x': 489,\n",
1418
+ " 'y': 3403,\n",
1419
+ " 'z': 186}]\n",
1420
+ "<class 'list'>\n",
1421
+ "2\n"
1422
+ ]
1423
+ }
1424
+ ],
1425
+ "source": [
1426
+ "example_request = \"location?session_key=9161&driver_number=81&date>2023-09-16T13:03:35.200&date<2023-09-16T13:03:35.800\"\n",
1427
+ "location_data = make_request(example_request, debug=True)\n",
1428
+ "print(type(location_data))\n",
1429
+ "print(len(location_data))"
1430
+ ]
1431
+ },
1432
+ {
1433
+ "cell_type": "markdown",
1434
+ "id": "7517ee32",
1435
+ "metadata": {},
1436
+ "source": [
1437
+ "### Meeting"
1438
+ ]
1439
+ },
1440
+ {
1441
+ "cell_type": "code",
1442
+ "execution_count": 9,
1443
+ "id": "f18c3b6b",
1444
+ "metadata": {},
1445
+ "outputs": [
1446
+ {
1447
+ "name": "stdout",
1448
+ "output_type": "stream",
1449
+ "text": [
1450
+ "[{'circuit_key': 61,\n",
1451
+ " 'circuit_short_name': 'Singapore',\n",
1452
+ " 'country_code': 'SGP',\n",
1453
+ " 'country_key': 157,\n",
1454
+ " 'country_name': 'Singapore',\n",
1455
+ " 'date_start': '2023-09-15T09:30:00+00:00',\n",
1456
+ " 'gmt_offset': '08:00:00',\n",
1457
+ " 'location': 'Marina Bay',\n",
1458
+ " 'meeting_code': 'SGP',\n",
1459
+ " 'meeting_key': 1219,\n",
1460
+ " 'meeting_name': 'Singapore Grand Prix',\n",
1461
+ " 'meeting_official_name': 'FORMULA 1 SINGAPORE AIRLINES SINGAPORE GRAND PRIX '\n",
1462
+ " '2023 ',\n",
1463
+ " 'year': 2023}]\n",
1464
+ "<class 'list'>\n",
1465
+ "1\n"
1466
+ ]
1467
+ }
1468
+ ],
1469
+ "source": [
1470
+ "example_request = \"meetings?year=2023&country_name=Singapore\"\n",
1471
+ "meeting_data = make_request(example_request, debug=True)\n",
1472
+ "print(type(meeting_data))\n",
1473
+ "print(len(meeting_data))"
1474
+ ]
1475
+ },
1476
+ {
1477
+ "cell_type": "markdown",
1478
+ "id": "ddbc8259",
1479
+ "metadata": {},
1480
+ "source": [
1481
+ "### Pit"
1482
+ ]
1483
+ },
1484
+ {
1485
+ "cell_type": "code",
1486
+ "execution_count": 10,
1487
+ "id": "8af5a471",
1488
+ "metadata": {},
1489
+ "outputs": [
1490
+ {
1491
+ "name": "stdout",
1492
+ "output_type": "stream",
1493
+ "text": [
1494
+ "[{'date': '2023-09-15T09:38:23.038000+00:00',\n",
1495
+ " 'driver_number': 63,\n",
1496
+ " 'lap_number': 5,\n",
1497
+ " 'meeting_key': 1219,\n",
1498
+ " 'pit_duration': 24.5,\n",
1499
+ " 'session_key': 9158},\n",
1500
+ " {'date': '2023-09-15T10:05:01.229000+00:00',\n",
1501
+ " 'driver_number': 81,\n",
1502
+ " 'lap_number': 13,\n",
1503
+ " 'meeting_key': 1219,\n",
1504
+ " 'pit_duration': 30.8,\n",
1505
+ " 'session_key': 9158}]\n",
1506
+ "<class 'list'>\n",
1507
+ "2\n"
1508
+ ]
1509
+ }
1510
+ ],
1511
+ "source": [
1512
+ "example_request = \"pit?session_key=9158&pit_duration<31\"\n",
1513
+ "pit_data = make_request(example_request, debug=True)\n",
1514
+ "print(type(pit_data))\n",
1515
+ "print(len(pit_data))"
1516
+ ]
1517
+ },
1518
+ {
1519
+ "cell_type": "markdown",
1520
+ "id": "d12d5447",
1521
+ "metadata": {},
1522
+ "source": [
1523
+ "### Position"
1524
+ ]
1525
+ },
1526
+ {
1527
+ "cell_type": "code",
1528
+ "execution_count": 11,
1529
+ "id": "2d29ea4b",
1530
+ "metadata": {},
1531
+ "outputs": [
1532
+ {
1533
+ "name": "stdout",
1534
+ "output_type": "stream",
1535
+ "text": [
1536
+ "[{'date': '2023-08-26T09:30:47.199000+00:00',\n",
1537
+ " 'driver_number': 40,\n",
1538
+ " 'meeting_key': 1217,\n",
1539
+ " 'position': 2,\n",
1540
+ " 'session_key': 9144},\n",
1541
+ " {'date': '2023-08-26T09:35:51.477000+00:00',\n",
1542
+ " 'driver_number': 40,\n",
1543
+ " 'meeting_key': 1217,\n",
1544
+ " 'position': 3,\n",
1545
+ " 'session_key': 9144}]\n",
1546
+ "<class 'list'>\n",
1547
+ "2\n"
1548
+ ]
1549
+ }
1550
+ ],
1551
+ "source": [
1552
+ "example_request = \"position?meeting_key=1217&driver_number=40&position<=3\"\n",
1553
+ "position_data = make_request(example_request, debug=True)\n",
1554
+ "print(type(position_data))\n",
1555
+ "print(len(position_data))"
1556
+ ]
1557
+ },
1558
+ {
1559
+ "cell_type": "markdown",
1560
+ "id": "30c77bbb",
1561
+ "metadata": {},
1562
+ "source": [
1563
+ "### Race control"
1564
+ ]
1565
+ },
1566
+ {
1567
+ "cell_type": "code",
1568
+ "execution_count": 12,
1569
+ "id": "203b0f2f",
1570
+ "metadata": {},
1571
+ "outputs": [
1572
+ {
1573
+ "name": "stdout",
1574
+ "output_type": "stream",
1575
+ "text": [
1576
+ "[{'category': 'CarEvent',\n",
1577
+ " 'date': '2023-03-31T02:24:03+00:00',\n",
1578
+ " 'driver_number': 1,\n",
1579
+ " 'flag': None,\n",
1580
+ " 'lap_number': None,\n",
1581
+ " 'meeting_key': 1143,\n",
1582
+ " 'message': 'CAR 1 (VER) SPUN AND CONTINUED AT TURN 4',\n",
1583
+ " 'scope': None,\n",
1584
+ " 'sector': None,\n",
1585
+ " 'session_key': 7780},\n",
1586
+ " {'category': 'CarEvent',\n",
1587
+ " 'date': '2023-04-02T06:30:08+00:00',\n",
1588
+ " 'driver_number': 1,\n",
1589
+ " 'flag': None,\n",
1590
+ " 'lap_number': 48,\n",
1591
+ " 'meeting_key': 1143,\n",
1592
+ " 'message': 'CAR 1 (VER) OFF TRACK AND CONTINUED AT TURN 13',\n",
1593
+ " 'scope': None,\n",
1594
+ " 'sector': None,\n",
1595
+ " 'session_key': 7787},\n",
1596
+ " {'category': 'Flag',\n",
1597
+ " 'date': '2023-06-04T14:21:01+00:00',\n",
1598
+ " 'driver_number': 1,\n",
1599
+ " 'flag': 'BLACK AND WHITE',\n",
1600
+ " 'lap_number': 59,\n",
1601
+ " 'meeting_key': 1211,\n",
1602
+ " 'message': 'BLACK AND WHITE FLAG FOR CAR 1 (VER) - TRACK LIMITS',\n",
1603
+ " 'scope': 'Driver',\n",
1604
+ " 'sector': None,\n",
1605
+ " 'session_key': 9102},\n",
1606
+ " {'category': 'CarEvent',\n",
1607
+ " 'date': '2023-08-25T11:31:09+00:00',\n",
1608
+ " 'driver_number': 1,\n",
1609
+ " 'flag': None,\n",
1610
+ " 'lap_number': None,\n",
1611
+ " 'meeting_key': 1217,\n",
1612
+ " 'message': 'CAR 1 (VER) OFF TRACK AND CONTINUED AT TURN 11',\n",
1613
+ " 'scope': None,\n",
1614
+ " 'sector': None,\n",
1615
+ " 'session_key': 9142},\n",
1616
+ " {'category': 'CarEvent',\n",
1617
+ " 'date': '2023-08-26T09:35:27+00:00',\n",
1618
+ " 'driver_number': 1,\n",
1619
+ " 'flag': None,\n",
1620
+ " 'lap_number': None,\n",
1621
+ " 'meeting_key': 1217,\n",
1622
+ " 'message': 'CAR 1 (VER) OFF TRACK AND CONTINUED AT TURN 3',\n",
1623
+ " 'scope': None,\n",
1624
+ " 'sector': None,\n",
1625
+ " 'session_key': 9144},\n",
1626
+ " {'category': 'CarEvent',\n",
1627
+ " 'date': '2023-08-26T13:04:06+00:00',\n",
1628
+ " 'driver_number': 1,\n",
1629
+ " 'flag': None,\n",
1630
+ " 'lap_number': None,\n",
1631
+ " 'meeting_key': 1217,\n",
1632
+ " 'message': 'CAR 1 (VER) OFF TRACK AND CONTINUED AT TURN 1',\n",
1633
+ " 'scope': None,\n",
1634
+ " 'sector': None,\n",
1635
+ " 'session_key': 9145}]\n",
1636
+ "<class 'list'>\n",
1637
+ "6\n"
1638
+ ]
1639
+ }
1640
+ ],
1641
+ "source": [
1642
+ "example_request = \"race_control?driver_number=1&date>=2023-01-01&date<2023-09-01\"\n",
1643
+ "race_control_data = make_request(example_request, debug=True)\n",
1644
+ "print(type(race_control_data))\n",
1645
+ "print(len(race_control_data))"
1646
+ ]
1647
+ },
1648
+ {
1649
+ "cell_type": "markdown",
1650
+ "id": "55c7dd82",
1651
+ "metadata": {},
1652
+ "source": [
1653
+ "### Sessions"
1654
+ ]
1655
+ },
1656
+ {
1657
+ "cell_type": "code",
1658
+ "execution_count": 13,
1659
+ "id": "0e4ec722",
1660
+ "metadata": {},
1661
+ "outputs": [
1662
+ {
1663
+ "name": "stdout",
1664
+ "output_type": "stream",
1665
+ "text": [
1666
+ "[{'circuit_key': 7,\n",
1667
+ " 'circuit_short_name': 'Spa-Francorchamps',\n",
1668
+ " 'country_code': 'BEL',\n",
1669
+ " 'country_key': 16,\n",
1670
+ " 'country_name': 'Belgium',\n",
1671
+ " 'date_end': '2023-07-29T15:35:00+00:00',\n",
1672
+ " 'date_start': '2023-07-29T15:05:00+00:00',\n",
1673
+ " 'gmt_offset': '02:00:00',\n",
1674
+ " 'location': 'Spa-Francorchamps',\n",
1675
+ " 'meeting_key': 1216,\n",
1676
+ " 'session_key': 9140,\n",
1677
+ " 'session_name': 'Sprint',\n",
1678
+ " 'session_type': 'Race',\n",
1679
+ " 'year': 2023}]\n",
1680
+ "<class 'list'>\n",
1681
+ "1\n"
1682
+ ]
1683
+ }
1684
+ ],
1685
+ "source": [
1686
+ "example_request = \"sessions?country_name=Belgium&session_name=Sprint&year=2023\"\n",
1687
+ "session_data = make_request(example_request, debug=True)\n",
1688
+ "print(type(session_data))\n",
1689
+ "print(len(session_data))"
1690
+ ]
1691
+ },
1692
+ {
1693
+ "cell_type": "markdown",
1694
+ "id": "1b09466a",
1695
+ "metadata": {},
1696
+ "source": [
1697
+ "### Stints"
1698
+ ]
1699
+ },
1700
+ {
1701
+ "cell_type": "code",
1702
+ "execution_count": 14,
1703
+ "id": "4ef68595",
1704
+ "metadata": {},
1705
+ "outputs": [
1706
+ {
1707
+ "name": "stdout",
1708
+ "output_type": "stream",
1709
+ "text": [
1710
+ "[{'compound': 'SOFT',\n",
1711
+ " 'driver_number': 16,\n",
1712
+ " 'lap_end': 20,\n",
1713
+ " 'lap_start': 1,\n",
1714
+ " 'meeting_key': 1219,\n",
1715
+ " 'session_key': 9165,\n",
1716
+ " 'stint_number': 1,\n",
1717
+ " 'tyre_age_at_start': 3},\n",
1718
+ " {'compound': 'SOFT',\n",
1719
+ " 'driver_number': 20,\n",
1720
+ " 'lap_end': 62,\n",
1721
+ " 'lap_start': 44,\n",
1722
+ " 'meeting_key': 1219,\n",
1723
+ " 'session_key': 9165,\n",
1724
+ " 'stint_number': 3,\n",
1725
+ " 'tyre_age_at_start': 3}]\n",
1726
+ "<class 'list'>\n",
1727
+ "2\n"
1728
+ ]
1729
+ }
1730
+ ],
1731
+ "source": [
1732
+ "example_request = \"stints?session_key=9165&tyre_age_at_start>=3\"\n",
1733
+ "stints_data = make_request(example_request, debug=True)\n",
1734
+ "print(type(stints_data))\n",
1735
+ "print(len(stints_data))"
1736
+ ]
1737
+ },
1738
+ {
1739
+ "cell_type": "markdown",
1740
+ "id": "d4d259da",
1741
+ "metadata": {},
1742
+ "source": [
1743
+ "### Team radio"
1744
+ ]
1745
+ },
1746
+ {
1747
+ "cell_type": "code",
1748
+ "execution_count": 15,
1749
+ "id": "bbde82b7",
1750
+ "metadata": {},
1751
+ "outputs": [
1752
+ {
1753
+ "name": "stdout",
1754
+ "output_type": "stream",
1755
+ "text": [
1756
+ "[{'date': '2023-09-15T09:39:02.584000+00:00',\n",
1757
+ " 'driver_number': 1,\n",
1758
+ " 'meeting_key': 1219,\n",
1759
+ " 'recording_url': 'https://livetiming.formula1.com/static/2023/2023-09-17_Singapore_Grand_Prix/2023-09-15_Practice_1/TeamRadio/MAXVER01_1_20230915_103928.mp3',\n",
1760
+ " 'session_key': 9158},\n",
1761
+ " {'date': '2023-09-15T09:45:45.265000+00:00',\n",
1762
+ " 'driver_number': 1,\n",
1763
+ " 'meeting_key': 1219,\n",
1764
+ " 'recording_url': 'https://livetiming.formula1.com/static/2023/2023-09-17_Singapore_Grand_Prix/2023-09-15_Practice_1/TeamRadio/MAXVER01_1_20230915_104611.mp3',\n",
1765
+ " 'session_key': 9158},\n",
1766
+ " {'date': '2023-09-15T10:04:14.239000+00:00',\n",
1767
+ " 'driver_number': 1,\n",
1768
+ " 'meeting_key': 1219,\n",
1769
+ " 'recording_url': 'https://livetiming.formula1.com/static/2023/2023-09-17_Singapore_Grand_Prix/2023-09-15_Practice_1/TeamRadio/MAXVER01_1_20230915_110349.mp3',\n",
1770
+ " 'session_key': 9158}]\n",
1771
+ "<class 'list'>\n",
1772
+ "3\n"
1773
+ ]
1774
+ }
1775
+ ],
1776
+ "source": [
1777
+ "example_request = \"team_radio?session_key=9158&driver_number=1\"\n",
1778
+ "team_radio_data = make_request(example_request, debug=True)\n",
1779
+ "print(type(team_radio_data))\n",
1780
+ "print(len(team_radio_data))"
1781
+ ]
1782
+ },
1783
+ {
1784
+ "cell_type": "markdown",
1785
+ "id": "69ee925f",
1786
+ "metadata": {},
1787
+ "source": [
1788
+ "### Weather "
1789
+ ]
1790
+ },
1791
+ {
1792
+ "cell_type": "code",
1793
+ "execution_count": 16,
1794
+ "id": "f2c41519",
1795
+ "metadata": {},
1796
+ "outputs": [
1797
+ {
1798
+ "name": "stdout",
1799
+ "output_type": "stream",
1800
+ "text": [
1801
+ "[{'air_temperature': 27.8,\n",
1802
+ " 'date': '2023-05-07T18:42:25.233000+00:00',\n",
1803
+ " 'humidity': 58.0,\n",
1804
+ " 'meeting_key': 1208,\n",
1805
+ " 'pressure': 1018.7,\n",
1806
+ " 'rainfall': 0,\n",
1807
+ " 'session_key': 9078,\n",
1808
+ " 'track_temperature': 52.5,\n",
1809
+ " 'wind_direction': 136,\n",
1810
+ " 'wind_speed': 2.4}]\n",
1811
+ "<class 'list'>\n",
1812
+ "1\n"
1813
+ ]
1814
+ }
1815
+ ],
1816
+ "source": [
1817
+ "example_request = \"weather?meeting_key=1208&wind_direction>=130&track_temperature>=52\"\n",
1818
+ "weather_data = make_request(example_request, debug=True)\n",
1819
+ "print(type(weather_data))\n",
1820
+ "print(len(weather_data))"
1821
+ ]
1822
+ },
1823
+ {
1824
+ "cell_type": "code",
1825
+ "execution_count": null,
1826
+ "id": "f13e4f1a",
1827
+ "metadata": {},
1828
+ "outputs": [
1829
+ {
1830
+ "data": {
1831
+ "text/html": [
1832
+ "<div>\n",
1833
+ "<style scoped>\n",
1834
+ " .dataframe tbody tr th:only-of-type {\n",
1835
+ " vertical-align: middle;\n",
1836
+ " }\n",
1837
+ "\n",
1838
+ " .dataframe tbody tr th {\n",
1839
+ " vertical-align: top;\n",
1840
+ " }\n",
1841
+ "\n",
1842
+ " .dataframe thead th {\n",
1843
+ " text-align: right;\n",
1844
+ " }\n",
1845
+ "</style>\n",
1846
+ "<table border=\"1\" class=\"dataframe\">\n",
1847
+ " <thead>\n",
1848
+ " <tr style=\"text-align: right;\">\n",
1849
+ " <th></th>\n",
1850
+ " <th>meeting_key</th>\n",
1851
+ " <th>session_key</th>\n",
1852
+ " <th>location</th>\n",
1853
+ " <th>date_start</th>\n",
1854
+ " <th>date_end</th>\n",
1855
+ " <th>session_type</th>\n",
1856
+ " <th>session_name</th>\n",
1857
+ " <th>country_key</th>\n",
1858
+ " <th>country_code</th>\n",
1859
+ " <th>country_name</th>\n",
1860
+ " <th>circuit_key</th>\n",
1861
+ " <th>circuit_short_name</th>\n",
1862
+ " <th>gmt_offset</th>\n",
1863
+ " <th>year</th>\n",
1864
+ " </tr>\n",
1865
+ " </thead>\n",
1866
+ " <tbody>\n",
1867
+ " <tr>\n",
1868
+ " <th>0</th>\n",
1869
+ " <td>1262</td>\n",
1870
+ " <td>9971</td>\n",
1871
+ " <td>Barcelona</td>\n",
1872
+ " <td>2025-06-01T13:00:00+00:00</td>\n",
1873
+ " <td>2025-06-01T15:00:00+00:00</td>\n",
1874
+ " <td>Race</td>\n",
1875
+ " <td>Race</td>\n",
1876
+ " <td>1</td>\n",
1877
+ " <td>ESP</td>\n",
1878
+ " <td>Spain</td>\n",
1879
+ " <td>15</td>\n",
1880
+ " <td>Catalunya</td>\n",
1881
+ " <td>02:00:00</td>\n",
1882
+ " <td>2025</td>\n",
1883
+ " </tr>\n",
1884
+ " </tbody>\n",
1885
+ "</table>\n",
1886
+ "</div>"
1887
+ ],
1888
+ "text/plain": [
1889
+ " meeting_key session_key location date_start \\\n",
1890
+ "0 1262 9971 Barcelona 2025-06-01T13:00:00+00:00 \n",
1891
+ "\n",
1892
+ " date_end session_type session_name country_key \\\n",
1893
+ "0 2025-06-01T15:00:00+00:00 Race Race 1 \n",
1894
+ "\n",
1895
+ " country_code country_name circuit_key circuit_short_name gmt_offset year \n",
1896
+ "0 ESP Spain 15 Catalunya 02:00:00 2025 "
1897
+ ]
1898
+ },
1899
+ "execution_count": 17,
1900
+ "metadata": {},
1901
+ "output_type": "execute_result"
1902
+ }
1903
+ ],
1904
+ "source": [
1905
+ "# Current session id (called during FP3 in Spain)\n",
1906
+ "respone = make_request(\"sessions?session_key=latest\")\n",
1907
+ "df = pd.DataFrame(respone)\n",
1908
+ "df.head()\n",
1909
+ "# session_key=latest points to the current or the most recent session NOT the upcoming one"
1910
+ ]
1911
+ }
1912
+ ],
1913
+ "metadata": {
1914
+ "kernelspec": {
1915
+ "display_name": "hackaton",
1916
+ "language": "python",
1917
+ "name": "python3"
1918
+ },
1919
+ "language_info": {
1920
+ "codemirror_mode": {
1921
+ "name": "ipython",
1922
+ "version": 3
1923
+ },
1924
+ "file_extension": ".py",
1925
+ "mimetype": "text/x-python",
1926
+ "name": "python",
1927
+ "nbconvert_exporter": "python",
1928
+ "pygments_lexer": "ipython3",
1929
+ "version": "3.12.9"
1930
+ }
1931
+ },
1932
+ "nbformat": 4,
1933
+ "nbformat_minor": 5
1934
+ }