/porpo

Easily pull telemetry data and create beautiful visualizations for analysis.

Primary LanguagePythonMIT LicenseMIT

Important

Some dependencies have transitioned to a payment model. Software may not work as expected.

Note

Because some critical dependencies now require payment, this repository has been archived. Thank you for your support!


Porpo

The 2024 Formula 1 season is live! Download Porpo and take a look at just how well your most (or least) favorite driver / team did on track!

Issues?

Submit an issue, with a screenshot of the error, and I will get to work.

Want to contribute?

Contributions are welcome! Be sure to use proper documentation when submitting a PR.

Table of Contents


General Information

Meet porpo, a data collection and visualization tool.




Porpo is an application that is designed to easily pull telemetry data and create beautiful visualizations for analysis. It allows you to look through historic and current race data, make comparisons across specific laps, fastest laps, or full sessions. Soon, it will let you visualize the track as a map, allowing you to more clearly see where on track an event took place.

Note: Python3 is required.

What does porpo mean?

'porpo' is a shortened form of the word 'porpoise'. An it sounds cool to say over and over again.

Getting Started

After you do that, download the porpo source code .zip. Extract the contents wherever you want, but keep in mind that is your working directory, so something like /Documents would be better than your Desktop.

Usage

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

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

Load the list of GPs for that season. Load the list again any time you want to evaluate a different season.

Select the Grand Prix you want, and select the session from the Grand Prix.

Note: Sprint not available for every Grand Prix.

Now load the list of drivers for your Grand Prix and session. Load the list again any time you want to evaluate a different Grand Prix.

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.

Note: Check the FastF1 documentation to see the data values 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.

Click 'Confirm All' to update selected values, and 'Analyse' to see your visualization.

Exporting the Plot

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

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

~/Documents/F1 Data Analysis/Export/

 

To change this directory, edit the export path in the preferences window. For now, if you want a different directory, you need to do this every time you open the app or it will reset to default.

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.