Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

garmindownloader-0.1.0.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

garmindownloader-0.1.0-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

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

Hashes for garmindownloader-0.1.0.tar.gz
Algorithm Hash digest
SHA256 62e746646905c6e4f04159d89fc2e7202a8978182c7782ccdf6de5017aa546df
MD5 290c353cfe3368dbaf33c29745860160
BLAKE2b-256 07baef64a4209ce2b8fe787e33da59ee13a7a73b182a8507552782ec5c5090e4

See more details on using hashes here.

File details

Details for the file garmindownloader-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for garmindownloader-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 abbc55cbcbac48af76d8aa7f62d1a592b92ecca02b1148215f002533a8215d7e
MD5 31105adcbe51ae7eabbb7baac62edce1
BLAKE2b-256 ddb3a1e0a3e44abc37bf922d008f87eff6e5848da2a3e15500bbdd0ff09eefbe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page