Library for the Withings API
Project description
Python withings-api
Python library for the Withings Health API
Withings Health API https://developer.withings.com/oauth2/
Uses OAuth 2.0 to authenticate. You need to obtain a client id and consumer secret from Withings by creating an application here: http://developer.withings.com/oauth2/
Installation
pip install withings-api
Usage
For a complete example, checkout the integration test in scripts/integration_test.py
. It has a working example on how to use the API.
from withings_api import WithingsAuth, WithingsApi, AuthScope
from withings_api.common import get_measure_value, MeasureType
auth = WithingsAuth(
client_id='your client id',
consumer_secret='your consumer secret',
callback_uri='your callback uri',
mode='demo', # Used for testing. Remove this when getting real user data.
scope=(
AuthScope.USER_ACTIVITY,
AuthScope.USER_METRICS,
AuthScope.USER_INFO,
AuthScope.USER_SLEEP_EVENTS,
)
)
authorize_url = auth.get_authorize_url()
# Have the user goto authorize_url and authorize the app. They will be redirected back to your redirect_uri.
credentials = auth.get_credentials('code from the url args of redirect_uri')
# Now you are ready to make calls for data.
api = WithingsApi(credentials)
meas_result = api.measure_get_meas()
weight_or_none = get_measure_value(meas_result, with_measure_type=MeasureType.WEIGHT)
Building
Building, testing and lintings of the project is all done with one script. You only need a few dependencies.
Dependencies:
- python3 in your path.
- The python3
venv
module.
The build script will setup the venv, dependencies, test and lint and bundle the project.
./scripts/build.sh
Integration Testing
There exists a simple integration test that runs against Withings' demo data. It's best to run this after you have successful builds.
Note: after changing the source, you need to run build for the integration test to pickup the changes.
./scripts/build.sh
source ./venv/bin/activate
./scripts/integration_test.py --client-id <your client id> --consumer-secret <your consumer secret> --callback-uri <your clalback uri>
The integration test will cache the credentials in a <project root>/.credentials
file between runs. If you get an error saying
the access token expired, then remove that credentials file and try again.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file withings_api-2.4.0.tar.gz
.
File metadata
- Download URL: withings_api-2.4.0.tar.gz
- Upload date:
- Size: 14.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.8.12 Linux/5.11.0-1028-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd0e8c29e0f8838413917c7adfc156e77993931efc69fecd417174d24c60335d |
|
MD5 | 4ffa9f0c4faab818c003481b28800b20 |
|
BLAKE2b-256 | f6d830b7a5b2190a67a7266bd747eb0eedcf546105a6fa3c94cea39293ef6980 |
File details
Details for the file withings_api-2.4.0-py3-none-any.whl
.
File metadata
- Download URL: withings_api-2.4.0-py3-none-any.whl
- Upload date:
- Size: 13.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.8.12 Linux/5.11.0-1028-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4bd7ff5ae0fd5c35018dec48921c59a5905eb21aef442a98640909069523e06d |
|
MD5 | c24c4e825b0dd0b01907eaa26682505e |
|
BLAKE2b-256 | 9cd57a99f2a7fd803975a5b34ce3671c587ec774a2690a75f558df19ce0e2fd0 |