{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "b7d2515e", "metadata": {}, "outputs": [], "source": [ "import json\n", "import pandas as pd\n", "from pprint import pprint\n", "from datetime import datetime\n", "from urllib.request import urlopen" ] }, { "cell_type": "code", "execution_count": null, "id": "f7e75102", "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'timedelta' is not defined", "output_type": "error", "traceback": [ "\u001b[31m---------------------------------------------------------------------------\u001b[39m", "\u001b[31mNameError\u001b[39m Traceback (most recent call last)", "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[2]\u001b[39m\u001b[32m, line 3\u001b[39m\n\u001b[32m 1\u001b[39m spain_race_time = \u001b[33m\"\u001b[39m\u001b[33m2025-06-08T14:00:00+00:00\u001b[39m\u001b[33m\"\u001b[39m \u001b[38;5;66;03m# june 1 2025 15:00\u001b[39;00m\n\u001b[32m 2\u001b[39m spain_qualy_time = \u001b[33m\"\u001b[39m\u001b[33m2025-06-07T14:00:00+00:00\u001b[39m\u001b[33m\"\u001b[39m \u001b[38;5;66;03m# may 31 2025 16:00\u001b[39;00m\n\u001b[32m----> \u001b[39m\u001b[32m3\u001b[39m spain_qualy_time_plus1 = (datetime.strptime(spain_qualy_time, \u001b[33m\"\u001b[39m\u001b[33m%\u001b[39m\u001b[33mY-\u001b[39m\u001b[33m%\u001b[39m\u001b[33mm-\u001b[39m\u001b[38;5;132;01m%d\u001b[39;00m\u001b[33mT\u001b[39m\u001b[33m%\u001b[39m\u001b[33mH:\u001b[39m\u001b[33m%\u001b[39m\u001b[33mM:\u001b[39m\u001b[33m%\u001b[39m\u001b[33mS\u001b[39m\u001b[33m%\u001b[39m\u001b[33mz\u001b[39m\u001b[33m\"\u001b[39m) + \u001b[43mtimedelta\u001b[49m(hours=\u001b[32m1\u001b[39m)).isoformat()\n\u001b[32m 4\u001b[39m now = datetime.now()\n", "\u001b[31mNameError\u001b[39m: name 'timedelta' is not defined" ] } ], "source": [ "spain_race_time = \"2025-06-08T14:00:00+00:00\" # june 1 2025 15:00\n", "spain_qualy_time = \"2025-06-07T14:00:00+00:00\" # may 31 2025 16:00\n", "now = datetime.now()" ] }, { "cell_type": "code", "execution_count": 3, "id": "b5d31092", "metadata": {}, "outputs": [], "source": [ "def make_request(api_action_string: str, debug: bool = False):\n", " try: \n", " response = urlopen(f\"https://api.openf1.org/v1/{api_action_string}\")\n", " data = json.loads(response.read().decode('utf-8'))\n", " if debug: pprint(data)\n", " return data\n", " except Exception as e:\n", " print(f\"Error: {e}\")" ] }, { "cell_type": "markdown", "id": "feddd27c", "metadata": {}, "source": [ "### Car data" ] }, { "cell_type": "code", "execution_count": 4, "id": "599aeec3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[{'brake': 0,\n", " 'date': '2023-09-15T13:03:57.442000+00:00',\n", " 'driver_number': 55,\n", " 'drs': 12,\n", " 'meeting_key': 1219,\n", " 'n_gear': 8,\n", " 'rpm': 11004,\n", " 'session_key': 9159,\n", " 'speed': 311,\n", " 'throttle': 99},\n", " {'brake': 0,\n", " 'date': '2023-09-15T13:03:57.682000+00:00',\n", " 'driver_number': 55,\n", " 'drs': 12,\n", " 'meeting_key': 1219,\n", " 'n_gear': 8,\n", " 'rpm': 10994,\n", " 'session_key': 9159,\n", " 'speed': 312,\n", " 'throttle': 99},\n", " {'brake': 0,\n", " 'date': '2023-09-15T13:08:19.523000+00:00',\n", " 'driver_number': 55,\n", " 'drs': 12,\n", " 'meeting_key': 1219,\n", " 'n_gear': 8,\n", " 'rpm': 11117,\n", " 'session_key': 9159,\n", " 'speed': 313,\n", " 'throttle': 99},\n", " {'brake': 0,\n", " 'date': '2023-09-15T13:08:19.923000+00:00',\n", " 'driver_number': 55,\n", " 'drs': 12,\n", " 'meeting_key': 1219,\n", " 'n_gear': 8,\n", " 'rpm': 11141,\n", " 'session_key': 9159,\n", " 'speed': 315,\n", " 'throttle': 99},\n", " {'brake': 0,\n", " 'date': '2023-09-15T13:12:55.564000+00:00',\n", " 'driver_number': 55,\n", " 'drs': 12,\n", " 'meeting_key': 1219,\n", " 'n_gear': 8,\n", " 'rpm': 11108,\n", " 'session_key': 9159,\n", " 'speed': 313,\n", " 'throttle': 99},\n", " {'brake': 0,\n", " 'date': '2023-09-15T13:12:55.844000+00:00',\n", " 'driver_number': 55,\n", " 'drs': 12,\n", " 'meeting_key': 1219,\n", " 'n_gear': 8,\n", " 'rpm': 10964,\n", " 'session_key': 9159,\n", " 'speed': 313,\n", " 'throttle': 99},\n", " {'brake': 0,\n", " 'date': '2023-09-15T13:26:16.967000+00:00',\n", " 'driver_number': 55,\n", " 'drs': 12,\n", " 'meeting_key': 1219,\n", " 'n_gear': 8,\n", " 'rpm': 11035,\n", " 'session_key': 9159,\n", " 'speed': 311,\n", " 'throttle': 99},\n", " {'brake': 0,\n", " 'date': '2023-09-15T13:26:17.287000+00:00',\n", " 'driver_number': 55,\n", " 'drs': 12,\n", " 'meeting_key': 1219,\n", " 'n_gear': 8,\n", " 'rpm': 11143,\n", " 'session_key': 9159,\n", " 'speed': 312,\n", " 'throttle': 99},\n", " {'brake': 0,\n", " 'date': '2023-09-15T13:26:17.447000+00:00',\n", " 'driver_number': 55,\n", " 'drs': 12,\n", " 'meeting_key': 1219,\n", " 'n_gear': 8,\n", " 'rpm': 11148,\n", " 'session_key': 9159,\n", " 'speed': 313,\n", " 'throttle': 99},\n", " {'brake': 0,\n", " 'date': '2023-09-15T13:26:17.727000+00:00',\n", " 'driver_number': 55,\n", " 'drs': 12,\n", " 'meeting_key': 1219,\n", " 'n_gear': 8,\n", " 'rpm': 11045,\n", " 'session_key': 9159,\n", " 'speed': 314,\n", " 'throttle': 99},\n", " {'brake': 100,\n", " 'date': '2023-09-15T13:26:18.007000+00:00',\n", " 'driver_number': 55,\n", " 'drs': 8,\n", " 'meeting_key': 1219,\n", " 'n_gear': 8,\n", " 'rpm': 10474,\n", " 'session_key': 9159,\n", " 'speed': 312,\n", " 'throttle': 29},\n", " {'brake': 0,\n", " 'date': '2023-09-15T13:35:40.848000+00:00',\n", " 'driver_number': 55,\n", " 'drs': 12,\n", " 'meeting_key': 1219,\n", " 'n_gear': 8,\n", " 'rpm': 11051,\n", " 'session_key': 9159,\n", " 'speed': 312,\n", " 'throttle': 99},\n", " {'brake': 0,\n", " 'date': '2023-09-15T13:35:41.128000+00:00',\n", " 'driver_number': 55,\n", " 'drs': 12,\n", " 'meeting_key': 1219,\n", " 'n_gear': 8,\n", " 'rpm': 11132,\n", " 'session_key': 9159,\n", " 'speed': 313,\n", " 'throttle': 99},\n", " {'brake': 0,\n", " 'date': '2023-09-15T13:35:41.408000+00:00',\n", " 'driver_number': 55,\n", " 'drs': 12,\n", " 'meeting_key': 1219,\n", " 'n_gear': 8,\n", " 'rpm': 11195,\n", " 'session_key': 9159,\n", " 'speed': 314,\n", " 'throttle': 99},\n", " {'brake': 100,\n", " 'date': '2023-09-15T13:35:41.808000+00:00',\n", " 'driver_number': 55,\n", " 'drs': 8,\n", " 'meeting_key': 1219,\n", " 'n_gear': 8,\n", " 'rpm': 11023,\n", " 'session_key': 9159,\n", " 'speed': 315,\n", " 'throttle': 57}]\n" ] }, { "data": { "text/plain": [ "[{'date': '2023-09-15T13:03:57.442000+00:00',\n", " 'session_key': 9159,\n", " 'meeting_key': 1219,\n", " 'driver_number': 55,\n", " 'speed': 311,\n", " 'n_gear': 8,\n", " 'drs': 12,\n", " 'throttle': 99,\n", " 'brake': 0,\n", " 'rpm': 11004},\n", " {'date': '2023-09-15T13:03:57.682000+00:00',\n", " 'session_key': 9159,\n", " 'meeting_key': 1219,\n", " 'driver_number': 55,\n", " 'speed': 312,\n", " 'n_gear': 8,\n", " 'drs': 12,\n", " 'throttle': 99,\n", " 'brake': 0,\n", " 'rpm': 10994},\n", " {'date': '2023-09-15T13:08:19.523000+00:00',\n", " 'session_key': 9159,\n", " 'meeting_key': 1219,\n", " 'driver_number': 55,\n", " 'n_gear': 8,\n", " 'speed': 313,\n", " 'drs': 12,\n", " 'throttle': 99,\n", " 'brake': 0,\n", " 'rpm': 11117},\n", " {'date': '2023-09-15T13:08:19.923000+00:00',\n", " 'session_key': 9159,\n", " 'meeting_key': 1219,\n", " 'driver_number': 55,\n", " 'n_gear': 8,\n", " 'speed': 315,\n", " 'drs': 12,\n", " 'throttle': 99,\n", " 'brake': 0,\n", " 'rpm': 11141},\n", " {'date': '2023-09-15T13:12:55.564000+00:00',\n", " 'session_key': 9159,\n", " 'meeting_key': 1219,\n", " 'driver_number': 55,\n", " 'n_gear': 8,\n", " 'speed': 313,\n", " 'drs': 12,\n", " 'throttle': 99,\n", " 'brake': 0,\n", " 'rpm': 11108},\n", " {'date': '2023-09-15T13:12:55.844000+00:00',\n", " 'session_key': 9159,\n", " 'meeting_key': 1219,\n", " 'driver_number': 55,\n", " 'n_gear': 8,\n", " 'speed': 313,\n", " 'drs': 12,\n", " 'throttle': 99,\n", " 'brake': 0,\n", " 'rpm': 10964},\n", " {'date': '2023-09-15T13:26:16.967000+00:00',\n", " 'session_key': 9159,\n", " 'meeting_key': 1219,\n", " 'driver_number': 55,\n", " 'n_gear': 8,\n", " 'speed': 311,\n", " 'drs': 12,\n", " 'throttle': 99,\n", " 'brake': 0,\n", " 'rpm': 11035},\n", " {'date': '2023-09-15T13:26:17.287000+00:00',\n", " 'session_key': 9159,\n", " 'meeting_key': 1219,\n", " 'driver_number': 55,\n", " 'n_gear': 8,\n", " 'speed': 312,\n", " 'drs': 12,\n", " 'throttle': 99,\n", " 'brake': 0,\n", " 'rpm': 11143},\n", " {'date': '2023-09-15T13:26:17.447000+00:00',\n", " 'session_key': 9159,\n", " 'meeting_key': 1219,\n", " 'driver_number': 55,\n", " 'n_gear': 8,\n", " 'speed': 313,\n", " 'drs': 12,\n", " 'throttle': 99,\n", " 'brake': 0,\n", " 'rpm': 11148},\n", " {'date': '2023-09-15T13:26:17.727000+00:00',\n", " 'session_key': 9159,\n", " 'meeting_key': 1219,\n", " 'driver_number': 55,\n", " 'n_gear': 8,\n", " 'speed': 314,\n", " 'drs': 12,\n", " 'throttle': 99,\n", " 'brake': 0,\n", " 'rpm': 11045},\n", " {'date': '2023-09-15T13:26:18.007000+00:00',\n", " 'session_key': 9159,\n", " 'meeting_key': 1219,\n", " 'driver_number': 55,\n", " 'n_gear': 8,\n", " 'speed': 312,\n", " 'drs': 8,\n", " 'throttle': 29,\n", " 'brake': 100,\n", " 'rpm': 10474},\n", " {'date': '2023-09-15T13:35:40.848000+00:00',\n", " 'session_key': 9159,\n", " 'speed': 312,\n", " 'n_gear': 8,\n", " 'meeting_key': 1219,\n", " 'driver_number': 55,\n", " 'drs': 12,\n", " 'throttle': 99,\n", " 'brake': 0,\n", " 'rpm': 11051},\n", " {'date': '2023-09-15T13:35:41.128000+00:00',\n", " 'session_key': 9159,\n", " 'speed': 313,\n", " 'n_gear': 8,\n", " 'meeting_key': 1219,\n", " 'driver_number': 55,\n", " 'drs': 12,\n", " 'throttle': 99,\n", " 'brake': 0,\n", " 'rpm': 11132},\n", " {'date': '2023-09-15T13:35:41.408000+00:00',\n", " 'session_key': 9159,\n", " 'speed': 314,\n", " 'n_gear': 8,\n", " 'meeting_key': 1219,\n", " 'driver_number': 55,\n", " 'drs': 12,\n", " 'throttle': 99,\n", " 'brake': 0,\n", " 'rpm': 11195},\n", " {'date': '2023-09-15T13:35:41.808000+00:00',\n", " 'session_key': 9159,\n", " 'speed': 315,\n", " 'n_gear': 8,\n", " 'meeting_key': 1219,\n", " 'driver_number': 55,\n", " 'drs': 8,\n", " 'throttle': 57,\n", " 'brake': 100,\n", " 'rpm': 11023}]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Respone object for OpenF1\n", "example_request = \"car_data?driver_number=55&session_key=9159&speed>310\"\n", "make_request(example_request, debug=True)" ] }, { "cell_type": "markdown", "id": "7157f69e", "metadata": {}, "source": [ "### Driver data\n" ] }, { "cell_type": "code", "execution_count": 5, "id": "5a8ba8cd", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[{'broadcast_name': 'M VERSTAPPEN',\n", " 'country_code': 'NED',\n", " 'driver_number': 1,\n", " 'first_name': 'Max',\n", " 'full_name': 'Max VERSTAPPEN',\n", " 'headshot_url': 'https://www.formula1.com/content/dam/fom-website/drivers/M/MAXVER01_Max_Verstappen/maxver01.png.transform/1col/image.png',\n", " 'last_name': 'Verstappen',\n", " 'meeting_key': 1219,\n", " 'name_acronym': 'VER',\n", " 'session_key': 9158,\n", " 'team_colour': '3671C6',\n", " 'team_name': 'Red Bull Racing'}]\n" ] }, { "data": { "text/plain": [ "[{'meeting_key': 1219,\n", " 'session_key': 9158,\n", " 'driver_number': 1,\n", " 'broadcast_name': 'M VERSTAPPEN',\n", " 'full_name': 'Max VERSTAPPEN',\n", " 'name_acronym': 'VER',\n", " 'team_name': 'Red Bull Racing',\n", " 'team_colour': '3671C6',\n", " 'first_name': 'Max',\n", " 'last_name': 'Verstappen',\n", " 'headshot_url': 'https://www.formula1.com/content/dam/fom-website/drivers/M/MAXVER01_Max_Verstappen/maxver01.png.transform/1col/image.png',\n", " 'country_code': 'NED'}]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "example_request = \"drivers?driver_number=1&session_key=9158\"\n", "make_request(example_request, debug=True)" ] }, { "cell_type": "markdown", "id": "b664ad0e", "metadata": {}, "source": [ "### Intervals" ] }, { "cell_type": "code", "execution_count": 6, "id": "67245998", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "intervals?session_key=latest&interval<0.005\n", "[{'date': '2025-06-01T12:04:07.327000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T12:05:25.528000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T12:05:25.539000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:03:27.979000+00:00',\n", " 'driver_number': 4,\n", " 'gap_to_leader': 0.34,\n", " 'interval': 0.004,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:03:31.917000+00:00',\n", " 'driver_number': 10,\n", " 'gap_to_leader': 1.043,\n", " 'interval': 0.004,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:04:40.703000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:06:01+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:07:20.859000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:08:41.153000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:10:01.626000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:11:21.898000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:12:42.802000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:14:03.628000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:15:24.372000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:16:45.279000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:18:06.420000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:19:27.719000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:20:48.608000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:22:09.348000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:23:30.135000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:24:50.804000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:26:11.484000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:27:32.240000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:28:52.995000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:30:14.330000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:31:35.591000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:33:00.798000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:33:17.259000+00:00',\n", " 'driver_number': 1,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:34:33.803000+00:00',\n", " 'driver_number': 1,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:35:53.743000+00:00',\n", " 'driver_number': 1,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:37:13.905000+00:00',\n", " 'driver_number': 1,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:38:34.259000+00:00',\n", " 'driver_number': 1,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:39:55.070000+00:00',\n", " 'driver_number': 1,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:41:15.514000+00:00',\n", " 'driver_number': 1,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:42:38.861000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:43:58.649000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:45:18.368000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:46:38.451000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:47:58.915000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:49:19.198000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:50:39.348000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:51:59.512000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:53:20.039000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:54:39.678000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:55:59.543000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:57:19.833000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T13:58:40.056000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:00:00.105000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:01:19.623000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:02:39.546000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:03:58.731000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:05:18.020000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:06:37.591000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:07:56.975000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:09:20.126000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:10:57.914000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:12:16.716000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:13:35.488000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:14:53.407000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:16:11.126000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:17:42.304000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:20:11.100000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:22:16.599000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:24:28.586000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:26:32.390000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:28:36.272000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:28:47.713000+00:00',\n", " 'driver_number': 6,\n", " 'gap_to_leader': 2.417,\n", " 'interval': 0.004,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:29:52.041000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:31:07.838000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:32:24.199000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:33:40.781000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971},\n", " {'date': '2025-06-01T14:34:57.792000+00:00',\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'session_key': 9971}]\n" ] }, { "data": { "text/plain": [ "[{'date': '2025-06-01T12:04:07.327000+00:00',\n", " 'session_key': 9971,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T12:05:25.528000+00:00',\n", " 'session_key': 9971,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T12:05:25.539000+00:00',\n", " 'session_key': 9971,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:03:27.979000+00:00',\n", " 'session_key': 9971,\n", " 'driver_number': 4,\n", " 'meeting_key': 1262,\n", " 'interval': 0.004,\n", " 'gap_to_leader': 0.34},\n", " {'date': '2025-06-01T13:03:31.917000+00:00',\n", " 'session_key': 9971,\n", " 'driver_number': 10,\n", " 'meeting_key': 1262,\n", " 'interval': 0.004,\n", " 'gap_to_leader': 1.043},\n", " {'date': '2025-06-01T13:04:40.703000+00:00',\n", " 'session_key': 9971,\n", " 'driver_number': 81,\n", " 'meeting_key': 1262,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:06:01+00:00',\n", " 'session_key': 9971,\n", " 'driver_number': 81,\n", " 'meeting_key': 1262,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:07:20.859000+00:00',\n", " 'session_key': 9971,\n", " 'driver_number': 81,\n", " 'meeting_key': 1262,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:08:41.153000+00:00',\n", " 'session_key': 9971,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:10:01.626000+00:00',\n", " 'session_key': 9971,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:11:21.898000+00:00',\n", " 'session_key': 9971,\n", " 'driver_number': 81,\n", " 'meeting_key': 1262,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:12:42.802000+00:00',\n", " 'session_key': 9971,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:14:03.628000+00:00',\n", " 'session_key': 9971,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:15:24.372000+00:00',\n", " 'session_key': 9971,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:16:45.279000+00:00',\n", " 'session_key': 9971,\n", " 'driver_number': 81,\n", " 'meeting_key': 1262,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:18:06.420000+00:00',\n", " 'session_key': 9971,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:19:27.719000+00:00',\n", " 'session_key': 9971,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:20:48.608000+00:00',\n", " 'session_key': 9971,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:22:09.348000+00:00',\n", " 'session_key': 9971,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:23:30.135000+00:00',\n", " 'session_key': 9971,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:24:50.804000+00:00',\n", " 'session_key': 9971,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:26:11.484000+00:00',\n", " 'session_key': 9971,\n", " 'driver_number': 81,\n", " 'meeting_key': 1262,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:27:32.240000+00:00',\n", " 'session_key': 9971,\n", " 'driver_number': 81,\n", " 'meeting_key': 1262,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:28:52.995000+00:00',\n", " 'session_key': 9971,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:30:14.330000+00:00',\n", " 'session_key': 9971,\n", " 'driver_number': 81,\n", " 'meeting_key': 1262,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:31:35.591000+00:00',\n", " 'session_key': 9971,\n", " 'driver_number': 81,\n", " 'meeting_key': 1262,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:33:00.798000+00:00',\n", " 'session_key': 9971,\n", " 'driver_number': 81,\n", " 'meeting_key': 1262,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:33:17.259000+00:00',\n", " 'session_key': 9971,\n", " 'meeting_key': 1262,\n", " 'driver_number': 1,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:34:33.803000+00:00',\n", " 'session_key': 9971,\n", " 'driver_number': 1,\n", " 'meeting_key': 1262,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:35:53.743000+00:00',\n", " 'session_key': 9971,\n", " 'meeting_key': 1262,\n", " 'driver_number': 1,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:37:13.905000+00:00',\n", " 'session_key': 9971,\n", " 'meeting_key': 1262,\n", " 'driver_number': 1,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:38:34.259000+00:00',\n", " 'session_key': 9971,\n", " 'driver_number': 1,\n", " 'meeting_key': 1262,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:39:55.070000+00:00',\n", " 'session_key': 9971,\n", " 'meeting_key': 1262,\n", " 'driver_number': 1,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:41:15.514000+00:00',\n", " 'session_key': 9971,\n", " 'driver_number': 1,\n", " 'meeting_key': 1262,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:42:38.861000+00:00',\n", " 'session_key': 9971,\n", " 'driver_number': 81,\n", " 'meeting_key': 1262,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:43:58.649000+00:00',\n", " 'session_key': 9971,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:45:18.368000+00:00',\n", " 'session_key': 9971,\n", " 'driver_number': 81,\n", " 'meeting_key': 1262,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:46:38.451000+00:00',\n", " 'session_key': 9971,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:47:58.915000+00:00',\n", " 'session_key': 9971,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:49:19.198000+00:00',\n", " 'session_key': 9971,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:50:39.348000+00:00',\n", " 'session_key': 9971,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:51:59.512000+00:00',\n", " 'session_key': 9971,\n", " 'driver_number': 81,\n", " 'meeting_key': 1262,\n", " 'interval': 0.0,\n", " 'gap_to_leader': 0.0},\n", " {'date': '2025-06-01T13:53:20.039000+00:00',\n", " 'session_key': 9971,\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262},\n", " {'date': '2025-06-01T13:54:39.678000+00:00',\n", " 'session_key': 9971,\n", " 'driver_number': 81,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262},\n", " {'date': '2025-06-01T13:55:59.543000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T13:57:19.833000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T13:58:40.056000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T14:00:00.105000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T14:01:19.623000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T14:02:39.546000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T14:03:58.731000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T14:05:18.020000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T14:06:37.591000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T14:07:56.975000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T14:09:20.126000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T14:10:57.914000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T14:12:16.716000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T14:13:35.488000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T14:14:53.407000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T14:16:11.126000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T14:17:42.304000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T14:20:11.100000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T14:22:16.599000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T14:24:28.586000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T14:26:32.390000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T14:28:36.272000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T14:28:47.713000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 2.417,\n", " 'interval': 0.004,\n", " 'meeting_key': 1262,\n", " 'driver_number': 6},\n", " {'date': '2025-06-01T14:29:52.041000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T14:31:07.838000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T14:32:24.199000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T14:33:40.781000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81},\n", " {'date': '2025-06-01T14:34:57.792000+00:00',\n", " 'session_key': 9971,\n", " 'gap_to_leader': 0.0,\n", " 'interval': 0.0,\n", " 'meeting_key': 1262,\n", " 'driver_number': 81}]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "example_request = \"intervals?session_key=latest&interval<0.005\"\n", "print(example_request)\n", "make_request(example_request, debug=True)" ] }, { "cell_type": "markdown", "id": "c0ca724c", "metadata": {}, "source": [ "### Laps" ] }, { "cell_type": "code", "execution_count": 7, "id": "3fe54706", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[{'date_start': '2023-09-16T13:59:07.606000+00:00',\n", " 'driver_number': 63,\n", " 'duration_sector_1': 26.966,\n", " 'duration_sector_2': 38.657,\n", " 'duration_sector_3': 26.12,\n", " 'i1_speed': 307,\n", " 'i2_speed': 277,\n", " 'is_pit_out_lap': False,\n", " 'lap_duration': 96.677,\n", " 'lap_number': 8,\n", " 'meeting_key': 1219,\n", " 'segments_sector_1': [2049, 2049, 2049, 2051, 2049, 2051, 2049, 2049],\n", " 'segments_sector_2': [2049, 2049, 2049, 2049, 2049, 2049, 2049, 2049],\n", " 'segments_sector_3': [2049, 2049, 2049, 2049, 2049, 2049, 2049, 0],\n", " 'session_key': 9161,\n", " 'st_speed': 298}]\n", "\n", "1\n" ] } ], "source": [ "example_request = \"laps?session_key=9161&driver_number=63&lap_number=8\"\n", "lap_data = make_request(example_request, debug=True)\n", "print(type(lap_data))\n", "print(len(lap_data))" ] }, { "cell_type": "markdown", "id": "a47ed171", "metadata": {}, "source": [ "### Location" ] }, { "cell_type": "code", "execution_count": 8, "id": "6a9d02a7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[{'date': '2023-09-16T13:03:35.292000+00:00',\n", " 'driver_number': 81,\n", " 'meeting_key': 1219,\n", " 'session_key': 9161,\n", " 'x': 567,\n", " 'y': 3195,\n", " 'z': 187},\n", " {'date': '2023-09-16T13:03:35.752000+00:00',\n", " 'driver_number': 81,\n", " 'meeting_key': 1219,\n", " 'session_key': 9161,\n", " 'x': 489,\n", " 'y': 3403,\n", " 'z': 186}]\n", "\n", "2\n" ] } ], "source": [ "example_request = \"location?session_key=9161&driver_number=81&date>2023-09-16T13:03:35.200&date<2023-09-16T13:03:35.800\"\n", "location_data = make_request(example_request, debug=True)\n", "print(type(location_data))\n", "print(len(location_data))" ] }, { "cell_type": "markdown", "id": "7517ee32", "metadata": {}, "source": [ "### Meeting" ] }, { "cell_type": "code", "execution_count": 9, "id": "f18c3b6b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[{'circuit_key': 61,\n", " 'circuit_short_name': 'Singapore',\n", " 'country_code': 'SGP',\n", " 'country_key': 157,\n", " 'country_name': 'Singapore',\n", " 'date_start': '2023-09-15T09:30:00+00:00',\n", " 'gmt_offset': '08:00:00',\n", " 'location': 'Marina Bay',\n", " 'meeting_code': 'SGP',\n", " 'meeting_key': 1219,\n", " 'meeting_name': 'Singapore Grand Prix',\n", " 'meeting_official_name': 'FORMULA 1 SINGAPORE AIRLINES SINGAPORE GRAND PRIX '\n", " '2023 ',\n", " 'year': 2023}]\n", "\n", "1\n" ] } ], "source": [ "example_request = \"meetings?year=2023&country_name=Singapore\"\n", "meeting_data = make_request(example_request, debug=True)\n", "print(type(meeting_data))\n", "print(len(meeting_data))" ] }, { "cell_type": "markdown", "id": "ddbc8259", "metadata": {}, "source": [ "### Pit" ] }, { "cell_type": "code", "execution_count": 10, "id": "8af5a471", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[{'date': '2023-09-15T09:38:23.038000+00:00',\n", " 'driver_number': 63,\n", " 'lap_number': 5,\n", " 'meeting_key': 1219,\n", " 'pit_duration': 24.5,\n", " 'session_key': 9158},\n", " {'date': '2023-09-15T10:05:01.229000+00:00',\n", " 'driver_number': 81,\n", " 'lap_number': 13,\n", " 'meeting_key': 1219,\n", " 'pit_duration': 30.8,\n", " 'session_key': 9158}]\n", "\n", "2\n" ] } ], "source": [ "example_request = \"pit?session_key=9158&pit_duration<31\"\n", "pit_data = make_request(example_request, debug=True)\n", "print(type(pit_data))\n", "print(len(pit_data))" ] }, { "cell_type": "markdown", "id": "d12d5447", "metadata": {}, "source": [ "### Position" ] }, { "cell_type": "code", "execution_count": 11, "id": "2d29ea4b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[{'date': '2023-08-26T09:30:47.199000+00:00',\n", " 'driver_number': 40,\n", " 'meeting_key': 1217,\n", " 'position': 2,\n", " 'session_key': 9144},\n", " {'date': '2023-08-26T09:35:51.477000+00:00',\n", " 'driver_number': 40,\n", " 'meeting_key': 1217,\n", " 'position': 3,\n", " 'session_key': 9144}]\n", "\n", "2\n" ] } ], "source": [ "example_request = \"position?meeting_key=1217&driver_number=40&position<=3\"\n", "position_data = make_request(example_request, debug=True)\n", "print(type(position_data))\n", "print(len(position_data))" ] }, { "cell_type": "markdown", "id": "30c77bbb", "metadata": {}, "source": [ "### Race control" ] }, { "cell_type": "code", "execution_count": 12, "id": "203b0f2f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[{'category': 'CarEvent',\n", " 'date': '2023-03-31T02:24:03+00:00',\n", " 'driver_number': 1,\n", " 'flag': None,\n", " 'lap_number': None,\n", " 'meeting_key': 1143,\n", " 'message': 'CAR 1 (VER) SPUN AND CONTINUED AT TURN 4',\n", " 'scope': None,\n", " 'sector': None,\n", " 'session_key': 7780},\n", " {'category': 'CarEvent',\n", " 'date': '2023-04-02T06:30:08+00:00',\n", " 'driver_number': 1,\n", " 'flag': None,\n", " 'lap_number': 48,\n", " 'meeting_key': 1143,\n", " 'message': 'CAR 1 (VER) OFF TRACK AND CONTINUED AT TURN 13',\n", " 'scope': None,\n", " 'sector': None,\n", " 'session_key': 7787},\n", " {'category': 'Flag',\n", " 'date': '2023-06-04T14:21:01+00:00',\n", " 'driver_number': 1,\n", " 'flag': 'BLACK AND WHITE',\n", " 'lap_number': 59,\n", " 'meeting_key': 1211,\n", " 'message': 'BLACK AND WHITE FLAG FOR CAR 1 (VER) - TRACK LIMITS',\n", " 'scope': 'Driver',\n", " 'sector': None,\n", " 'session_key': 9102},\n", " {'category': 'CarEvent',\n", " 'date': '2023-08-25T11:31:09+00:00',\n", " 'driver_number': 1,\n", " 'flag': None,\n", " 'lap_number': None,\n", " 'meeting_key': 1217,\n", " 'message': 'CAR 1 (VER) OFF TRACK AND CONTINUED AT TURN 11',\n", " 'scope': None,\n", " 'sector': None,\n", " 'session_key': 9142},\n", " {'category': 'CarEvent',\n", " 'date': '2023-08-26T09:35:27+00:00',\n", " 'driver_number': 1,\n", " 'flag': None,\n", " 'lap_number': None,\n", " 'meeting_key': 1217,\n", " 'message': 'CAR 1 (VER) OFF TRACK AND CONTINUED AT TURN 3',\n", " 'scope': None,\n", " 'sector': None,\n", " 'session_key': 9144},\n", " {'category': 'CarEvent',\n", " 'date': '2023-08-26T13:04:06+00:00',\n", " 'driver_number': 1,\n", " 'flag': None,\n", " 'lap_number': None,\n", " 'meeting_key': 1217,\n", " 'message': 'CAR 1 (VER) OFF TRACK AND CONTINUED AT TURN 1',\n", " 'scope': None,\n", " 'sector': None,\n", " 'session_key': 9145}]\n", "\n", "6\n" ] } ], "source": [ "example_request = \"race_control?driver_number=1&date>=2023-01-01&date<2023-09-01\"\n", "race_control_data = make_request(example_request, debug=True)\n", "print(type(race_control_data))\n", "print(len(race_control_data))" ] }, { "cell_type": "markdown", "id": "55c7dd82", "metadata": {}, "source": [ "### Sessions" ] }, { "cell_type": "code", "execution_count": 13, "id": "0e4ec722", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[{'circuit_key': 7,\n", " 'circuit_short_name': 'Spa-Francorchamps',\n", " 'country_code': 'BEL',\n", " 'country_key': 16,\n", " 'country_name': 'Belgium',\n", " 'date_end': '2023-07-29T15:35:00+00:00',\n", " 'date_start': '2023-07-29T15:05:00+00:00',\n", " 'gmt_offset': '02:00:00',\n", " 'location': 'Spa-Francorchamps',\n", " 'meeting_key': 1216,\n", " 'session_key': 9140,\n", " 'session_name': 'Sprint',\n", " 'session_type': 'Race',\n", " 'year': 2023}]\n", "\n", "1\n" ] } ], "source": [ "example_request = \"sessions?country_name=Belgium&session_name=Sprint&year=2023\"\n", "session_data = make_request(example_request, debug=True)\n", "print(type(session_data))\n", "print(len(session_data))" ] }, { "cell_type": "markdown", "id": "1b09466a", "metadata": {}, "source": [ "### Stints" ] }, { "cell_type": "code", "execution_count": 14, "id": "4ef68595", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[{'compound': 'SOFT',\n", " 'driver_number': 16,\n", " 'lap_end': 20,\n", " 'lap_start': 1,\n", " 'meeting_key': 1219,\n", " 'session_key': 9165,\n", " 'stint_number': 1,\n", " 'tyre_age_at_start': 3},\n", " {'compound': 'SOFT',\n", " 'driver_number': 20,\n", " 'lap_end': 62,\n", " 'lap_start': 44,\n", " 'meeting_key': 1219,\n", " 'session_key': 9165,\n", " 'stint_number': 3,\n", " 'tyre_age_at_start': 3}]\n", "\n", "2\n" ] } ], "source": [ "example_request = \"stints?session_key=9165&tyre_age_at_start>=3\"\n", "stints_data = make_request(example_request, debug=True)\n", "print(type(stints_data))\n", "print(len(stints_data))" ] }, { "cell_type": "markdown", "id": "d4d259da", "metadata": {}, "source": [ "### Team radio" ] }, { "cell_type": "code", "execution_count": 15, "id": "bbde82b7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[{'date': '2023-09-15T09:39:02.584000+00:00',\n", " 'driver_number': 1,\n", " 'meeting_key': 1219,\n", " '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", " 'session_key': 9158},\n", " {'date': '2023-09-15T09:45:45.265000+00:00',\n", " 'driver_number': 1,\n", " 'meeting_key': 1219,\n", " '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", " 'session_key': 9158},\n", " {'date': '2023-09-15T10:04:14.239000+00:00',\n", " 'driver_number': 1,\n", " 'meeting_key': 1219,\n", " '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", " 'session_key': 9158}]\n", "\n", "3\n" ] } ], "source": [ "example_request = \"team_radio?session_key=9158&driver_number=1\"\n", "team_radio_data = make_request(example_request, debug=True)\n", "print(type(team_radio_data))\n", "print(len(team_radio_data))" ] }, { "cell_type": "markdown", "id": "69ee925f", "metadata": {}, "source": [ "### Weather " ] }, { "cell_type": "code", "execution_count": 16, "id": "f2c41519", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[{'air_temperature': 27.8,\n", " 'date': '2023-05-07T18:42:25.233000+00:00',\n", " 'humidity': 58.0,\n", " 'meeting_key': 1208,\n", " 'pressure': 1018.7,\n", " 'rainfall': 0,\n", " 'session_key': 9078,\n", " 'track_temperature': 52.5,\n", " 'wind_direction': 136,\n", " 'wind_speed': 2.4}]\n", "\n", "1\n" ] } ], "source": [ "example_request = \"weather?meeting_key=1208&wind_direction>=130&track_temperature>=52\"\n", "weather_data = make_request(example_request, debug=True)\n", "print(type(weather_data))\n", "print(len(weather_data))" ] }, { "cell_type": "code", "execution_count": null, "id": "f13e4f1a", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
meeting_keysession_keylocationdate_startdate_endsession_typesession_namecountry_keycountry_codecountry_namecircuit_keycircuit_short_namegmt_offsetyear
012629971Barcelona2025-06-01T13:00:00+00:002025-06-01T15:00:00+00:00RaceRace1ESPSpain15Catalunya02:00:002025
\n", "
" ], "text/plain": [ " meeting_key session_key location date_start \\\n", "0 1262 9971 Barcelona 2025-06-01T13:00:00+00:00 \n", "\n", " date_end session_type session_name country_key \\\n", "0 2025-06-01T15:00:00+00:00 Race Race 1 \n", "\n", " country_code country_name circuit_key circuit_short_name gmt_offset year \n", "0 ESP Spain 15 Catalunya 02:00:00 2025 " ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Current session id (called during FP3 in Spain)\n", "respone = make_request(\"sessions?session_key=latest\")\n", "df = pd.DataFrame(respone)\n", "df.head()\n", "# session_key=latest points to the current or the most recent session NOT the upcoming one" ] } ], "metadata": { "kernelspec": { "display_name": "hackaton", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.9" } }, "nbformat": 4, "nbformat_minor": 5 }