{"id":17336482,"url":"https://github.com/knio/myfitbit","last_synced_at":"2025-03-22T19:33:28.952Z","repository":{"id":55483223,"uuid":"87775416","full_name":"Knio/myfitbit","owner":"Knio","description":"Fitbit data export - Because your data belongs to you!","archived":true,"fork":false,"pushed_at":"2022-06-06T19:00:51.000Z","size":1488,"stargazers_count":34,"open_issues_count":3,"forks_count":10,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-18T18:51:16.124Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Knio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-04-10T06:37:45.000Z","updated_at":"2024-11-30T08:30:37.000Z","dependencies_parsed_at":"2022-08-15T01:20:41.866Z","dependency_job_id":null,"html_url":"https://github.com/Knio/myfitbit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Knio%2Fmyfitbit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Knio%2Fmyfitbit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Knio%2Fmyfitbit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Knio%2Fmyfitbit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Knio","download_url":"https://codeload.github.com/Knio/myfitbit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245013742,"owners_count":20547175,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-15T15:30:30.677Z","updated_at":"2025-03-22T19:33:28.615Z","avatar_url":"https://github.com/Knio.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MyFitbit\n\nBecause *\"Your data belongs to you!\"*\n\n...and fitbit's own data export sucks.\n\n![Python version](https://img.shields.io/pypi/pyversions/myfitbit.svg?style=flat)\n[![Build status](https://img.shields.io/travis/Knio/myfitbit/master.svg?style=flat)](https://travis-ci.org/Knio/myfitbit)\n[![Coverage status](https://img.shields.io/coveralls/github/Knio/myfitbit/master.svg?style=flat)](https://coveralls.io/r/Knio/myfitbit?branch=master)\n\n\n## Installation\n\n\nThe recommended way to install `myfitbit` is with\n[`pip`](http://pypi.python.org/pypi/pip/):\n\n    sudo pip install myfitbit\n\n[![PyPI version](https://img.shields.io/pypi/v/myfitbit.svg?style=flat)](https://pypi.org/project/myfitbit/)\n[![PyPI downloads](https://img.shields.io/pypi/dm/myfitbit.svg?style=flat)](https://pypi.org/project/myfitbit/)\n\n\nManual installation:\n\n```sh\ngit clone git@github.com:Knio/myfitbit\ncd myfitbit\npython3 setup.py install\n```\n\n\n## Setup\n\n1. Register a new app at https://dev.fitbit.com/apps/new\n\nThe app should look like this:\n\nThe Callback URL must be exactly `http://localhost:8189/auth_code`\n\n\u003cimg src=\"docs/fitbit_app.png\" width=\"271\" height=\"606\"\u003e\n\n\n2. Configure the API keys\n\nMake a file `myfitbit.ini` in your working directory with the client ID and secret you got from registering the fitbit app:\n\n```\n[fitbit_auth]\nclient_id = 123ABCD\nclient_secret = 0123456789abcdef0a1b2c3d4f5\naccess_token_file = .myfitbit_access_token\n```\n\n\n2. Export your data\n\n```\npython3 -m myfitbit\n```\n\nThis will open a web browser and prompt you to allow the app to access your data.\n\nIt will then begin exporting to your current working directory.\n\nNote that the fitbit API is rate limited to 150 calls/hour, and you can query only 1 day of heartrate data at a time. If you many days of data, you will be rate limited and see an HTTP 429 error. Simply re-run the command an hour later and it will resume downloading where it left off.\n\n3. Generate report\n\n\n```\npython3 -m myfitbit.report --user 123ABC\n```\n\nUse the user id seen in the output from step 2\n\nThis will generate `report.html` in your current working directory.\n\n![Fitbit Report](docs/fitbit.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknio%2Fmyfitbit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fknio%2Fmyfitbit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknio%2Fmyfitbit/lists"}