Metadata-Version: 2.4
Name: racing_info
Version: 0.1.0
Summary: Monaco racing report builder
Author: Alexander Zakorko
Author-email: Alexander Zakorko <alex.zakorko2015@gmail.com>
License-Expression: MIT
Requires-Dist: basedpyright>=1.39.6
Requires-Dist: click>=8.4.1
Requires-Python: >=3.14
Description-Content-Type: text/markdown

# Monaco 2018 — Formula 1 Qualifying Report

A Python CLI tool that parses lap timing data from the 2018 Monaco Formula 1 Q1 qualifying session and prints a ranked report of drivers.

## Installation

```bash
uv sync
```

## Data

Three input files (stored together in a dedicated data folder):

| File | Description |
|------|-------------|
| `start.log` | Start times of each driver's best lap |
| `end.log` | End times of each driver's best lap |
| `abbreviations.txt` | Mapping of driver abbreviations to full name and team |

> **Note:** Start/end times are fictional; best lap times are accurate.

Log entry format: `SVF2018-05-24_12:02:58.917`
- `SVF` — driver abbreviation
- `2018-05-24` — date
- `12:02:58.917` — time

## Q1 Rules

All cars are on track simultaneously for the first 20 minutes. The seven slowest drivers are eliminated and assigned the bottom grid positions. The fastest 15 advance to Q2.

## Usage

```bash
# Show ranked driver list (ascending by default)
uv run racing_info --files <path_to_data_folder>

# Show in ascending order explicitly
uv run racing_info --files <path_to_data_folder> --sort asc

# Show in descending order
uv run racing_info --files <path_to_data_folder> --sort desc

# Show stats for a specific driver
uv run racing_info --files <path_to_data_folder> --driver "Sebastian Vettel"
```

### Report format

```
1 . Valtteri Bottas        | MERCEDES                       | 1:12.434
2 . Nico Hulkenberg        | RENAULT                        | 1:13.065
3 . Sebastian Vettel       | FERRARI                        | 1:04.415
...
16. Brendon Hartley        | SCUDERIA TORO ROSSO HONDA      | 1:13.179
17. Marcus Ericsson        | SAUBER FERRARI                 | 1:13.265
```

## Requirements

- Python 3.14+
- [uv](https://docs.astral.sh/uv/) package manager
- Data files must be in a single folder passed via `--files` (default: `./racing_data`)
