- Script Python pour analyser et manipuler des données de santé dans une base de données SQLite
- Télécharge et analyse des données depuis Garmin Connect ou une montre Garmin, ainsi que des fichiers CSV FitBit et MS Health, puis permet d’analyser les données de la base Sqlite avec des notebooks Jupyter
Fonctionnalités
- Télécharge et importe automatiquement depuis la page "Daily Summary" de Garmin Connect des données comme la fréquence cardiaque sur toute la journée, l’activité, le dénivelé positif/négatif, le stress et les minutes d’intensité
- Extrait depuis Garmin Connect les données de sommeil, de poids et de fréquence cardiaque au repos, les enregistre au format JSON et les importe dans la base de données
- Télécharge et importe les fichiers d’activité depuis Garmin Connect. Inclut une table récapitulative pour toutes les activités et des données détaillées pour certains types d’activité
- Résume les données dans des tables incluant des synthèses quotidiennes, hebdomadaires, mensuelles et annuelles
- Affiche les données sous forme de graphiques via la ligne de commande ou des notebooks Jupyter
- Archive les fichiers JSON et FIT téléchargés afin de pouvoir recréer la base de données sans se reconnecter à Garmin Connect ni retélécharger les données
- Permet d’exporter les activités au format TCX
Utilisation
Release
- GarminDb est hébergé sur PyPI. Python 3.x est requis. Exécutez
pip install garmindb dans le terminal pour installer la dernière release
- Copiez
GarminConnectConfig.json.example vers ~/.GarminDb/GarminConnectConfig.json, ajoutez votre nom d’utilisateur et votre mot de passe Garmin Connect, puis ajustez la date de début des données
- Pour télécharger toutes les données et créer la base de données, exécutez
garmindb_cli.py --all --download --import --analyze
- Pour télécharger et importer les données les plus récentes afin de mettre à jour progressivement la base, exécutez
garmindb_cli.py --all --download --import --analyze --latest
- Pour sauvegarder le fichier de base de données, exécutez de temps en temps
garmindb_cli.py --backup
Depuis les sources
- Clonez le dépôt GarminDB via Git en utilisant la méthode de clonage SSH. Les sous-modules doivent utiliser SSH
- Dans l’arborescence clonée, exécutez
make setup pour préparer le traitement des données
- Copiez
GarminConnectConfig.json.example vers ~/.GarminDb/GarminConnectConfig.json, ajoutez votre nom d’utilisateur et votre mot de passe, puis ajustez la date de début
- Exécutez
make create_dbs une fois pour importer et traiter les données
- Exécutez périodiquement la commande
make pour maintenir toutes les données locales à jour
Notebooks Jupyter
- Les notebooks Jupyter pour analyser les données de la base se trouvent dans le répertoire 'Jupyter' de l’arborescence des sources
Plugins
- Les plugins permettent aux utilisateurs d’étendre les types de données à traiter et à stocker dans la base de données. GarminDb dispose déjà de plusieurs plugins pour traiter des applications Connect IQ tierces et des champs de données
1 commentaires
Avis Hacker News
Il faut faire attention aux applications qui s’authentifient avec Garth. L’intégration avec Garmin est difficile.
Il existe un moyen de récupérer les données actuelles depuis l’appareil.
.FIT.Il est utile d’utiliser Intervals pour analyser les données liées à Garmin et Strava.
Garmin devrait proposer du matériel permettant de mieux gérer les données, au lieu de dépendre d’une application smartphone.
Le SDK de Garmin est ancien et l’accès aux données est limité.
Il faut une montre de fitness offrant un meilleur accès aux données.
J’ai acheté la nouvelle Garmin Vivoactive5 et j’en suis satisfait, même si l’API de Garmin n’est pas idéale.