Skip to main content

Python withings-api Build status codecov PyPI

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 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.

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)

Source distribution for withings-api-cdt 2.7.0
File Size Uploaded Provenance
withings_api_cdt-2.7.0.tar.gz 16.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for withings-api-cdt 2.7.0
File Interpreter ABI Platform
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page