- Script en Python para analizar y manipular datos de salud en una base de datos SQLite
- Descarga y analiza datos desde Garmin Connect o relojes Garmin, archivos CSV de FitBit y archivos CSV de MS Health, y analiza los datos en la base de datos Sqlite usando notebooks de Jupyter
Funciones
- Descarga e importa automáticamente datos como frecuencia cardíaca de todo el día, actividad, ascenso/descenso, estrés y minutos de intensidad desde la página "Daily Summary" de Garmin Connect
- Extrae datos de sueño, peso y frecuencia cardíaca en reposo desde Garmin Connect, los guarda como archivos JSON y los importa a la base de datos
- Descarga e importa archivos de actividad desde Garmin Connect. Incluye tablas de resumen para todas las actividades y datos detallados para algunos tipos de actividad
- Resume los datos en tablas que incluyen resúmenes diarios, semanales, mensuales y anuales
- Grafica los datos usando la línea de comandos o notebooks de Jupyter
- Conserva los archivos JSON y FIT descargados para poder reconstruir la base de datos sin volver a conectarse a Garmin Connect ni volver a descargar los datos
- Permite exportar actividades como archivos TCX
Cómo usarlo
Releases
- GarminDb está alojado en PyPI. Requiere Python 3.x. Instala la versión más reciente ejecutando
pip install garmindb en la terminal
- Copia
GarminConnectConfig.json.example a ~/.GarminDb/GarminConnectConfig.json, agrega tu nombre de usuario y contraseña de Garmin Connect, y ajusta la fecha de inicio de los datos
- Para descargar todos los datos y crear la base de datos, ejecuta
garmindb_cli.py --all --download --import --analyze
- Para descargar e importar los datos más recientes y actualizar gradualmente la base de datos, ejecuta
garmindb_cli.py --all --download --import --analyze --latest
- Para respaldar el archivo de la base de datos, ejecuta de vez en cuando
garmindb_cli.py --backup
Desde el código fuente
- Clona con Git el repositorio de GarminDB usando el método de clonación por SSH. Los submódulos también deben usar SSH
- En el árbol clonado, ejecuta
make setup para dejar todo listo para procesar los datos
- Copia
GarminConnectConfig.json.example a ~/.GarminDb/GarminConnectConfig.json, agrega tu nombre de usuario y contraseña, y ajusta la fecha de inicio
- Ejecuta
make create_dbs una vez para importar y procesar los datos
- Ejecuta periódicamente el comando
make para mantener actualizados todos los datos locales
Notebooks de Jupyter
- Los notebooks de Jupyter para analizar los datos de la base de datos están en el directorio 'Jupyter' del árbol de código fuente
Plugins
- Los plugins permiten a los usuarios ampliar los tipos de datos que se procesan y almacenan en la base de datos. GarminDb ya incluye varios plugins para procesar apps de terceros de Connect IQ y campos de datos
1 comentarios
Opiniones en Hacker News
Hay que tener cuidado con las apps que autentican usando Garth. La integración con Garmin es difícil.
Hay una forma de obtener los datos actuales desde el dispositivo.
.FIT.Es útil usar Intervals para analizar datos relacionados con Garmin y Strava.
Garmin debería ofrecer hardware que permita gestionar mejor los datos, en lugar de depender de una app de smartphone.
El SDK de Garmin es antiguo y el acceso a los datos es limitado.
Hace falta un reloj fitness con mejor acceso a los datos.
Compré el nuevo Garmin Vivoactive5 y estoy satisfecho, aunque la API de Garmin no es la mejor.