Easily pull telemetry data and create beautiful visualizations for analysis.

Overview

  This repository is a work in progress. Anything and everything is subject to change.

Porpo


Table of Contents


General Information

Porpo is a python application that utilizes the FastF1 package to easily pull specific data and generate visualizations for analysis.

Note: Python3 (v.3.8 or greater) is required.

Getting Started

Currently, there is not a simple way to run the program. However, getting it up and running is very easy, regardless of platform.

Install Dependencies:

pip3 install fastf1
pip3 install PySimpleGUI

There are 2 methods of execution:

/scripts/gui.py to begin using the application with a GUI. (Recommended)

/scripts/main.py to begin using the application in CLI.

Usage

Porpo allows you to individually set all the variables for evaluation.

You start by selecting the year the Grand Prix took place.

Then select the Grand Prix you want.

Then select the session from the Grand Prix.

Note: No GP has all sessions.

Next, select the driver you'd like to evaluate.

Now decide if you're going to evaluate the full session, or a specific lap, or easily select the fastest lap set by your chosen driver.

Check the FastF1 documentation to see everything that is available for each option.

The last step is to select which variables you want displayed on the axes (X and Y).

Be aware that although you can select any available data as either variable, some combinations may not perform as expected - or at all.

The plot will show up in a new window, and automatically save to your export directory when the graph is closed.

If you're unsure where your export directory is, the default is:

~/Documents/F1 Data Analysis/Export/

 

To change this directory, edit the save_path variable in scripts/gui.py

  save_path = '~/Documents/F1 Data Analysis/Export/'

Specific Lap

You can easily pull and visualize data for a single lap of a session.

VER_SpeedL_Bah

Max Verstappen speed on Lap 54 of the 2022 Bahrain GP. We can see he was losing power throughout the lap, up until the moment he completely lost power, and went into the pitlane.

Fastest Lap

By default, you can quickly do analysis of the fastest lap set by the selected driver during a session.

VER_SpeedF_Bah

Max Verstappen speed on the fastest lap he set in 2022 Bahrain GP. We can the difference between this lap and lap 54, when he retired.

Session

You can also quickly do an analysis of a driver's performance through an entire session.

VER_SpeedF_Bah

Max Verstappen laptime over the course of the Imola GP. We can see as the track began to dry, laptimes began to fall very quickly.
You might also like...
A Sklearn-like Framework for Hyperparameter Tuning and AutoML in Deep Learning projects. Finally have the right abstractions and design patterns to properly do AutoML. Let your pipeline steps have hyperparameter spaces. Enable checkpoints to cut duplicate calculations. Go from research to production environment easily. sequitur is a library that lets you create and train an autoencoder for sequential data in just two lines of code
sequitur is a library that lets you create and train an autoencoder for sequential data in just two lines of code

sequitur sequitur is a library that lets you create and train an autoencoder for sequential data in just two lines of code. It implements three differ

A project which aims to protect your privacy using inexpensive hardware and easily modifiable software
A project which aims to protect your privacy using inexpensive hardware and easily modifiable software

Protecting your privacy using an ESP32, an IR sensor and a python script This project, which I personally call the "never-gonna-catch-me-in-the-act-ev

Easily benchmark PyTorch model FLOPs, latency, throughput, max allocated memory and energy consumption

⏱ pytorch-benchmark Easily benchmark model inference FLOPs, latency, throughput, max allocated memory and energy consumption Install pip install pytor

Create Data & AI apps in 20 lines of code with Shimoku

Install with: pip install shimoku-api-python Start with: from os import getenv import shimoku_api_python.client as Shimoku

IPATool-py: download ipa easily

IPATool-py Python version of IPATool! Installation pip3 install -r requirements.txt Usage Quickstart: download app with specific bundleId into DIR: p

Tracking Pipeline helps you to solve the tracking problem more easily
Tracking Pipeline helps you to solve the tracking problem more easily

Tracking_Pipeline Tracking_Pipeline helps you to solve the tracking problem more easily I integrate detection algorithms like: Yolov5, Yolov4, YoloX,

This application explain how we can easily integrate Deepface framework with Python Django application

deepface_suite This application explain how we can easily integrate Deepface framework with Python Django application install redis cache install requ

A Python script that creates subtitles of a given length from text paragraphs that can be easily imported into any Video Editing software such as FinalCut Pro for further adjustments.
A Python script that creates subtitles of a given length from text paragraphs that can be easily imported into any Video Editing software such as FinalCut Pro for further adjustments.

Text to Subtitles - Python This python file creates subtitles of a given length from text paragraphs that can be easily imported into any Video Editin

Comments
  • UnboundLocalError: local variable 'self' referenced before assignment

    UnboundLocalError: local variable 'self' referenced before assignment

    Gets a error code. How can i look at the exported data? Only thing i find under the exported track is filenames that ends with .ff1pkl Example: cardata.ff1pkl, driverinfo.ff1pkl And the error code is: UnboundLocalError: local variable 'self' referenced before assignment

    opened by jeveli 12
  • Cache directory does not exist

    Cache directory does not exist

    This is what I'm getting.

    C:\Users\james\Desktop\GitHub\porpo\scripts>python gui.py Traceback (most recent call last): File "C:\Users\james\Desktop\GitHub\porpo\scripts\gui.py", line 9, in class Dirs(): File "C:\Users\james\Desktop\GitHub\porpo\scripts\gui.py", line 28, in Dirs fastf1.Cache.enable_cache(cache_path) File "C:\Users\james\AppData\Local\Programs\Python\Python310\lib\site-packages\fastf1\api.py", line 133, in enable_cache raise NotADirectoryError("Cache directory does not exist! Please check for typos or create it first.") NotADirectoryError: Cache directory does not exist! Please check for typos or create it first.

    C:\Users\james\Desktop\GitHub\porpo\scripts>python main.py Traceback (most recent call last): File "C:\Users\james\Desktop\GitHub\porpo\scripts\main.py", line 8, in fastf1.Cache.enable_cache('venv/F1/Cache/') File "C:\Users\james\AppData\Local\Programs\Python\Python310\lib\site-packages\fastf1\api.py", line 133, in enable_cache raise NotADirectoryError("Cache directory does not exist! Please check for typos or create it first.") NotADirectoryError: Cache directory does not exist! Please check for typos or create it first.

    opened by DrMurgz 1
Releases(v1.4.2-beta.stable)
  • v1.4.2-beta.stable(Jul 28, 2022)

  • v1.4.1-beta.stable(Jul 27, 2022)

  • v1.4.0-beta.stable(Jul 27, 2022)

    What's Changed

    • fixed cache error by @dawesry in https://github.com/dawesry/porpo/pull/26
    • fixed driver spec lap error by @dawesry in https://github.com/dawesry/porpo/pull/27
    • fixed export error by @dawesry in #29

    Full Changelog: https://github.com/dawesry/porpo/compare/v1.3.0-beta.stable...v1.4.0-beta.stable

    Source code(tar.gz)
    Source code(zip)
  • v2.3.0-alpha.nightly(May 24, 2022)

    What's Changed

    • Nightly by @dtech-auto in https://github.com/dtech-auto/porpo/pull/23
    • fixed single driver full session error by @dtech-auto in https://github.com/dtech-auto/porpo/pull/24
    • stability update by @dtech-auto in https://github.com/dtech-auto/porpo/pull/25

    Full Changelog: https://github.com/dtech-auto/porpo/compare/v1.2.2-beta.stable...v2.3.0-alpha.nightly

    Source code(tar.gz)
    Source code(zip)
  • v1.3.0-beta.stable(May 24, 2022)

    What's Changed

    • Nightly by @dtech-auto in https://github.com/dtech-auto/porpo/pull/23
    • fixed single driver full session error by @dtech-auto in https://github.com/dtech-auto/porpo/pull/24
    • stability update by @dtech-auto in https://github.com/dtech-auto/porpo/pull/25

    Full Changelog: https://github.com/dtech-auto/porpo/compare/v1.2.2-beta.stable...v1.3.0-beta.stable

    Source code(tar.gz)
    Source code(zip)
  • v2.2.1-alpha.nightly(May 23, 2022)

    What's Changed

    • Fixed single driver plot error by @dtech-auto

    Full Changelog: https://github.com/dtech-auto/porpo/compare/v2.2.0-alpha.nightly...v2.2.1-alpha.nightly

    Source code(tar.gz)
    Source code(zip)
  • v2.2.0-alpha.nightly(May 23, 2022)

    What's Changed

    • drivercomp working - fastest only by @dtech-auto in https://github.com/dtech-auto/porpo/pull/19

    Full Changelog: https://github.com/dtech-auto/porpo/compare/v2.1.2-alpha.nightly...v2.2.0-alpha.nightly

    Source code(tar.gz)
    Source code(zip)
  • v2.1.2-alpha.nightly(May 23, 2022)

    Added compare - non functioning

    What's Changed

    • update README.md by @dtech-auto in https://github.com/dtech-auto/porpo/pull/15
    • Update gui.py by @dtech-auto in https://github.com/dtech-auto/porpo/pull/18

    Full Changelog: https://github.com/dtech-auto/porpo/compare/v1.0.2-beta.stable...v2.1.2-alpha.nightly

    Source code(tar.gz)
    Source code(zip)
  • v1.2.2-beta.stable(May 23, 2022)

    What's Changed

    GUI Updates

    • GUI Stability Updates by @dtech-auto in https://github.com/dtech-auto/porpo/pull/16

    New Features

    • NEW! Compare every driver, or a custom few, using the new Driver Compare feature! by @dtech-auto in https://github.com/dtech-auto/porpo/pull/21

    Bug Fixes

    • General bug fixes by @dtech-auto in https://github.com/dtech-auto/porpo/pull/22

    Full Changelog: https://github.com/dtech-auto/porpo/compare/v2.2.1-alpha.nightly...v1.2.2-beta.stable

    Source code(tar.gz)
    Source code(zip)
  • v1.1.0-beta.stable(May 21, 2022)

    What's Changed

    • update README.md by @dtech-auto in https://github.com/dtech-auto/porpo/pull/15
    • update gui --STABLE by @dtech-auto in https://github.com/dtech-auto/porpo/pull/16

    Full Changelog: https://github.com/dtech-auto/porpo/compare/v1.1.2-alpha.stable...v1.1.0-beta.stable

    Source code(tar.gz)
    Source code(zip)
  • v1.0.2-beta.stable(May 21, 2022)

    What's Changed

    • Nightly by @dtech-auto in https://github.com/dtech-auto/porpo/pull/10
    • Nightly by @dtech-auto in https://github.com/dtech-auto/porpo/pull/13
    • fixed issue #11 by @dtech-auto in https://github.com/dtech-auto/porpo/pull/14

    Full Changelog: https://github.com/dtech-auto/porpo/compare/v2.1.1-alpha.nightly...v1.1.2-alpha.stable

    Source code(tar.gz)
    Source code(zip)
  • v2.1.1-alpha.nightly(May 20, 2022)

    What's Changed

    • updated directory by @dtech-auto in https://github.com/dtech-auto/porpo/pull/6

    Full Changelog: https://github.com/dtech-auto/porpo/compare/v2.1.0-alpha.nightly...v2.1.1-alpha.nightly

    Source code(tar.gz)
    Source code(zip)
  • v2.1.0-alpha.nightly(May 20, 2022)

  • v2.0.0-alpha.nightly(May 20, 2022)

  • v1.0.1-beta.stable(May 20, 2022)

  • v1.0.0-beta.stable(May 20, 2022)

  • v1.1.0-alpha.stable(May 19, 2022)

  • v1.1.0-alpha.nightly(May 19, 2022)

  • v1.0.0-alpha.nightly(May 18, 2022)

    What's Changed

    • Nightly by @dtech-auto in https://github.com/dtech-auto/porpo/pull/5

    Full Changelog: https://github.com/dtech-auto/porpo/compare/v1.0.0-alpha...v1.0.0-alpha.nightly

    Source code(tar.gz)
    Source code(zip)
  • v1.0.0-alpha(May 17, 2022)

    What's Changed

    • Directory cleaning by @dtech-auto in https://github.com/dtech-auto/F1DataAnalysis/pull/3
    • Nightly by @dtech-auto in https://github.com/dtech-auto/F1DataAnalysis/pull/4

    New Contributors

    • @dtech-auto made their first contribution in https://github.com/dtech-auto/F1DataAnalysis/pull/3

    Full Changelog: https://github.com/dtech-auto/F1DataAnalysis/commits/v1.0.0-alpha

    Source code(tar.gz)
    Source code(zip)
Owner
Ryan Dawes
Ryan Dawes
Hunt down social media accounts by username across social networks

Hunt down social media accounts by username across social networks Installation | Usage | Docker Notes | Contributing Installation # clone the repo $

1 Dec 14, 2021
Stacs-ci - A set of modules to enable integration of STACS with commonly used CI / CD systems

Static Token And Credential Scanner CI Integrations What is it? STACS is a YARA

STACS 18 Aug 04, 2022
SoGCN: Second-Order Graph Convolutional Networks

SoGCN: Second-Order Graph Convolutional Networks This is the authors' implementation of paper "SoGCN: Second-Order Graph Convolutional Networks" in Py

Yuehao 7 Aug 16, 2022
AI drive app that can help user become beautiful.

爱美丽 Beauty 简体中文 Features Beauty is an AI drive app that can help user become beautiful. it contain those functions: face score cheek face beauty repor

Starved Midnight 1 Jan 30, 2022
Deep Reinforcement Learning based autonomous navigation for quadcopters using PPO algorithm.

PPO-based Autonomous Navigation for Quadcopters This repository contains an implementation of Proximal Policy Optimization (PPO) for autonomous naviga

Bilal Kabas 16 Nov 11, 2022
Deep Learning Tutorial for Kaggle Ultrasound Nerve Segmentation competition, using Keras

Deep Learning Tutorial for Kaggle Ultrasound Nerve Segmentation competition, using Keras This tutorial shows how to use Keras library to build deep ne

Marko Jocić 922 Dec 19, 2022
Autoregressive Models in PyTorch.

Autoregressive This repository contains all the necessary PyTorch code, tailored to my presentation, to train and generate data from WaveNet-like auto

Christoph Heindl 41 Oct 09, 2022
How to Learn a Domain Adaptive Event Simulator? ACM MM, 2021

LETGAN How to Learn a Domain Adaptive Event Simulator? ACM MM 2021 Running Environment: pytorch=1.4, 1 NVIDIA-1080TI. More details can be found in pap

CVTEAM 4 Sep 20, 2022
Code repository for paper `Skeleton Merger: an Unsupervised Aligned Keypoint Detector`.

Skeleton Merger Skeleton Merger, an Unsupervised Aligned Keypoint Detector. The paper is available at https://arxiv.org/abs/2103.10814. A map of the r

北海若 48 Nov 14, 2022
Implementation of TransGanFormer, an all-attention GAN that combines the finding from the recent GanFormer and TransGan paper

TransGanFormer (wip) Implementation of TransGanFormer, an all-attention GAN that combines the finding from the recent GansFormer and TransGan paper. I

Phil Wang 146 Dec 06, 2022
Tensorflow implementation for Self-supervised Graph Learning for Recommendation

If the compilation is successful, the evaluator of cpp implementation will be called automatically. Otherwise, the evaluator of python implementation will be called.

152 Jan 07, 2023
Serverless proxy for Spark cluster

Hydrosphere Mist Hydrosphere Mist is a serverless proxy for Spark cluster. Mist provides a new functional programming framework and deployment model f

hydrosphere.io 317 Dec 01, 2022
Official PyTorch implementation of "Edge Rewiring Goes Neural: Boosting Network Resilience via Policy Gradient".

Edge Rewiring Goes Neural: Boosting Network Resilience via Policy Gradient This repository is the official PyTorch implementation of "Edge Rewiring Go

Shanchao Yang 4 Dec 12, 2022
Jupyter notebooks for the code samples of the book "Deep Learning with Python"

Jupyter notebooks for the code samples of the book "Deep Learning with Python"

François Chollet 16.2k Dec 30, 2022
1st ranked 'driver careless behavior detection' for AI Online Competition 2021, hosted by MSIT Korea.

2021AICompetition-03 본 repo 는 mAy-I Inc. 팀으로 참가한 2021 인공지능 온라인 경진대회 중 [이미지] 운전 사고 예방을 위한 운전자 부주의 행동 검출 모델] 태스크 수행을 위한 레포지토리입니다. mAy-I 는 과학기술정보통신부가 주최하

Junhyuk Park 9 Dec 01, 2022
FedMM: Saddle Point Optimization for Federated Adversarial Domain Adaptation

This repository contains the code accompanying the paper " FedMM: Saddle Point Optimization for Federated Adversarial Domain Adaptation" Paper link: R

20 Jun 29, 2022
Deep-learning X-Ray Micro-CT image enhancement, pore-network modelling and continuum modelling

EDSR modelling A Github repository for deep-learning image enhancement, pore-network and continuum modelling from X-Ray Micro-CT images. The repositor

Samuel Jackson 7 Nov 03, 2022
GeneDisco is a benchmark suite for evaluating active learning algorithms for experimental design in drug discovery.

GeneDisco is a benchmark suite for evaluating active learning algorithms for experimental design in drug discovery.

22 Dec 12, 2022
A simple algorithm for extracting tree height in sparse scene from point cloud data.

TREE HEIGHT EXTRACTION IN SPARSE SCENES BASED ON UAV REMOTE SENSING This is the offical python implementation of the paper "Tree Height Extraction in

6 Oct 28, 2022
2021 credit card consuming recommendation

2021 credit card consuming recommendation

Wang, Chung-Che 7 Mar 08, 2022