Skip to main content

watchlib is a Python package providing tools for loading, visualizing and analyzing Apple Watch health data.

Project description

watchlib

watchlib is a python module for loading, analyzing and visualizing Apple Watch health data. A detailed documentation can be found in the Wiki. To see the module in action you can try out the watchlib demonstrator or look at some of the demo notebooks.

Disclaimer: This is still a work in progres! If you want to help with further development feel free to join me on Discord where we can discuss together or write an Issue here on GitHub.

How to export Apple Watch health data

To use this Python package you first have to export the health data like this:

  1. Open Health app
  2. Open your profile in the upper right corner
  3. Scroll down
  4. Tap on "Export all health data"
  5. Confirm that you want to export all health data
  6. Wait until the export has finished (this might take some minutes)
  7. Select "Save in files"
  8. Choose a folder and tap "Save"
  9. Last step is to unzip the "Export.zip" file

ECG

ECG Analysis

Calculate various heart rate metrics from a 30 second ECG:

  • beats per minute (bpm)
  • time between heartbeats in ms
  • heart rate variability (hrv)
  • coming soon: ECG wave detection

ECG Plotting and Animation

  • plot ECG
  • plot ECG together with metrics
  • animate ECG

Workout Route

Filtering workout routes by:

  • country
  • bounding box size in km
  • length of workout in min

3D animation of workout routes:

  • coloring based on:
    • elevation
    • speed
    • course
    • horizontal acceleration
    • vertical acceleration

Other Health Data

  • loading and converting other health data

Analysis of other health data

coming soon

Notebook demos

Streamlit demo

streamlit ecg streamlit workout

ECG heartbeat calculation

ECG heartbeat calculation slow ECG heartbeat calculation fast

Workout Animation

Watch an example workout animation here

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

watchlib-0.0.1a2.tar.gz (15.9 kB view details)

Uploaded Source

Built Distribution

watchlib-0.0.1a2-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

Details for the file watchlib-0.0.1a2.tar.gz.

File metadata

  • Download URL: watchlib-0.0.1a2.tar.gz
  • Upload date:
  • Size: 15.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.7 tqdm/4.62.3 importlib-metadata/4.8.1 keyring/23.1.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.7

File hashes

Hashes for watchlib-0.0.1a2.tar.gz
Algorithm Hash digest
SHA256 90a1dd606137472eaf8b76587e9c2be2859f52ffa94d75d53fd8183a28cc01fc
MD5 915d7ac763074a328e221971c11b470d
BLAKE2b-256 785f97bd02d1d3338e21a723d38bf1bd7ec7dc2e8161782379a2c38420cd2cfe

See more details on using hashes here.

File details

Details for the file watchlib-0.0.1a2-py3-none-any.whl.

File metadata

  • Download URL: watchlib-0.0.1a2-py3-none-any.whl
  • Upload date:
  • Size: 18.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.7 tqdm/4.62.3 importlib-metadata/4.8.1 keyring/23.1.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.7

File hashes

Hashes for watchlib-0.0.1a2-py3-none-any.whl
Algorithm Hash digest
SHA256 2dd806a09456354944b3bfb162af33cc0bc6f056b0ff52903b5664f542b8da62
MD5 253a8fbb79e1e9091b0d8a9ade5277c4
BLAKE2b-256 2dfa2f9a1b2c47d057a1fdb08ed324b9e0a3c494f1cf5bfb5860dc3be790765f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page