Go to file
petergardfjall d17df2fc6c refactoring
2014-11-12 16:12:33 +01:00
garminexport refactoring 2014-11-12 16:12:33 +01:00
samples initial commit 2014-11-08 13:35:47 +01:00
.gitignore initial commit 2014-11-08 13:35:47 +01:00
garminexport.py refactoring 2014-11-12 16:12:33 +01:00
get_activity.py refactoring 2014-11-12 16:12:33 +01:00
incremental_backup.py refactoring 2014-11-12 16:12:33 +01:00
LICENSE initial commit 2014-11-08 13:35:47 +01:00
Makefile initial commit 2014-11-08 13:35:47 +01:00
README.md doc update 2014-11-11 13:48:28 +01:00
requirements.txt initial commit 2014-11-08 13:35:47 +01:00
setup.py initial commit 2014-11-08 13:35:47 +01:00

Garmin Connect activity exporter

garminexport.py is a program that downloads all activities for a given Garmin Connect account and stores them in a backup directory locally on the user's computer.

The incremental_backup.py program can be used for incremental backups of your account. This script only downloads activities that haven't already been downloaded to a certain backup directory. It is typically a quicker alternative (except for the first time when all activities will need to be downloaded).

Prerequisites

The instructions below for running the program (or importing the module) assumes that you have Python 2.7, pip, and virtualenv installed.

It also assumes that you have registered an account at Garmin Connect.

Getting started

Create and activate a new virtual environment to create an isolated development environment (that contains the required dependencies and nothing else).

virtualenv venv.garminexport
. venv.garminexport/bin/activate

Install the required dependencies in this virtual environment:

pip install -r requirements.txt

Running the export program

The export program is run as follows (use the --help flag for a list of available options).

./garminexport.py <username or email>

Once started, the program will prompt you for your account password and then log in to your Garmin Connect account to download all activities to a destination directory on your machine.

For each activity, these files are stored:

  • an activity summary file (JSON)

  • an activity details file (JSON)

  • an activity GPX file (XML)

  • an activity TCX file (XML)

  • an activity FIT file (binary) (if available -- the activity may have been entered manually rather than imported from a Garmin device).

All files are written to the same directory (activities/ by default). Each activity file is prefixed by its upload timestamp and its activity id.

Running the incremental backup program

The incremental backup program is run in a similar fashion to the export program (use the --help flag for a list of available options):

./incremental_backup.py --backup-dir=activities <username or email>

In this example, it will only download activities that aren't already in the activities/ directory. Note: The incremental backup program saves the same files for each activity as the export program (see above).

Library import

To install the development version of this library in your local Python environment, run:

pip install -e git://github.com/petergardfjall/garminexport.git#egg=garminexport

or if you prefer to use a requirements.txt file, add the following line to your list of dependencies:

-e -e git://github.com/petergardfjall/garminexport.git#egg=garminexport

and run pip with you dependency file as input:

pip install -r requirements.txt