# tcgoetz/garmindb

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/tcgoetz-garmindb).**

2,923 stars · 244 forks · Python · gpl-2.0

## Links

- GitHub: https://github.com/tcgoetz/GarminDB
- awesome-repositories: https://awesome-repositories.com/repository/tcgoetz-garmindb.md

## Topics

`database` `garmin` `health` `jupyter-notebooks` `python` `sqlite`

## Description

GarminDB is a local fitness data store and self-hosted health data archive designed to import, archive, and analyze health and activity metrics from Garmin accounts. It functions as a fitness data aggregator and metric analysis tool, maintaining a private database of health records for independent tracking and custom querying.

The system features a GPS activity heatmap generator to visualize frequently traveled paths and a plugin system for integrating specialized third-party data fields and custom metrics. It employs a local-first persistence model that retains original source files on disk to allow for full database reconstruction without re-downloading data from external services.

The software covers data management through incremental synchronization and fitness metric aggregation into daily, weekly, monthly, and yearly totals. Its analytical capabilities include activity performance comparison, statistics generation, and health trend visualization via command-line tools or interactive notebooks.

## Tags

### Business & Productivity Software

- [Local Health Databases](https://awesome-repositories.com/f/business-productivity-software/health-and-fitness-trackers/local-health-databases.md) — Maintains a private database of health and fitness metrics for custom querying and analysis without relying on cloud services.
- [Metric Analysis Tools](https://awesome-repositories.com/f/business-productivity-software/fitness-apps/metric-analysis-tools.md) — Compares performance trends across multiple activities and generates detailed fitness statistics.
- [Performance Analysis](https://awesome-repositories.com/f/business-productivity-software/health-and-fitness-trackers/performance-analysis.md) — Processes raw activity and health data to calculate performance summaries and longitudinal trends over time.
- [GPS Path Tracking](https://awesome-repositories.com/f/business-productivity-software/travel-applications/travel-activity-logs/gps-path-tracking.md) — Provides tools for visualizing movement paths using satellite positioning data for outdoor activities.

### Data & Databases

- [Local-First Databases](https://awesome-repositories.com/f/data-databases/local-first-databases.md) — Implements a local-first database system for the private storage and ownership of health and fitness metrics.
- [Data Import](https://awesome-repositories.com/f/data-databases/data-import.md) — Downloads activity files from remote accounts or devices for local database storage. ([source](https://github.com/tcgoetz/GarminDB/blob/master/Makefile))
- [Fitness](https://awesome-repositories.com/f/data-databases/database-record-management/record-counting/data-aggregators/fitness.md) — Summarizes raw health records into structured daily and yearly totals for longitudinal analysis.
- [Remote-to-Local Database Synchronizers](https://awesome-repositories.com/f/data-databases/entity-modeling/entity-table-synchronizers/remote-to-local-database-synchronizers.md) — Synchronizes remote fitness data with a local database for offline access and ownership. ([source](https://github.com/tcgoetz/GarminDB/blob/master/Makefile))
- [Fitness Account Integrations](https://awesome-repositories.com/f/data-databases/fitness-account-integrations.md) — Implements secure API integration to retrieve fitness data from remote Garmin accounts. ([source](https://github.com/tcgoetz/GarminDB/blob/master/requirements.in))
- [Fitness Activity Analysis](https://awesome-repositories.com/f/data-databases/fitness-activity-analysis.md) — Analyzes imported fitness files to generate health insights and performance metrics from activity records. ([source](https://github.com/tcgoetz/GarminDB/wiki/Usage))
- [Fitness Data Parsers](https://awesome-repositories.com/f/data-databases/fitness-data-parsers.md) — Parses Garmin fitness and health files to store activity metrics in a local database. ([source](https://github.com/tcgoetz/GarminDB/blob/master/MANIFEST.in))
- [Fitness Metric Aggregators](https://awesome-repositories.com/f/data-databases/fitness-metric-aggregators.md) — Summarizes raw activity and health data into daily, weekly, monthly, and yearly totals for longitudinal analysis. ([source](https://github.com/tcgoetz/GarminDB/blob/master/README.md))
- [Health Data Integration](https://awesome-repositories.com/f/data-databases/health-data-integration.md) — Downloads and parses daily monitoring and health data from remote accounts into a local database. ([source](https://github.com/tcgoetz/GarminDB#readme))
- [Local Data Stores](https://awesome-repositories.com/f/data-databases/local-data-stores.md) — Provides a local database system for importing, archiving and analyzing health and activity metrics.
- [Local Persistence](https://awesome-repositories.com/f/data-databases/local-persistence.md) — Persists downloaded health and activity data locally to ensure data ownership and offline availability. ([source](https://github.com/tcgoetz/GarminDB/blob/master/setup.py))
- [Fitness Account Archivers](https://awesome-repositories.com/f/data-databases/lossless-data-archiving/archive-data-loading/account-data-archivers/fitness-account-archivers.md) — Downloads and stores Garmin fitness and health records locally to ensure long term data ownership and backup.
- [Activity Performance Benchmarking](https://awesome-repositories.com/f/data-databases/activity-performance-benchmarking.md) — Analyzes multiple activities over the same course to identify performance differences and trends. ([source](https://github.com/tcgoetz/GarminDB/wiki/Screenshots))
- [Health Data Summaries](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-persistence-storage/data-storage-architectures/materialized-data-summaries/health-data-summaries.md) — Aggregates raw health and activity metrics into structured tables for periodic analysis. ([source](https://github.com/tcgoetz/GarminDB#readme))
- [Temporal Trend Visualizers](https://awesome-repositories.com/f/data-databases/data-visualization-charts/time-series-visualizers/temporal-trend-visualizers.md) — Generates temporal trend graphs and charts from the health database using command-line tools or notebooks. ([source](https://github.com/tcgoetz/GarminDB/blob/master/README.md))
- [Health Metric Visualizations](https://awesome-repositories.com/f/data-databases/health-metric-visualizations.md) — Provides capabilities to produce graphs from the database for analyzing health trends via command-line tools or notebooks. ([source](https://github.com/tcgoetz/GarminDB#readme))
- [Incremental Data Synchronization](https://awesome-repositories.com/f/data-databases/incremental-data-synchronization.md) — Fetches only the data generated after the most recent local entry to keep the database current.
- [Raw Data Archiving](https://awesome-repositories.com/f/data-databases/raw-data-archiving.md) — Preserves original source files locally to allow for future database regeneration without re-downloading. ([source](https://github.com/tcgoetz/GarminDB/blob/master/README.md))

### Part of an Awesome List

- [Data Ingestion](https://awesome-repositories.com/f/awesome-lists/data/html-and-xml-parsing/xml-parsing/data-ingestion.md) — Provides a system for importing remote fitness data from external API formats into a local database.
- [GPS Heatmaps](https://awesome-repositories.com/f/awesome-lists/data/heatmap-visualization/gps-heatmaps.md) — Creates visual maps of GPS coordinates from stored activity data to identify frequently traveled paths. ([source](https://github.com/tcgoetz/GarminDB/wiki/Related-Projects))

### Content Management & Publishing

- [Self-Hosted Health Archives](https://awesome-repositories.com/f/content-management-publishing/self-hosted-health-archives.md) — Retains original fitness files and parsed data in a local repository for independent health tracking.

### Scientific & Mathematical Computing

- [Fitness Metric Calculators](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/statistics-probability/statistical-analysis-libraries/statistical-metric-calculators/fitness-metric-calculators.md) — Calculates performance metrics and summaries based on stored fitness data to track progress. ([source](https://github.com/tcgoetz/GarminDB/wiki/Screenshots))

### Operating Systems & Systems Programming

- [Source](https://awesome-repositories.com/f/operating-systems-systems-programming/file-archiving/source.md) — Retains original source files on disk to enable full database reconstruction without re-downloading data.

### Software Engineering & Architecture

- [Third-Party Plugins](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/third-party-plugins.md) — Provides a plugin system to extend the data pipeline with specialized parsing for third-party metrics.

### User Interface & Experience

- [GPS Path Heatmaps](https://awesome-repositories.com/f/user-interface-experience/calendars/activity-heatmaps/gps-path-heatmaps.md) — Processes stored GPS coordinates to create visual maps of frequently traveled paths.
