Skip to content

v1.1.0 — Full TUI, Setup Wizard & Automation

Choose a tag to compare

@ColonelPanicX ColonelPanicX released this 14 Apr 23:46
· 99 commits to main since this release

What's new in v1.1.0

Full Textual TUI

The terminal UI is now the primary interface — no command line knowledge required.

  • Main Menu → Pull Data → live progress screen with per-metric checklist (single day) or per-day rows (multi-day range)
  • Initial Setup — prerequisites checker, Garmin credential manager, Gmail OAuth wizard with in-dialog URL display for headless environments
  • Automation — Gmail MFA status view, Scheduled Pulls manager (enable, disable, change pull time — no cron knowledge needed)
  • MFA modal: prompts for a manual code inside the TUI when Gmail automation isn't available

Expanded Garmin API coverage

  • Added nutrition (food log, meals) and menstrual cycle tracking
  • Per-activity detail: 8 endpoints per logged workout (splits, HR/power zones, exercise sets, weather, and more)
  • One-time profile pull per session: devices, personal records, training plans, workouts, gear → profile.json

Bug fixes

  • Fixed Python output buffering (-u flag) that caused subprocess output to stall in the TUI
  • Fixed call_from_thread usage in Textual screen workers
  • Fixed Gmail MFA CSS hex color false-match (#000000 no longer matched as a 6-digit security code)

Quickstart

git clone https://github.com/ColonelPanicX/garmin-extract.git
cd garmin-extract
uv sync
uv run python -m garmin_extract

Then follow the TUI: Initial Setup → set up credentials → Pull Data.

See the README for full setup instructions.