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
Unofficial pytorch implementation of 'Image Inpainting for Irregular Holes Using Partial Convolutions'

pytorch-inpainting-with-partial-conv Official implementation is released by the authors. Note that this is an ongoing re-implementation and I cannot f

Naoto Inoue 525 Jan 01, 2023
An implementation of a discriminant function over a normal distribution to help classify datasets.

CS4044D Machine Learning Assignment 1 By Dev Sony, B180297CS The question, report and source code can be found here. Github Repo Solution 1 Based on t

Dev Sony 6 Nov 09, 2021
Codebase for Diffusion Models Beat GANS on Image Synthesis.

Codebase for Diffusion Models Beat GANS on Image Synthesis.

Katherine Crowson 128 Dec 02, 2022
Quickly and easily create / train a custom DeepDream model

Dream-Creator This project aims to simplify the process of creating a custom DeepDream model by using pretrained GoogleNet models and custom image dat

55 Dec 27, 2022
The official code for paper "R2D2: Recursive Transformer based on Differentiable Tree for Interpretable Hierarchical Language Modeling".

R2D2 This is the official code for paper titled "R2D2: Recursive Transformer based on Differentiable Tree for Interpretable Hierarchical Language Mode

Alipay 49 Dec 17, 2022
Official implementation of "Synthetic Temporal Anomaly Guided End-to-End Video Anomaly Detection" (ICCV Workshops 2021: RSL-CV).

Official PyTorch implementation of "Synthetic Temporal Anomaly Guided End-to-End Video Anomaly Detection" This is the implementation of the paper "Syn

Marcella Astrid 11 Oct 07, 2022
Official repository of "DeepMIH: Deep Invertible Network for Multiple Image Hiding", TPAMI 2022.

DeepMIH: Deep Invertible Network for Multiple Image Hiding (TPAMI 2022) This repo is the official code for DeepMIH: Deep Invertible Network for Multip

Junpeng Jing 67 Nov 22, 2022
Notspot robot simulation - Python version

Notspot robot simulation - Python version This repository contains all the files and code needed to simulate the notspot quadrupedal robot using Gazeb

50 Sep 26, 2022
Sibur challange 2021 competition - 6 place

sibur challange 2021 Решение на 6 место: https://sibur.ai-community.com/competitions/5/tasks/13 Скор 1.4066/1.4159 public/private. Архитектура - однос

Ivan 5 Jan 11, 2022
Deep Face Recognition in PyTorch

Face Recognition in PyTorch By Alexey Gruzdev and Vladislav Sovrasov Introduction A repository for different experimental Face Recognition models such

Alexey Gruzdev 141 Sep 11, 2022
Self-labelling via simultaneous clustering and representation learning. (ICLR 2020)

Self-labelling via simultaneous clustering and representation learning 🆗 🆗 🎉 NEW models (20th August 2020): Added standard SeLa pretrained torchvis

Yuki M. Asano 469 Jan 02, 2023
Iris prediction model is used to classify iris species created julia's DecisionTree, DataFrames, JLD2, PlotlyJS and Statistics packages.

Iris Species Predictor Iris prediction is used to classify iris species using their sepal length, sepal width, petal length and petal width created us

Siva Prakash 2 Jan 06, 2022
CLUES: Few-Shot Learning Evaluation in Natural Language Understanding

CLUES: Few-Shot Learning Evaluation in Natural Language Understanding This repo contains the data and source code for baseline models in the NeurIPS 2

Microsoft 29 Dec 29, 2022
9th place solution in "Santa 2020 - The Candy Cane Contest"

Santa 2020 - The Candy Cane Contest My solution in this Kaggle competition "Santa 2020 - The Candy Cane Contest", 9th place. Basic Strategy In this co

toshi_k 22 Nov 26, 2021
Mouse Brain in the Model Zoo

Deep Neural Mouse Brain Modeling This is the repository for the ongoing deep neural mouse modeling project, an attempt to characterize the representat

Colin Conwell 15 Aug 22, 2022
Aws-machine-learning-university-accelerated-tab - Machine Learning University: Accelerated Tabular Data Class

Machine Learning University: Accelerated Tabular Data Class This repository contains slides, notebooks, and datasets for the Machine Learning Universi

AWS Samples 916 Dec 23, 2022
Pytorch Implementation of the paper "Cross-domain Correspondence Learning for Exemplar-based Image Translation"

CoCosNet Pytorch Implementation of the paper "Cross-domain Correspondence Learning for Exemplar-based Image Translation" (CVPR 2020 oral). Update: 202

Lingbo Yang 38 Sep 22, 2021
Fast, modular reference implementation and easy training of Semantic Segmentation algorithms in PyTorch.

TorchSeg This project aims at providing a fast, modular reference implementation for semantic segmentation models using PyTorch. Highlights Modular De

ycszen 1.4k Jan 02, 2023
A Python framework for conversational search

Chatty Goose Multi-stage Conversational Passage Retrieval: An Approach to Fusing Term Importance Estimation and Neural Query Rewriting Installation Ma

Castorini 36 Oct 23, 2022