Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/se-jaeger/health-tracking

Parse Apple Health App dump conveniently and create visualizations.
https://github.com/se-jaeger/health-tracking

applehealth data-science health python python-3

Last synced: 17 days ago
JSON representation

Parse Apple Health App dump conveniently and create visualizations.

Awesome Lists containing this project

README

        

# Health Tracking

This repository provides some [notebooks](./notebooks) to analyze the [Apple Health App](https://www.apple.com/ios/health/) data export dump as well as visualizations.

## Description

Add the exported dump ([see here for information](https://appletoolbox.com/how-to-export-apple-health-data-from-your-iphone-and-apple-watch/#Export_raw_Health_data_from_your_iPhone_and_Apple_Watch)), 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](#installation) section. Or simply use:

```bash
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`:

4. 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.

5. 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/.

[conda]: https://docs.conda.io/
[pre-commit]: https://pre-commit.com/
[Jupyter]: https://jupyter.org/
[nbstripout]: https://github.com/kynan/nbstripout
[Google style]: http://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings
[dsproject extension]: https://github.com/pyscaffold/pyscaffoldext-dsproject