Skip to content

a-llison-lau/wearipedia

 
 

Repository files navigation

wearipedia

Build status Python Version Dependencies Status

Code style: black Security: bandit Pre-commit Semantic Versions License Coverage Report

A one-stop shop for wearable device data extraction and simulation

Wearipedia provides a one-stop shop for accessing and extracting data from wearable devices.

Data from these devices may be used for:

  • Clinical research
  • Personal health monitoring
  • Health coaching
  • Health product development
  • Wearable device development

Wearipedia is developed and maintained by the Snyder Lab at the Stanford University.

Accessing data from wearable devices

The data from these devices is accessed using an easy-to-use API. In order to use this API, you will need to import the wearipedia module:

import wearipedia

Once you have imported the wearipedia module, accessing data from any wearable device is as easy as:

device = wearipedia.get_device("whoop/whoop_4")
device.authenticate({"email": "[email protected]", "password": "foobar"})

# data is a DataFrame
data = device.get_data("metrics")

If you don't have access to your device, or need to demo data from a device without revealing your sensitive data or getting a device yourself, you can generate synthetic data, as shown below:

device = wearipedia.get_device("whoop/whoop_4")

# data is an automatically generated DataFrame
data = device.get_data("metrics")

and you're done!

Installing

The easiest way to install wearipedia is to use pip:

pip install wearipedia

We currently support Python 3.7, 3.8, and 3.9.

Supported Devices

Wearipedia supports the following devices:

Company Model Name Description Example Notebook Kinds of Data Available Unique name
Whoop Whoop The WHOOP 4.0 strap tracks sleep and activity data. Notebook cycles, hr. whoop/whoop_4
Garmin Fenix 7S The Garmin Fenix 7S is a watch that activity data. Notebook dates, steps, hrs, brpms. garmin/fenix_7s
Dexcom Pro CGM The Dexcom Pro CGM wearable device tracks blood sugar levels. Notebook dataframe. dexcom/pro_cgm
Withings Body+ The Withings Body+ is a smart scale that tracks weight and other metrics (body fat %). Notebook measurements. withings/bodyplus
Withings ScanWatch The Withings ScanWatch wearable device tracks sleep and activity data. Notebook heart_rates, sleeps. withings/scanwatch

Documentation

For more information on how to use wearipedia, please refer to our documentation.

Citing

A paper is in progress!

Disclaimer

This project is currently in alpha. This means that test coverage is limited, and the codebase is still really a prototype. Moreover, the API is unstable, as we are still rapidly iterating on it. Expect for most things to work, but also small bugs, rough edges, and sparse documentation.

Contributing

As Wearipedia is still at an early stage, we are not yet accepting contributions from the broader community. Once Wearipedia reaches its first stable release, we will begin accepting contributions.

License

Wearipedia is released under the MIT license.

Credits 🚀 Your next Python package needs a bleeding-edge project structure.

This project was generated with python-package-template

About

Wearipedia python package

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.2%
  • Makefile 0.8%