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.1a1.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

watchlib-0.0.1a1-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: watchlib-0.0.1a1.tar.gz
  • Upload date:
  • Size: 15.1 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.1a1.tar.gz
Algorithm Hash digest
SHA256 f0a552b76ac2fa91c8984c580ab1a3053ce93147bf0227b87858cf1992b8240d
MD5 752b3c937707a7287d4949433d565223
BLAKE2b-256 b7d9fb999af8a072d834e2176939d05b115fbc3227aa0a2175040be64689e065

See more details on using hashes here.

File details

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

File metadata

  • Download URL: watchlib-0.0.1a1-py3-none-any.whl
  • Upload date:
  • Size: 16.6 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.1a1-py3-none-any.whl
Algorithm Hash digest
SHA256 767ce2e64da735559e05dff00f863a0b1f58c17de5aaf584148f8648c26c7c36
MD5 c4ea8f43254f759e6ae8509fac64291c
BLAKE2b-256 eb6c2256979668fcb773f1b0e84bbffe656cf14f3536454331b91729a49b3d3b

See more details on using hashes here.

Supported by

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