Pitbox is a CLI written in Rust to display F1 standings, results, and other stats in pretty formatted tables using data from the jolpica-f1 API.
This project is still in the early stages, and may change significantly over time.
- Display F1 driver and constructor standings after any round for any season in F1 history.
- View race results from any season.
- Compare driver performances through computed stats over a single season.
To install the latest release version, you will need Rust and Cargo installed
cargo install pitboxThe different output types are separated into different subcommands to the main app, with each subcommand having it's own set of optional flags to use. Each subcommand has a shorthand version that is just one letter (usually the first letter of the command), e.g., For standings you can just use s for a shorter version.
pitbox <command> [options]
pitbox standings <-c|-d> [options]
You can specify constructor standings with -c, or driver standings with -d. Output will default to the latest standings of the current F1 season. However that behavior can be overridden using the season flag -s and/or the round flag -r to specify a round to display the standings relative to, e.g., if you wanted to show the driver standings for 2016 at round 13 you would use:
pitbox standings -d -s 2016 -r 13pitbox results [options]
This command will display the race results of one race. No other part of the weekend is included in this output, only the race. The default race if no options are provided is the most recent race of the current season. This can be overridden by the season flag -s and/or the round flag -r to show the results from a particular season and a particular race.
pitbox driver -n <names> [options]
This command will display stats over a season for one or multiple drivers, giving you a way to compare driver performance. When multiple drivers are requested, they're displayed in descending order by total points. Currently these are the stats that are displayed for each driver:
- Average grid position
- Average finishing position
- Best grid position
- Best finishing position
- Total races
- This includes classified finishes and retirements but does not include "Did Not Start" or "Disqualified" classifications.
- Total number of retirements
- Total number of poles
- Total number of wins
- Total number of podiums
- Points from races (Does not include points from sprint races)
You can optionally pass a season flag -s to display a driver's race results from any season, otherwise it will default to results from the current season.
This roadmap is very subject to change and includes a mix of big and small additions I'd like to add.
- Make some tests.
- Better error handling.
- Add a PKGBUILD to distribute through the AUR.
- Add a way to provide a circuit name or country through a flag to race results.
- Figure out some way to allow search of valid drivers/circuits for a given season with an easy way to select them to be used for a command.
- Add a teammate flag to the driver results command to quickly compare teammates over a season.
- For the standings output, add the gap to the leader as a new column, maybe as an optional flag to not clutter the table too much.
- Add a new subcommand to display qualifying results over a weekend. This could also be added as a flag to the race results command.
- Create a display to show a driver's performance at a specific track over their career or a custom range of seasons.
- Show polesitters and winners at a given track over a range of seasons.
- Even though I don't like them, it would be nice to have a way to display sprint results.
- Cache API responses in a local SQL database. This is a really big feature and originates from my interest in learning more about databases.
This app would not be possible without the awesome work done by the jolpica API project. If you like this app, please consider donating to their Ko-fi to help keep it running.
Pitbox is licensed under the MIT License.


