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
python -m pip install withings_api_cdt
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, AuthScope
from withings_api.api import WithingsApi
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-cdt 2.7.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 | Provenance | |
|---|---|---|---|---|
| withings_api_cdt-2.7.0.tar.gz | 16.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| withings_api_cdt-2.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.2 kB
Release files / withings_api_cdt-2.7.0.tar.gz
| Download URL | withings_api_cdt-2.7.0.tar.gz |
|---|---|
| Size | 16.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
128758899c31420f7028ef759a139727a50c37ccf1b488c5de82ce0821e49ed2
|
|
BLAKE2b-256 checksum How to use checksums |
2b57934d910525daf9e963e750c7c70b37c85f0c19eab0af0290ac26219420ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.4 CPython/3.8.6 Windows/10
|
Release files / withings_api_cdt-2.7.0-py3-none-any.whl
| Download URL | withings_api_cdt-2.7.0-py3-none-any.whl |
|---|---|
| Size | 17.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5b61fe1b4d6527990fb4c95c8fb00799c15f8c3f6f9c9f84ac29935f3b538b86
|
|
BLAKE2b-256 checksum How to use checksums |
9ed9c6a1fefa14bd3dc4cbfcd5840e1821e1191dc9e096365e8a8bbf8d50470f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.4 CPython/3.8.6 Windows/10
|
Security for withings-api-cdt 2.7.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.