garth (deprecated)
Python · PyPI: garth · latest 0.8.0 (2026-03-28) · registry read 2026-10-03
What it wraps
Garmin's SSO login and the Garmin Connect API, through the mobile auth approach the README says Garmin's change broke.
“Garth is deprecated and no longer maintained. Garmin changed their auth flow, breaking the mobile auth approach that Garth depends on.”
Source: README
Named in the registry description: Garmin Connect.
Install
The README no longer documents an install command. The PyPI distribution is still named garth; installing it now gets you the final release.
Registry and repository facts
Read from PyPI and the repository by a script, not typed by hand. Where the metadata does not state something, the row says so. Dates are shown as dates, with the gap to our read, rather than as a verdict on whether the project is alive.
- Registry
- PyPI: garth
- Latest version
- 0.8.0, published 2026-03-28189 days before our 2026-10-03 read
- First published
- 2023-07-05 · 125 versions published
- Licence
- MITPyPI license field
- Platforms
- not stated in registry metadata
- Requires
- python >=3.10PyPI requires_python
- Status classifier
- Development Status :: 7 - Inactive
- Repository
- matin/garth
- Last commit, default branch
- 2026-03-28189 days before our 2026-10-03 read · read by git on 2026-10-03
- GitHub signals
- 818 stars · 13 open issues and PRs · not archived · last push to any branch 2026-06-09GitHub API, read 2026-10-03
Registry description: “Garmin SSO auth + Connect client”
What the README warns about
Each item is the project’s own statement, checked on 2026-10-03, quoted where the wording matters.
What still works.
“If you already have a saved session with a valid OAuth1 token, Garth may continue to work until that token expires (~1 year from when it was issued). New logins will not work.”
Source: README
Forks are invited. The README says anyone is welcome to fork garth as a starting point for a new library, and keeps its documentation online for reference.
Source: README
The API underneath
A wrapper inherits every rule of the API it calls. These pages cover that layer directly.
Other Python packages on this list
Python libraries for fitness APIs: every package side by side, and how to choose →
- garminconnect0.3.17 · 2026-09-29Garmin Connect's web services, signed in as the user with their own credentials.
- stravalib2.6.0 · 2026-08-27The Strava V3 REST API, through a
stravalib.client.Clientclass, per the README. - oura-ring1.0.1 · 2026-06-22The Oura API v2.
- oura1.3.0 · 2024-04-23The Oura API, with v2 clients under
oura.v2(OuraClientV2,OuraClientDataFrameV2) whose methods are named after the URL paths, per the README. - fitbit0.3.1 · 2019-05-24The legacy Fitbit Web API, using requests-oauthlib and python-dateutil according to the README's requirements.
- withings-api2.4.0 · 2022-02-08The Withings Health API over OAuth 2.0, through
WithingsAuthandWithingsApi, per the README.
Questions
- Why does garth login stop working?
- Because Garmin changed its authentication flow. The garth README says the change broke the mobile auth approach garth depends on, that the maintainer cannot adapt it, and that new logins will not work. A previously saved session with a valid OAuth1 token may continue until that token expires, roughly a year after it was issued.
- What should I use instead of garth?
- garth's README invites forks but names no successor. garminconnect, which used garth until version 0.3.0, now handles its own sign-in according to its README, and published version 0.3.17 on 2026-09-29. Its README also says garth-era saved sessions cannot be converted, so expect one fresh login.
Registry facts read by scripts/fetch-libraries.mjs on 2026-10-03 and refreshed weekly; the latest release was published 189 days before our 2026-10-03 read. README quotes identify the project’s own statements; the selection, grouping and comparisons are AIFitnessAPI’s. For tagged releases of the main bridges, see the SDK release tracker.