[PR #191] [CLOSED] UV, Logging & Central Config #209

Closed
opened 2026-05-07 00:19:13 +02:00 by BreizhHardware · 0 comments

📋 Pull Request Information

Original PR: https://github.com/IAmTomShaw/f1-race-replay/pull/191
Author: @Jake-Pullen
Created: 1/24/2026
Status: Closed

Base: mainHead: uv_and_logging


📝 Commits (5)

  • 03d4776 chore: ⚙️ Transition to UV for better environment and package handling
  • c585bb3 chore: 🧹 Remove requirements.txt no longer required
  • c6ba939 debug: 🧪 Added Logging to enable easier debugging
  • a499b79 feat: Central Config Files
  • f1145f7 docs: 📜 tiny tidy tweak

📊 Changes

15 files changed (+1677 additions, -114 deletions)

View changed files

📝 .gitignore (+1 -0)
.python-version (+1 -0)
📝 README.md (+18 -36)
📝 main.py (+24 -7)
pyproject.toml (+18 -0)
requirements.txt (+0 -9)
src/config.py (+24 -0)
src/config_files/gui_config.yaml (+22 -0)
src/config_files/logging_config.yaml (+34 -0)
📝 src/f1_data.py (+26 -23)
📝 src/interfaces/qualifying.py (+17 -13)
📝 src/interfaces/race_replay.py (+13 -19)
📝 src/lib/time.py (+7 -5)
📝 src/ui_components.py (+4 -2)
uv.lock (+1468 -0)

📄 Description

This Pull request adds in 1 major change (UV) and 2 minor changes (Logging and central config)

Using UV for environment, package and dependency handling is far superior than pip & requirements.txt. It is built with rust so it is incredibly quick but it also handles virtual environments for you (no more .venv\bin\activate or source venv/bin/activate) it also ensures that package version is stable and consistent across all developers, reducing that "works on my machine" to nothing.
This is a large impact change as it requires installing UV (https://docs.astral.sh/uv/) and running the files with uv run main.py rather than python main.py however the plus sides I believe far outweighs the headache of changing over.

Logging - i have added as a quality of life change for the contributors and maintainers as it means we can store log files for bug / crash investigations. (This is currently set to keep 5 files and rotate at 10mb each but can be changed in logging config)
Central config - We now have an easy place to store user controlled settings like maximizing the arcade window when it starts or the base size of the arcade window.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/IAmTomShaw/f1-race-replay/pull/191 **Author:** [@Jake-Pullen](https://github.com/Jake-Pullen) **Created:** 1/24/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `uv_and_logging` --- ### 📝 Commits (5) - [`03d4776`](https://github.com/IAmTomShaw/f1-race-replay/commit/03d4776a8ddbb17d811466cbf3e7184505d3c416) chore: ⚙️ Transition to UV for better environment and package handling - [`c585bb3`](https://github.com/IAmTomShaw/f1-race-replay/commit/c585bb313520cd5441af737c2c40f9f8466facbb) chore: 🧹 Remove requirements.txt no longer required - [`c6ba939`](https://github.com/IAmTomShaw/f1-race-replay/commit/c6ba939a1a8a4554d13f1b0adf96c222fb445731) debug: 🧪 Added Logging to enable easier debugging - [`a499b79`](https://github.com/IAmTomShaw/f1-race-replay/commit/a499b79a1b9e63e857c335f1ab25229deea9e9a0) feat: ✨ Central Config Files - [`f1145f7`](https://github.com/IAmTomShaw/f1-race-replay/commit/f1145f773953fd46c1ffc8b7996375bc56b892bc) docs: 📜 tiny tidy tweak ### 📊 Changes **15 files changed** (+1677 additions, -114 deletions) <details> <summary>View changed files</summary> 📝 `.gitignore` (+1 -0) ➕ `.python-version` (+1 -0) 📝 `README.md` (+18 -36) 📝 `main.py` (+24 -7) ➕ `pyproject.toml` (+18 -0) ➖ `requirements.txt` (+0 -9) ➕ `src/config.py` (+24 -0) ➕ `src/config_files/gui_config.yaml` (+22 -0) ➕ `src/config_files/logging_config.yaml` (+34 -0) 📝 `src/f1_data.py` (+26 -23) 📝 `src/interfaces/qualifying.py` (+17 -13) 📝 `src/interfaces/race_replay.py` (+13 -19) 📝 `src/lib/time.py` (+7 -5) 📝 `src/ui_components.py` (+4 -2) ➕ `uv.lock` (+1468 -0) </details> ### 📄 Description This Pull request adds in 1 major change (UV) and 2 minor changes (Logging and central config) Using UV for environment, package and dependency handling is far superior than pip & requirements.txt. It is built with rust so it is incredibly quick but it also handles virtual environments for you (no more .venv\bin\activate or source venv/bin/activate) it also ensures that package version is stable and consistent across all developers, reducing that "works on my machine" to nothing. This is a large impact change as it requires installing UV (https://docs.astral.sh/uv/) and running the files with `uv run main.py` rather than `python main.py` however the plus sides I believe far outweighs the headache of changing over. Logging - i have added as a quality of life change for the contributors and maintainers as it means we can store log files for bug / crash investigations. (This is currently set to keep 5 files and rotate at 10mb each but can be changed in logging config) Central config - We now have an easy place to store user controlled settings like maximizing the arcade window when it starts or the base size of the arcade window. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
BreizhHardware 2026-05-07 00:19:13 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/f1-race-replay#209
No description provided.