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
NNR conformation conditional and global probabilities estimation and analysis in peptides or proteins fragments

NNR and global probabilities estimation and analysis in peptides or protein fragments This module calculates global and NNR conformation dependent pro

0 Jul 15, 2021
Extracting and filtering paraphrases by bridging natural language inference and paraphrasing

nli2paraphrases Source code repository accompanying the preprint Extracting and filtering paraphrases by bridging natural language inference and parap

Matej Klemen 1 Mar 09, 2022
Bottleneck Transformers for Visual Recognition

Bottleneck Transformers for Visual Recognition Experiments Model Params (M) Acc (%) ResNet50 baseline (ref) 23.5M 93.62 BoTNet-50 18.8M 95.11% BoTNet-

Myeongjun Kim 236 Jan 03, 2023
[CVPR 21] Vectorization and Rasterization: Self-Supervised Learning for Sketch and Handwriting, IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), 2021.

Vectorization and Rasterization: Self-Supervised Learning for Sketch and Handwriting, CVPR 2021. Ayan Kumar Bhunia, Pinaki nath Chowdhury, Yongxin Yan

Ayan Kumar Bhunia 44 Dec 12, 2022
[NeurIPS 2021] Source code for the paper "Qu-ANTI-zation: Exploiting Neural Network Quantization for Achieving Adversarial Outcomes"

Qu-ANTI-zation This repository contains the code for reproducing the results of our paper: Qu-ANTI-zation: Exploiting Quantization Artifacts for Achie

Secure AI Systems Lab 8 Mar 26, 2022
Code repository for the paper "Tracking People with 3D Representations"

Tracking People with 3D Representations Code repository for the paper "Tracking People with 3D Representations" (paper link) (project site). Jathushan

Jathushan Rajasegaran 77 Dec 03, 2022
Learning Modified Indicator Functions for Surface Reconstruction

Learning Modified Indicator Functions for Surface Reconstruction In this work, we propose a learning-based approach for implicit surface reconstructio

4 Apr 18, 2022
A simple python stock Predictor

Python Stock Predictor A simple python stock Predictor Demo Run Locally Clone the project git clone https://github.com/yashraj-n/stock-price-predict

Yashraj narke 5 Nov 29, 2021
Totally Versatile Miscellanea for Pytorch

Totally Versatile Miscellania for PyTorch Thomas Viehmann [email protected] Thi

Thomas Viehmann 428 Dec 28, 2022
FAST Aiming at the problems of cumbersome steps and slow download speed of GNSS data

FAST Aiming at the problems of cumbersome steps and slow download speed of GNSS data, a relatively complete set of integrated multi-source data download terminal software fast is developed. The softw

ChangChuntao 23 Dec 31, 2022
PyTorch implementation of Progressive Growing of GANs for Improved Quality, Stability, and Variation.

PyTorch implementation of Progressive Growing of GANs for Improved Quality, Stability, and Variation. Warning: the master branch might collapse. To ob

559 Dec 14, 2022
Everything you want about DP-Based Federated Learning, including Papers and Code. (Mechanism: Laplace or Gaussian, Dataset: femnist, shakespeare, mnist, cifar-10 and fashion-mnist. )

Differential Privacy (DP) Based Federated Learning (FL) Everything about DP-based FL you need is here. (所有你需要的DP-based FL的信息都在这里) Code Tip: the code o

wenzhu 83 Dec 24, 2022
TopFormer: Token Pyramid Transformer for Mobile Semantic Segmentation, CVPR2022

TopFormer: Token Pyramid Transformer for Mobile Semantic Segmentation Paper Links: TopFormer: Token Pyramid Transformer for Mobile Semantic Segmentati

Hust Visual Learning Team 253 Dec 21, 2022
LAnguage Model Analysis

LAMA: LAnguage Model Analysis LAMA is a probe for analyzing the factual and commonsense knowledge contained in pretrained language models. The dataset

Meta Research 960 Jan 08, 2023
Keras-retinanet - Keras implementation of RetinaNet object detection.

Keras RetinaNet Keras implementation of RetinaNet object detection as described in Focal Loss for Dense Object Detection by Tsung-Yi Lin, Priya Goyal,

Fizyr 4.3k Jan 01, 2023
🔅 Shapash makes Machine Learning models transparent and understandable by everyone

🎉 What's new ? Version New Feature Description Tutorial 1.6.x Explainability Quality Metrics To help increase confidence in explainability methods, y

MAIF 2.1k Dec 27, 2022
Implementation of [Time in a Box: Advancing Knowledge Graph Completion with Temporal Scopes].

Time2box Implementation of [Time in a Box: Advancing Knowledge Graph Completion with Temporal Scopes].

LingCai 4 Aug 23, 2022
[CVPR 2022 Oral] Rethinking Minimal Sufficient Representation in Contrastive Learning

Rethinking Minimal Sufficient Representation in Contrastive Learning PyTorch implementation of Rethinking Minimal Sufficient Representation in Contras

36 Nov 23, 2022
SBINN: Systems-biology informed neural network

SBINN: Systems-biology informed neural network The source code for the paper M. Daneker, Z. Zhang, G. E. Karniadakis, & L. Lu. Systems biology: Identi

Lu Group 15 Nov 19, 2022
Visual Question Answering in Pytorch

Visual Question Answering in pytorch /!\ New version of pytorch for VQA available here: https://github.com/Cadene/block.bootstrap.pytorch This repo wa

Remi 672 Jan 01, 2023