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
Datasets and pretrained Models for StyleGAN3 ...

Datasets and pretrained Models for StyleGAN3 ... Dear arfiticial friend, this is a collection of artistic datasets and models that we have put togethe

lucid layers 34 Oct 06, 2022
An efficient PyTorch implementation of the winning entry of the 2017 VQA Challenge.

Bottom-Up and Top-Down Attention for Visual Question Answering An efficient PyTorch implementation of the winning entry of the 2017 VQA Challenge. The

Hengyuan Hu 731 Jan 03, 2023
A GPT, made only of MLPs, in Jax

MLP GPT - Jax (wip) A GPT, made only of MLPs, in Jax. The specific MLP to be used are gMLPs with the Spatial Gating Units. Working Pytorch implementat

Phil Wang 53 Sep 27, 2022
CVPR 2021 Official Pytorch Code for UC2: Universal Cross-lingual Cross-modal Vision-and-Language Pre-training

UC2 UC2: Universal Cross-lingual Cross-modal Vision-and-Language Pre-training Mingyang Zhou, Luowei Zhou, Shuohang Wang, Yu Cheng, Linjie Li, Zhou Yu,

Mingyang Zhou 28 Dec 30, 2022
CPPE - 5 (Medical Personal Protective Equipment) is a new challenging object detection dataset

CPPE - 5 CPPE - 5 (Medical Personal Protective Equipment) is a new challenging dataset with the goal to allow the study of subordinate categorization

Rishit Dagli 53 Dec 17, 2022
A denoising diffusion probabilistic model (DDPM) tailored for conditional generation of protein distograms

Denoising Diffusion Probabilistic Model for Proteins Implementation of Denoising Diffusion Probabilistic Model in Pytorch. It is a new approach to gen

Phil Wang 108 Nov 23, 2022
[CVPR 2022] Deep Equilibrium Optical Flow Estimation

Deep Equilibrium Optical Flow Estimation This is the official repo for the paper Deep Equilibrium Optical Flow Estimation (CVPR 2022), by Shaojie Bai*

CMU Locus Lab 136 Dec 18, 2022
Auto Seg-Loss: Searching Metric Surrogates for Semantic Segmentation

Auto-Seg-Loss By Hao Li, Chenxin Tao, Xizhou Zhu, Xiaogang Wang, Gao Huang, Jifeng Dai This is the official implementation of the ICLR 2021 paper Auto

61 Dec 21, 2022
A Vision Transformer approach that uses concatenated query and reference images to learn the relationship between query and reference images directly.

A Vision Transformer approach that uses concatenated query and reference images to learn the relationship between query and reference images directly.

24 Dec 13, 2022
Implementation of "StrengthNet: Deep Learning-based Emotion Strength Assessment for Emotional Speech Synthesis"

StrengthNet Implementation of "StrengthNet: Deep Learning-based Emotion Strength Assessment for Emotional Speech Synthesis" https://arxiv.org/abs/2110

RuiLiu 65 Dec 20, 2022
Tensorflow python implementation of "Learning High Fidelity Depths of Dressed Humans by Watching Social Media Dance Videos"

Learning High Fidelity Depths of Dressed Humans by Watching Social Media Dance Videos This repository is the official tensorflow python implementation

Yasamin Jafarian 287 Jan 06, 2023
Towards Calibrated Model for Long-Tailed Visual Recognition from Prior Perspective

Towards Calibrated Model for Long-Tailed Visual Recognition from Prior Perspective Zhengzhuo Xu, Zenghao Chai, Chun Yuan This is the PyTorch implement

Sincere 16 Dec 15, 2022
DataCLUE: 国内首个以数据为中心的AI测评(含模型分析报告)

DataCLUE: A Benchmark Suite for Data-centric NLP You can get the english version of README. 以数据为中心的AI测评(DataCLUE) 内容导引 章节 描述 简介 介绍以数据为中心的AI测评(DataCLUE

CLUE benchmark 135 Dec 22, 2022
mPose3D, a mmWave-based 3D human pose estimation model.

mPose3D, a mmWave-based 3D human pose estimation model.

KylinChen 35 Nov 08, 2022
A model to classify a piece of news as REAL or FAKE

Fake_news_classification A model to classify a piece of news as REAL or FAKE. This python project of detecting fake news deals with fake and real news

Gokul Stark 1 Jan 29, 2022
UniLM AI - Large-scale Self-supervised Pre-training across Tasks, Languages, and Modalities

Pre-trained (foundation) models across tasks (understanding, generation and translation), languages (100+ languages), and modalities (language, image, audio, vision + language, audio + language, etc.

Microsoft 7.6k Jan 01, 2023
Meaningful titles for tabs and PDF downloads! Also supports tab search.

arxiv-utils If you are a researcher that reads a lot on ArXiv, you'll benefit a lot from this web extension. Renames the title of PDF page to the pape

Johnson 174 Dec 20, 2022
Make differentially private training of transformers easy for everyone

private-transformers This codebase facilitates fast experimentation of differentially private training of Hugging Face transformers. What is this? Why

Xuechen Li 73 Dec 28, 2022
Blender Python - Node-based multi-line text and image flowchart

MindMapper v0.8 Node-based text and image flowchart for Blender Mindmap with shortcuts visible: Mindmap with shortcuts hidden: Notes This was requeste

SpectralVectors 58 Oct 08, 2022