More
Changelog
Every release of lapbox and what changed in it.
Every release of lapbox. Until 1.0 a minor release (0.2, 0.3, …) may change the API; each change is listed here and in CHANGELOG.md. The 0.1.0.devN versions were development tags on GitHub, which the LapBox website ran on; 0.1.0 is the first release on PyPI.
Planned
The strategy engine is planned to move over from the LapBox website in 0.2. Nothing is dated yet.
0.1.0 — 2026-10-19
The first release on PyPI. The code is 0.1.0.dev14’s; what changed is the packaging and two source comments.
pip install lapbox, andpip install "lapbox[plot]"for the charts.MAX_ALIGNMENT_RESIDUAL: its comment dates the 250-pair measurement behind the 15 km/h cut and adds a re-check with today’s alignment (pairs without frozen car data at 2023 Bahrain, 2025 Silverstone and 2026 China qualifying: median 4.2–7.3 km/h, none above 12.8).DIRTY_AIR_S: its comment now says what it is, a rule of thumb that lapbox has not measured.
What is in it:
lapbox.telemetry: one lap (resample,detect_corners,corner_analysis, braking and full-throttle zones,gforces,detect_frozen_stretches) and two laps matched by track position (compare→Comparisonwithresidualandmatched,align,delta_time,minisector_dominance,segment_gaps).lapbox.data: time conversion, laps, weather, pit stops, stints,gaps_to_car_ahead.lapbox.practice: runs, long runs against qualifying simulations, long-run pace.lapbox.pace: lap cleaning with a per-step audit, a circuit’s representative lap time, fuel-corrected pace, clean air against traffic, consistency, the ideal lap.lapbox.tyres: degradation per compound (TyreDegradationModel) and stint by stint.lapbox.plot(theplotextra): channel traces, a two-lap comparison, speed delta, track dominance, each keeping the library’s caveats.
Development releases
- 0.1.0.dev142026-10-19
true_pace_rankingcounts from lap 2, before the 107 % best is taken, as consistency and the clean-air split do. On 12 races the 30 driver-races that had counted lap 1 changed and nothing else: the corrected median by a median 9.5 ms, up to 1.08 s.- 0.1.0.dev132026-10-17
lapbox.plotand theplotextra;Comparison.plot. A paircomparerefuses is drawn without its time gap and says why.- 0.1.0.dev122026-10-16
TyreDegradationModeltakes the fuel effect off atFUEL_EFFECT_S_PER_LAPinstead of fitting it, and fits only laps within 107 % of each driver’s best. Held out on 65 races (first half fitted, second half predicted): error 0.79 → 0.64 s, better in 71 % of races.r2is now of the fuel-corrected laps.- 0.1.0.dev112026-10-15
driver_consistencyandconsistency_rankingcount from lap 2. Lap 1 had been counted in 30 of 245 driver-races and moved σ by a median 0.18 s, up to 1.9 s.- 0.1.0.dev102026-10-12
longest_run_lengthcounts laps at race pace, asclassify_rundoes; counting timed laps let 6 of 145 practice sessions pass with no long run.- 0.1.0.dev92026-10-11
- The naming pass, with no aliases:
align_by_distance→align,compare_drivers→compare,ComparisonResult→Comparison,cumulative_time_delta→delta_time,resample_by_distance→resample,compute_gforces→gforces,frozen_stretches→detect_frozen_stretches;telemetry/compare.py→comparison.py. - 0.1.0.dev82026-10-11
frozen_stretches, where the timing feed’s car data froze, andComparisonResult.frozen_a/frozen_b. Every pair refused on 2026 China, Suzuka and Monza qualifying (57) had such a lap.- 0.1.0.dev72026-10-10
segment_gapsandComparisonResult.segments: each driver’s time between the lap’s speed peaks.- 0.1.0.dev62026-10-07
align_by_distancefinds the shift to a fraction of a sample; the time gap and minisector times come from each lap’s own clock, so the gap ends at the official one and is a median 29–42 ms off it at the sector lines.- 0.1.0.dev52026-10-06
- Minisectors go to the driver with less time in them, on their own 4,000-point alignment;
summary["dominant_driver"]→summary["more_minisectors"]. - 0.1.0.dev42026-10-04
lapbox.tyres- 0.1.0.dev32026-10-03
- Per-driver race-pace calls about 7× faster; outputs identical.
- 0.1.0.dev22026-09-30
lapbox.pace;classify_runneeds 5 laps at race pace for a long run, not 5 timed laps.- 0.1.0.dev12026-09-29
lapbox.dataandlapbox.practice.- 0.1.0.dev02026-09-29
lapbox.telemetry, withComparisonResult.residualand.matched.
These docs describe lapbox 0.1.0. Something wrong or missing? Open an issue.