P1: garminconnect auth backend — live sync working again

garth's SSO login is Cloudflare-rate-limited (429) and garth is now
deprecated upstream. New openrun.ingest.garminconnect_backend authenticates
via python-garminconnect 0.3.5 DI Bearer tokens and shims garth's client
surface (connectapi/download/username), so the existing sync pipeline runs
unchanged. openrun-sync gains --backend {auto,garth,garminconnect}; auto
prefers garminconnect when .secrets/garmin_tokens.json exists.

Login: uv run python -m openrun.ingest.garminconnect_backend

Synced: 7 activities (-> 2026-06-02) + splits + FITs, wellness through
2026-06-12, time-in-zone recomputed (364 activities).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-06-12 07:22:33 -04:00
parent 9bb4b98491
commit dd2b8ef1bd
5 changed files with 184 additions and 8 deletions

View File

@@ -7,6 +7,7 @@ license = { text = "MIT" }
requires-python = ">=3.13"
dependencies = [
"fitparse>=1.2.0",
"garminconnect>=0.3.5",
"garth>=0.8.0",
"ipykernel>=7.2.0",
"jinja2>=3.1.6",