GarminDB is a Python tool for downloading health data from Garmin Connect, FitBit, and Microsoft Health into SQLite databases for analysis and visualization.
The tool solves the problem of accessing and analyzing fragmented health data by automating the download and parsing of daily monitoring metrics, activities, sleep, weight, and resting heart rate from Garmin Connect into a local SQLite database. It retains downloaded JSON and FIT files so the database can be regenerated without reconnecting to Garmin, and it structures the data into daily, weekly, monthly, and yearly summary tables. Users can then explore and visualize this data through supplied Jupyter notebooks, third-party notebooks, or SQLite browser tools.
GarminDB suits anyone who wants to own and analyze their Garmin health data locally without relying on Garmin's web interface. It works well for users comfortable with command-line tools and Python, and who want to combine data from multiple sources including FitBit and Microsoft Health CSV files. The tool is distributed through PyPI for straightforward installation and can be run incrementally to keep the database updated with the latest data from Garmin Connect.
The project shows consistent maintenance with regular updates to the codebase. Development activity includes ongoing refinement of data parsing logic and database schema to handle various Garmin data types. The tool receives periodic improvements to its command-line interface and notebook templates. Updates are released through PyPI, making it easy for users to stay current with the latest version.