Skip to main content

Save data from Fitbit Takeout to an SQLite database

Project description

fitbit-to-sqlite

PyPI License

Save data from Fitbit Takeout to an SQLite database.

How to install

$ pip install fitbit-to-sqlite

Request your Fitbit data from the Export Your Account Archive section on this page https://www.fitbit.com/settings/data/export - wait for the email and download the zip file.

This tool only supports a subset of the available data sources. More will be added over time.

Resting Heart Rate

You can import data on your resting heart rate over time by using this command:

$ fitbit-to-sqlite resting-heart-rate fitbit.db MyFitbitData.zip

This will create a database file called fitbit.db if one does not already exist.

Distance

You can import data on the distance you have travelled each minute of each day by using the following command. Note that this also creates an analysis view called distance_v which converts the distances to km and miles.

$ fitbit-to-sqlite distance fitbit.db MyFitbitData.zip

Minutes Active

You can import data on your activity minutes, which Fitbit classifies into Sedentary, Lightly Active, Moderately Active and Very Active using the following command. Note that this creates separate database tables for each, but they are also combined together into a view for analysis called minutes_active_v.

$ fitbit-to-sqlite minutes-active fitbit.db MyFitbitData.zip

Exercise

You can import data on your exercise activities using the following command. Note that this imports a subset of all fields.

$ fitbit-to-sqlite exercise fitbit.db MyFitbitData.zip

Sleep

You can import sleep log data using the following command. Note that some fields are only populated for sleep captured in stages. A second table called sleep_scores is also created which includes the scores (out of 100) which Fitbit have started generating.

$ fitbit-to-sqlite sleep fitbit.db MyFitbitData.zip

Heart Rate Zones

You can import data on the time you have spent across the four heart rate zones which Fitbit defines based on your maximum heart rate. In the app these are usually referred to as "Below Zones", "Fat Burn", "Cardio" and "Peak" but here they are imported as below_zone_1, in_zone_1, in_zone_2 and in_zone_3.

$ fitbit-to-sqlite heart-rate-zones fitbit.db MyFitbitData.zip

Browsing your data with Datasette

Once you have imported Fitbit data into an SQLite database file you can browse your data using Datasette. Install Datasette like so:

$ pip install datasette

Now browse your data by running this and then visiting http://localhost:8001/

$ datasette fitbit.db

Thanks

This package is heavily inspired by the interesting work on Personal Analytics which Simon Willison has been doing 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

fitbit-to-sqlite-0.6.tar.gz (5.6 kB view details)

Uploaded Source

Built Distributions

fitbit_to_sqlite-0.6-py3.8.egg (10.3 kB view details)

Uploaded Source

fitbit_to_sqlite-0.6-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file fitbit-to-sqlite-0.6.tar.gz.

File metadata

  • Download URL: fitbit-to-sqlite-0.6.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0.post20200814 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for fitbit-to-sqlite-0.6.tar.gz
Algorithm Hash digest
SHA256 0da02adf44d4e219755622b7a3e70878670035d1c40e7ebd166e6b2dc5675fa7
MD5 d03a8c33a31076c96f18fdab7c44fde1
BLAKE2b-256 0e54e549d82b0e09593fcffa087f5743b91e28b2f4458d796ae626c692dbb6e4

See more details on using hashes here.

File details

Details for the file fitbit_to_sqlite-0.6-py3.8.egg.

File metadata

  • Download URL: fitbit_to_sqlite-0.6-py3.8.egg
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0.post20200814 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for fitbit_to_sqlite-0.6-py3.8.egg
Algorithm Hash digest
SHA256 59e85ee3aa3534f42008275a690415709140732d5e0c6b489f86cd8cf2aa2eae
MD5 72c1a56c40a9a9eb6bc78ab015b6ce50
BLAKE2b-256 906820d51df45633c1bc09ef6e38c7a485edaafad2bc3302894caf79ecdece69

See more details on using hashes here.

File details

Details for the file fitbit_to_sqlite-0.6-py3-none-any.whl.

File metadata

  • Download URL: fitbit_to_sqlite-0.6-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0.post20200814 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for fitbit_to_sqlite-0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 452b0d7ff3fc0d4fe0542ef876b4593f19e55eabc4f16461cef2c2045a04ff45
MD5 a0b3362dee8b5cbfeb6a0b799b3f0e5f
BLAKE2b-256 a076e767d56bc6568e67a24b4e93d0b78fffd5c4b993bc259a4454b595e6a14c

See more details on using hashes here.

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