# tcgoetz/GarminDB

Download and parse data from Garmin Connect or a Garmin watch, FitBit CSV, and MS Health CSV files into and analyze data in Sqlite serverless databases with Jupyter notebooks.

Repository: https://github.com/tcgoetz/GarminDB
Canonical: https://ross.abutalabs.com/products/garmindb
Language: Python
License: GPL-2.0
License Family: copyleft
Topics: garmin, python, health, database, sqlite, jupyter-notebooks
Last push: 2026-08-23T18:11:36+00:00

## Health v2 (maintenance only)
Score: 95/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 87, longevity 100
- inputs: {"age_days": 3184, "days_push": 10, "days_rel": 10, "gap_med": 87, "n_releases_24m": 10}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3277, forks 291 (observed 2026-08-28T04:07:53.496537+00:00)

## What it is
A Python package and CLI that downloads and parses health and activity data from Garmin Connect, Garmin watches, FitBit CSV, and MS Health CSV files into serverless SQLite databases. It generates daily/weekly/monthly/yearly summary tables and supports graphing and analysis via Jupyter notebooks or SQL browsers.

## Use cases
- download my Garmin Connect data into a local database
- import Garmin watch health and sleep data into sqlite
- parse FIT files from my fitness tracker
- analyze resting heart rate and stress trends over time
- visualize my activity history with jupyter notebooks
- back up my garmin activity data offline
- export garmin activities as tcx files

## When to choose
- You want your Garmin (or FitBit / MS Health) data in a local, queryable SQLite database without running a server
- You need automated incremental syncing from Garmin Connect with JSON and FIT files retained so the database can be rebuilt offline
- You prefer exploring health trends in Jupyter notebooks, SQL views, or tools like DB Browser for SQLite

## When to avoid
- You use tracker platforms other than Garmin, FitBit, or Microsoft Health such as Polar or Suunto
- You need a polished GUI app or hosted dashboard rather than CLI scripts and notebooks
- You want real-time streaming of sensor data instead of periodic downloads and imports

## Facets
- artifact type: cli-tool
- maturity: active
- function: etl, parser, cli, data-science, analytics
- domain: healthcare, data-science, analytics, developer-tools
- platform: python, cli, cross-platform, windows
- tags: garmin, garmin-connect, fitbit, sqlite, jupyter-notebooks, health-data, wearables, quantified-self, fit-files, tcx-export, sleep-tracking, heart-rate, linux, macos

## Member repositories
- tcgoetz/GarminDB (main) score 95

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:53.496537+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:43:21.821019+00:00, confidence not recorded.
  - readme: https://github.com/tcgoetz/GarminDB (fetched 2026-08-28T04:07:53.496537+00:00, sha 344d9029516a)
  - registry_pypi: https://pypi.org/pypi/garmindb/json (fetched 2026-08-29T09:36:14.616620+00:00, sha 05d5bd2d5375)
- Data as of 2026-08-30T08:39:29.467469+00:00.
