Python 3 API wrapper for Garmin Connect to get your statistics.
From version 0.2.1 onwards
, this package uses garth
to authenticate and perform API calls.
This requires minor changes to your login code, look at the code in example.py
or the reference.ipynb
file how to do that.
It fixes a lot of stability issues, so it's well worth the effort!
This package allows you to request garmin device, activity and health data from your Garmin Connect account. See https://connect.garmin.com/
pip3 install garminconnect
The library uses the same authentication method as the app using Garth.
The login credentials generated with Garth are valid for a year to avoid needing to login each time.
NOTE: We obtain the OAuth tokens using the consumer key and secret as the Connect app does.
garth.sso.OAUTH_CONSUMER
can be set manually prior to calling api.login() if someone wants to use a custom consumer key and secret.
The test files use the credential tokens created by example.py
script, so use that first.
export GARMINTOKENS=~/.garminconnect
sudo apt install python3-pytest (needed some distros)
make install-test
make test
The tests provide examples of how to use the library.
There is a Jupyter notebook called reference.ipynb
provided here.
And you can check out the example.py
code you can find here, you can run it like so:
pip3 install -r requirements-dev.txt
./example.py
❤️ Special thanks to all people contributed, either by asking questions, reporting bugs, coming up with great ideas, or even by creating whole Pull Requests to add new features! This project deserves more attention, but I'm struggling to free up time sometimes, so thank you for your patience too!