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
venvmodule.
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.
Metadata
Release files for withings-api 2.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| withings_api-2.4.0.tar.gz | 14.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| withings_api-2.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.4 kB
Release files / withings_api-2.4.0.tar.gz
| Download URL | withings_api-2.4.0.tar.gz |
|---|---|
| Size | 14.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bd0e8c29e0f8838413917c7adfc156e77993931efc69fecd417174d24c60335d
|
|
BLAKE2b-256 checksum How to use checksums |
f6d830b7a5b2190a67a7266bd747eb0eedcf546105a6fa3c94cea39293ef6980
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.12 CPython/3.8.12 Linux/5.11.0-1028-azure
|
Release files / withings_api-2.4.0-py3-none-any.whl
| Download URL | withings_api-2.4.0-py3-none-any.whl |
|---|---|
| Size | 13.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4bd7ff5ae0fd5c35018dec48921c59a5905eb21aef442a98640909069523e06d
|
|
BLAKE2b-256 checksum How to use checksums |
9cd57a99f2a7fd803975a5b34ce3671c587ec774a2690a75f558df19ce0e2fd0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.12 CPython/3.8.12 Linux/5.11.0-1028-azure
|