health-tracking

Parse Apple Health App dump conveniently and create visualizations.


Keywords
applehealth, data-science, health, python, python-3
License
Apache-2.0
Install
pip install health-tracking==0.1.1

Documentation

Health Tracking

This repository provides some notebooks to analyze the Apple Health App data export dump as well as visualizations.

Description

Add the exported dump (see here for information), usally named export.zip, into the directory data/raw/export.zip. The AppleHealthParser is able to unzip and parse it.

Install the package as shown in the installation section. Or simply use:

pip install health-tracking

Installation

In order to set up the necessary environment:

  1. create an environment health-tracking with the help of conda,
    conda env create -f environment.yaml
    
  2. activate the new environment with
    conda activate health-tracking
    
  3. install health-tracking with:
    python setup.py install # or `develop`
    

Optional and needed only once after git clone:

  1. install several pre-commit git hooks with:

    pre-commit install
    

    and checkout the configuration under .pre-commit-config.yaml. The -n, --no-verify flag of git commit can be used to deactivate pre-commit hooks temporarily.

  2. install nbstripout git hooks to remove the output cells of committed notebooks with:

    nbstripout --install --attributes notebooks/.gitattributes
    

    This is useful to avoid large diffs due to plots in your notebooks. A simple nbstripout --uninstall will revert these changes.

Then take a look into the scripts and notebooks folders.

Dependency Management & Reproducibility

  1. Always keep your abstract (unpinned) dependencies updated in environment.yaml and eventually in setup.cfg if you want to ship and install your package via pip later on.
  2. Create concrete dependencies as environment.lock.yaml for the exact reproduction of your environment with:
    conda env export -n health-tracking -f environment.lock.yaml
    
    For multi-OS development, consider using --no-builds during the export.
  3. Update your current environment with respect to a new environment.lock.yaml using:
    conda env update -f environment.lock.yaml --prune
    

Note

This project has been set up using PyScaffold 3.2.3. For details and usage information on PyScaffold see https://pyscaffold.org/.