mirror of
https://github.com/IAmTomShaw/f1-race-replay.git
synced 2026-05-10 00:08:35 +02:00
[PR #93] Refactor: Modularize codebase and fix static analysis errors #135
Labels
No labels
bug
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/f1-race-replay#135
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/IAmTomShaw/f1-race-replay/pull/93
Author: @matthewdotpy
Created: 12/20/2025
Status: 🔄 Open
Base:
main← Head:main📝 Commits (5)
0bea00cRefactor src directory into modular architecture and fix type errorsd82a5faFix data processing error and update README with new structureff1ea0cAdd CI workflow, contributing guidelines, and fix type errors54a384bFix for conflict on pull mergef3246d2Add recent changes to modular system :)📊 Changes
31 files changed (+2217 additions, -2294 deletions)
View changed files
➕
.github/workflows/ci.yml(+39 -0)📝
.gitignore(+1 -0)➕
CONTRIBUTING.md(+90 -0)📝
README.md(+7 -3)📝
main.py(+3 -1)➕
pyproject.toml(+10 -0)➕
src/__init__.py(+0 -0)📝
src/arcade_replay.py(+1 -2)➕
src/data/__init__.py(+0 -0)➕
src/data/cache.py(+16 -0)➕
src/data/processing.py(+513 -0)➕
src/data/session.py(+57 -0)➕
src/data/telemetry.py(+118 -0)➖
src/f1_data.py(+0 -861)➕
src/interfaces/__init__.py(+0 -0)📝
src/interfaces/qualifying.py(+34 -15)📝
src/interfaces/race_replay.py(+15 -18)➕
src/lib/__init__.py(+0 -0)📝
src/lib/time.py(+19 -10)➕
src/ui/__init__.py(+0 -0)...and 11 more files
📄 Description
This PR refactors the codebase to improve maintainability by splitting monolithic files into a modular architecture. It also addresses technical debt by fixing static analysis errors and updating deprecated library calls.
Changes
f1_data.pyinto a modulardatapackage (processing, session, cache)ui_components.pyinto a modularuipackage (leaderboard, controls, etc.)Updated
README.mdto reflect the new project structureAdded
CONTRIBUTING.mdto reflect the new project structureAdded workflow for linting/ static type checking etc.
I told you I would make another commit soon :)
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.