two seconds, ted!
Find a file
katie 0d0fb66c40
Some checks failed
/ lint-and-test (push) Failing after 1m35s
/ watch-all (push) Successful in 2m16s
Update .forgejo/workflows/build.yaml
2025-11-30 12:11:54 +00:00
.forgejo/workflows Update .forgejo/workflows/build.yaml 2025-11-30 12:11:54 +00:00
.github Create dependabot.yml 2024-07-20 12:04:17 -04:00
data data: add brazil race. 2025-11-10 20:48:34 -05:00
nomad set up for Hungary race 2025-08-02 19:59:08 -04:00
src/pitwall sync.py: refactor more of the top level methods 2025-10-13 20:24:08 -04:00
test sync.py: use easyocr to pull timing samples from an image 2025-10-10 22:50:54 -04:00
.gitignore initial commit 2024-07-19 23:05:26 -04:00
.pylintrc build: add pylint 2024-07-29 13:04:48 -04:00
capture.py Update capture.py 2025-11-30 11:59:17 +00:00
debug.py get websocketadapter working 2025-08-07 08:08:36 -04:00
ha_writer.py fix: initializing ha_writer with a None HA client is syntactically wrong 2025-09-02 23:20:30 -04:00
pyproject.toml Remove broken dependencies for a bit. 2025-10-18 13:00:59 -04:00
rabbit_writer.py sync.py implementation 2025-10-06 18:40:57 -04:00
README.md Update README 2025-08-13 20:29:42 -04:00
replay.py sync.py implementation 2025-10-06 18:40:57 -04:00
sync.py sync.py: refactor more of the top level methods 2025-10-13 20:24:08 -04:00
test.txt sync.py implementation 2025-10-06 18:40:57 -04:00
uv.lock Remove broken dependencies for a bit. 2025-10-18 13:00:59 -04:00
watch.py sync.py implementation 2025-10-06 18:40:57 -04:00

pitwall

Assorted things for examining live race data from livetiming.formula1.com, which is the event stream that powers the official "Live Timing" app on formula1.com and the mobile apps.

capture.py

Connects to the WebSocket timing service and writes all timing-related messages to a file, along with their read timestamp.

uv run capture.py -o data/2024_belgium_gp_race.txt

replay.py

Replays the output of capture.py at (roughly) the same speed as the original event stream, and optionally outputs to a FIFO.

uv run replay.py -i data/2024_belgium_gp_race.txt -o replay.fifo -x 20

-x 5 replays the stream at 5 times the original speed.

watch.py

Debug script which processes the event stream in the context of a track session.

uv run watch.py -i replay.fifo

or, to read the original file as fast as possible:

uv run watch.py -i data/2024_belgium_gp_race.txt

ha_writer.py

Pushes updates written by replay.py to stdin to a Home Assistant instance.

uv run replay.py -i data/2025_hungary_race.txt | HOMEASSISTANT_URL="" HOMEASSISTANT_TOKEN="" uv run --extra=homeassistant ha_writer.py