Registry / data / garmindb

garmindb

JSON →
library3.7.0pypypiunverified

Download and analyze Garmin Connect data, including activities, health data (HR, sleep, steps), and more. Version 3.7.0 released March 2025; active development with frequent releases.

pip install garmindb
INSTALL
IMPORT
SIG · GARMINDB
G
garmindb
datapythonv3.7.0
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

GarminDb
✓ from garmindb import GarminDb
✗ from garmindb import GarminDb

Initialize GarminConnect, download activities, create local database and store data.

import os from garmindb import GarminConnect, GarminDb # Set credentials as environment variables or directly email = os.environ.get('GARMIN_EMAIL', '') password = os.environ.get('GARMIN_PASSWORD', '') # Initialize GarminConnect client client = GarminConnect(email=email, password=password) # Download recent activities activities = client.get_activities(start=0, limit=10) print(f"Downloaded {len(activities)} activities") # Initialize database (creates local SQLite) db = GarminDb() db.create_tables() # Save activities to database for activity in activities: db.save_activity(activity) print("Data saved to GarminDB database.")
garmindb --version
Debug
Known issues
breakingVersion 3.7.0 requires a database rebuild. Run 'garmindb_cli.py --rebuild_db' after upgrade or you'll get schema errors.
fix
Run 'garmindb_cli.py --rebuild_db' (or the equivalent Python call) once after upgrading.
affects: >=3.7.0
breakingStarting with version 3.6.0, authentication uses the 'garth' library. Old 'garminconnect' credentials may fail.
fix
Re-authenticate via OAuth. The library now uses browser-based login; headless may require token refreshes.
affects: >=3.6.0
gotchaThe CLI script is installed as 'garmindb_cli.py' (not 'garmindb_cli'). Running 'garmindb_cli --help' will fail.
fix
Use 'garmindb_cli.py' as the command, e.g. 'garmindb_cli.py --rebuild_db'.
affects: >=2.0
deprecatedThe 'GarminDb' class constructor no longer supports the 'db_directory' parameter. It's now auto-detected from config.
fix
Set 'database_dir' in your config file or use default.
affects: >=3.4.0
Upgrade
Version history
3.7.0latest on PyPI · released Mar 11, 2026
Audit
Dependencies
garthrequiredHandles Garmin Connect authentication
pandasrequiredUsed for data analysis and export
sqlalchemyrequiredDatabase ORM for storing data
Agent activity
12 hits · last 30 days
node
10
Resources
garmindb — pip install garmindb · libregistry