Skip to main content

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

Project description


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 "" file


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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

Supported by

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