Garmin data downloader library.
Project description
Garmindownloader
Author
Dominik Rappaport, dominik@rappaport.at
Motivation
For comprehensive statistical analysis, it is advisable to download Garmin data to a local computer. This is particularly important because Garmin aggregates historical data after a certain period. The script retrieves both Body Battery and heart rate data from Garmin and stores them in CSV format. Since Garmin allows downloading a maximum of one month of data per request, the script automatically generates a separate CSV file for each month.
Installation
The garmindownloader is distributed as a Python package. Several installation methods are available.
Using pip
Executing pip installs the package in your current Python environment. Global installation was once possible, but
modern Linux distributions no longer permit this approach.
pip install garmindownloader
Using pipx or uv
Both pipx and uv enable global tool installation. The package can be installed as follows:
pipx install garmindownloader
or
uv tools install garmindownloader
These steps assume you are using uv as your package and project manager.
Usage
Authentication
First of all you need to create an authentication token for Garmin Connect. That can be done by running the authenticate script.
garminauthenticate
You need to enter your Garmin Connect credentials and the script will generate a token and save it in the
~/.garth directory.
Once that is done the script can be run as follows. You specify a year and a month or a range of months and if you want Body Battery data or heart rate data (or both).
garmindownloader <year> <month(s)> --datatype <datatype>
Examples:
garmindownloader --datatype hr 2025 9
garmindownloader --datatype bb,hr 2025 7-8
garmindownloader --datatype hr 2025 1
The script generates for each month a separate CSV file. For Body Battery, the files are names bb<year><month>.csv.
For heart rate data, the files are named hr<year><month>.csv.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file garmindownloader-0.1.0.tar.gz.
File metadata
- Download URL: garmindownloader-0.1.0.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62e746646905c6e4f04159d89fc2e7202a8978182c7782ccdf6de5017aa546df
|
|
| MD5 |
290c353cfe3368dbaf33c29745860160
|
|
| BLAKE2b-256 |
07baef64a4209ce2b8fe787e33da59ee13a7a73b182a8507552782ec5c5090e4
|
File details
Details for the file garmindownloader-0.1.0-py3-none-any.whl.
File metadata
- Download URL: garmindownloader-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
abbc55cbcbac48af76d8aa7f62d1a592b92ecca02b1148215f002533a8215d7e
|
|
| MD5 |
31105adcbe51ae7eabbb7baac62edce1
|
|
| BLAKE2b-256 |
ddb3a1e0a3e44abc37bf922d008f87eff6e5848da2a3e15500bbdd0ff09eefbe
|