Commit 21aea2d
Replace garth dependency with native DI OAuth authentication
Switch from garth-based OAuth/cookie login to the same mobile SSO flow
used by the official Garmin Connect Android app. Tokens are now stored
as garmin_tokens.json with auto-refresh via DI OAuth Bearer tokens.
- Add garminconnect/client.py with native SSO login, token exchange,
and auto-refresh logic
- Add garminconnect/exceptions.py for standalone exception classes
- Update __init__.py to use new client instead of garth
- Simplify example.py and update demo.py error handling
- Update README with new auth docs and install instructions
- Update pyproject.toml dependencies (drop garth, add curl_cffi)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 40f4b63 commit 21aea2d
8 files changed
Lines changed: 1142 additions & 567 deletions
File tree
- garminconnect
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
11 | 18 | | |
12 | 19 | | |
13 | 20 | | |
| |||
88 | 95 | | |
89 | 96 | | |
90 | 97 | | |
91 | | - | |
92 | | - | |
| 98 | + | |
93 | 99 | | |
94 | 100 | | |
95 | 101 | | |
| |||
180 | 186 | | |
181 | 187 | | |
182 | 188 | | |
183 | | - | |
| 189 | + | |
| 190 | + | |
184 | 191 | | |
185 | | - | |
186 | | - | |
187 | | - | |
188 | | - | |
| 192 | + | |
189 | 193 | | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
201 | 201 | | |
202 | | - | |
203 | | - | |
204 | | - | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
205 | 206 | | |
| 207 | + | |
206 | 208 | | |
207 | | - | |
208 | | - | |
| 209 | + | |
209 | 210 | | |
210 | 211 | | |
211 | 212 | | |
212 | 213 | | |
213 | | - | |
214 | | - | |
215 | 214 | | |
216 | 215 | | |
217 | | - | |
| 216 | + | |
218 | 217 | | |
219 | 218 | | |
220 | 219 | | |
| |||
232 | 231 | | |
233 | 232 | | |
234 | 233 | | |
235 | | - | |
| 234 | + | |
236 | 235 | | |
237 | 236 | | |
238 | 237 | | |
239 | | - | |
240 | | - | |
241 | | - | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
242 | 241 | | |
243 | 242 | | |
244 | 243 | | |
| |||
326 | 325 | | |
327 | 326 | | |
328 | 327 | | |
329 | | - | |
330 | 328 | | |
| 329 | + | |
| 330 | + | |
331 | 331 | | |
332 | | - | |
| 332 | + | |
| 333 | + | |
333 | 334 | | |
334 | | - | |
335 | | - | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
336 | 338 | | |
337 | | - | |
| 339 | + | |
338 | 340 | | |
339 | 341 | | |
340 | | - | |
341 | | - | |
342 | | - | |
| 342 | + | |
| 343 | + | |
343 | 344 | | |
344 | 345 | | |
345 | | - | |
| 346 | + | |
346 | 347 | | |
347 | 348 | | |
348 | 349 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
15 | | - | |
| 14 | + | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
33 | 32 | | |
34 | 33 | | |
35 | 34 | | |
| |||
73 | 72 | | |
74 | 73 | | |
75 | 74 | | |
76 | | - | |
77 | | - | |
| 75 | + | |
| 76 | + | |
78 | 77 | | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | 78 | | |
83 | 79 | | |
84 | 80 | | |
| |||
1094 | 1090 | | |
1095 | 1091 | | |
1096 | 1092 | | |
1097 | | - | |
| 1093 | + | |
1098 | 1094 | | |
1099 | 1095 | | |
1100 | 1096 | | |
| |||
1145 | 1141 | | |
1146 | 1142 | | |
1147 | 1143 | | |
1148 | | - | |
| 1144 | + | |
1149 | 1145 | | |
1150 | 1146 | | |
1151 | 1147 | | |
| |||
3425 | 3421 | | |
3426 | 3422 | | |
3427 | 3423 | | |
3428 | | - | |
| 3424 | + | |
3429 | 3425 | | |
3430 | 3426 | | |
3431 | 3427 | | |
3432 | 3428 | | |
3433 | 3429 | | |
3434 | | - | |
| 3430 | + | |
3435 | 3431 | | |
3436 | 3432 | | |
3437 | | - | |
| 3433 | + | |
3438 | 3434 | | |
3439 | 3435 | | |
3440 | 3436 | | |
| |||
4152 | 4148 | | |
4153 | 4149 | | |
4154 | 4150 | | |
4155 | | - | |
4156 | 4151 | | |
4157 | 4152 | | |
4158 | 4153 | | |
| |||
4182 | 4177 | | |
4183 | 4178 | | |
4184 | 4179 | | |
4185 | | - | |
4186 | | - | |
4187 | | - | |
| 4180 | + | |
| 4181 | + | |
| 4182 | + | |
| 4183 | + | |
| 4184 | + | |
| 4185 | + | |
| 4186 | + | |
4188 | 4187 | | |
4189 | | - | |
4190 | | - | |
4191 | | - | |
4192 | | - | |
4193 | | - | |
4194 | | - | |
| 4188 | + | |
4195 | 4189 | | |
4196 | 4190 | | |
4197 | 4191 | | |
4198 | | - | |
4199 | | - | |
4200 | | - | |
4201 | | - | |
4202 | | - | |
4203 | | - | |
4204 | | - | |
4205 | | - | |
4206 | | - | |
| 4192 | + | |
| 4193 | + | |
| 4194 | + | |
4207 | 4195 | | |
4208 | 4196 | | |
4209 | | - | |
| 4197 | + | |
4210 | 4198 | | |
4211 | 4199 | | |
4212 | 4200 | | |
| |||
4225 | 4213 | | |
4226 | 4214 | | |
4227 | 4215 | | |
4228 | | - | |
4229 | | - | |
4230 | 4216 | | |
4231 | 4217 | | |
4232 | 4218 | | |
| |||
0 commit comments