Skip to content

v0.5.19

Latest

Choose a tag to compare

@drkostas drkostas released this 14 Jul 06:02
6755c5b

Sync your Hevy gym workouts to Garmin Connect with correct exercise names, sets, reps, weights, calorie estimation, and optional heart rate.

Highlights

Safe upload recovery. Uploads that fail mid-request (a crash or a timeout) are now parked in a durable pending_uploads table instead of being blindly re-uploaded, so an upload that may have already reached Garmin never creates a duplicate. Rename, description, and watch-delete steps resume from checkpoints, and reconcile only adopts an existing activity when the start time matches and there is upload evidence. New CLI and web controls let you resolve a stuck sync: reconcile, retry-failed-only, abandon, mark-synced, and skip. Thanks @donndonn (#227).

Also in recent releases

  • Python 3.10 compatibility for timestamps with a single fractional-second digit or a space date/time separator, via a shared parse_iso() helper (#229).
  • Context-aware "not configured" errors on the cloud path, pointing to the dashboard instead of the local hevy2garmin init wizard (#224).
  • Merge mode now strips only the offending exercise name when Garmin rejects a sub-category, keeping the rest of your exercise names intact (#222).

Install

pip install hevy2garmin

Also available as an npm package for TypeScript and Node:

npm install hevy2garmin

Full changelog: CHANGELOG.md · Live demo: https://hevy2garmin-demo.gkos.dev