Library comparison
garminconnect vs garth
Registry data read 2026-10-03
This is less a choice than a migration. garth's README says it is deprecated because Garmin changed its auth flow and new logins no longer work, and its PyPI classifier reads "Development Status :: 7 - Inactive". garminconnect used garth until version 0.3.0 and now handles sign-in itself, per its README; its latest release is 0.3.17 from 2026-09-29. Sessions saved with garth cannot be converted, so plan one fresh login.
Side by side
Every cell is read from the registries and the repositories by a script. There is no winner row.
| Fact | garminconnect | garth |
|---|---|---|
| Registry | PyPI: garminconnect | PyPI: garth |
| Latest version | 0.3.17 | 0.8.0 |
| Latest published | 2026-09-29 (4 days before our 2026-10-03 read) | 2026-03-28 (189 days before our 2026-10-03 read) |
| First published | 2020-01-04 | 2023-07-05 |
| Versions published | 110 | 125 |
| Licence | MIT (PyPI license field) | MIT (PyPI license field) |
| Platforms | not stated in registry metadata | not stated in registry metadata |
| Requires | python >=3.12 (PyPI requires_python) | python >=3.10 (PyPI requires_python) |
| Deprecated | no deprecation in the registry | no deprecation in the registry |
| Status classifier | Development Status :: 5 - Production/Stable | Development Status :: 7 - Inactive |
| Last commit, default branch | 2026-09-29 | 2026-03-28 |
| GitHub stars / archived | 3083 stars · not archived (read 2026-10-03) | 818 stars · not archived (read 2026-10-03) |
What each README says
garminconnect
How to choose: our reading
Judgement, labelled as such, drawn only from the facts above.
- Starting fresh: garth's own README says new logins do not work, which settles it.
- Running garth today on a saved session: it may keep working until the OAuth1 token expires; schedule the move before then rather than after.
- Moving to garminconnect: its README says garth-era token files cannot be converted, so budget for one interactive login (with MFA if the account uses it).
- Building for other people's Garmin data rather than your own: both are unofficial clients; Garmin's official developer program is the route for that.
Questions
- Does garminconnect still depend on garth?
- No. garminconnect's README says that since version 0.3.0 the library no longer uses garth, which it describes as deprecated, and that sessions saved by older versions with garth.save() cannot be converted.
- How do I migrate a Python script from garth to garminconnect?
- Install garminconnect, then log in once with username and password: its README shows Garmin(email, password) followed by login with a token-store path, after which new tokens are saved to garmin_tokens.json and reused. Old oauth1_token.json and oauth2_token.json files from garth cannot be converted, and the README requires Python 3.12 or later.