Python scripts for parsing health data into and manipulating data in a SQLite database. SQLite is a lightweight database that doesn't require a server.
What they can do:
- Automatically download and import Garmin daily monitoring files (all day heart rate, activity, climb/descend, stress, and intensity minutes) from the user's Garmin Connect “Daily Summary” page.
- Extract sleep, weight, and resting heart rate data from Garmin Connect, store it as JSON files, and import it into the DB.
- Download and import activity files from Garmin Connect. A summary table for all activities and more detailed data for some activity types. Lap and record entries for activities.
- Summarizing data into a DB with tables containing daily, weekly, monthly, and yearly summaries.
- Graph your data from the command line or with Jupyter notebooks.
- Retain downloaded JSON and FIT files so that the DB can be regenerated without connecting to or redownloading data from Garmin Connect.
- Export activities as TCX files.
Once you have your data in the DB, I recommend using a supplied Jupyter notebooks, third party Jupyter notebooks, and/or SQLite browser like SQLite Studio, HeidiSQL, or DB Browser for SQLite for browsing and working with the data. The scripts create some default views in the DBs that make browsing the data easier.