%global _empty_manifest_terminate_build 0 Name: python-withings-api Version: 2.4.0 Release: 1 Summary: Library for the Withings API License: MIT URL: https://github.com/vangorra/python_withings_api Source0: https://mirrors.nju.edu.cn/pypi/web/packages/f6/d8/30b7a5b2190a67a7266bd747eb0eedcf546105a6fa3c94cea39293ef6980/withings_api-2.4.0.tar.gz BuildArch: noarch Requires: python3-arrow Requires: python3-requests-oauth Requires: python3-requests-oauthlib Requires: python3-typing-extensions Requires: python3-pydantic %description # Python withings-api [![Build status](https://github.com/vangorra/python_withings_api/workflows/Build/badge.svg?branch=master)](https://github.com/vangorra/python_withings_api/actions?workflow=Build) [![Coverage Status](https://coveralls.io/repos/github/vangorra/python_withings_api/badge.svg?branch=master)](https://coveralls.io/github/vangorra/python_withings_api?branch=master) [![PyPI](https://img.shields.io/pypi/v/withings-api)](https://pypi.org/project/withings-api/) Python library for the Withings Health API Withings Health API Uses OAuth 2.0 to authenticate. You need to obtain a client id and consumer secret from Withings by creating an application here: ## 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. ```python 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. ```bash ./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. ```bash ./scripts/build.sh source ./venv/bin/activate ./scripts/integration_test.py --client-id --consumer-secret --callback-uri ``` The integration test will cache the credentials in a `/.credentials` file between runs. If you get an error saying the access token expired, then remove that credentials file and try again. %package -n python3-withings-api Summary: Library for the Withings API Provides: python-withings-api BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-withings-api # Python withings-api [![Build status](https://github.com/vangorra/python_withings_api/workflows/Build/badge.svg?branch=master)](https://github.com/vangorra/python_withings_api/actions?workflow=Build) [![Coverage Status](https://coveralls.io/repos/github/vangorra/python_withings_api/badge.svg?branch=master)](https://coveralls.io/github/vangorra/python_withings_api?branch=master) [![PyPI](https://img.shields.io/pypi/v/withings-api)](https://pypi.org/project/withings-api/) Python library for the Withings Health API Withings Health API Uses OAuth 2.0 to authenticate. You need to obtain a client id and consumer secret from Withings by creating an application here: ## 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. ```python 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. ```bash ./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. ```bash ./scripts/build.sh source ./venv/bin/activate ./scripts/integration_test.py --client-id --consumer-secret --callback-uri ``` The integration test will cache the credentials in a `/.credentials` file between runs. If you get an error saying the access token expired, then remove that credentials file and try again. %package help Summary: Development documents and examples for withings-api Provides: python3-withings-api-doc %description help # Python withings-api [![Build status](https://github.com/vangorra/python_withings_api/workflows/Build/badge.svg?branch=master)](https://github.com/vangorra/python_withings_api/actions?workflow=Build) [![Coverage Status](https://coveralls.io/repos/github/vangorra/python_withings_api/badge.svg?branch=master)](https://coveralls.io/github/vangorra/python_withings_api?branch=master) [![PyPI](https://img.shields.io/pypi/v/withings-api)](https://pypi.org/project/withings-api/) Python library for the Withings Health API Withings Health API Uses OAuth 2.0 to authenticate. You need to obtain a client id and consumer secret from Withings by creating an application here: ## 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. ```python 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. ```bash ./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. ```bash ./scripts/build.sh source ./venv/bin/activate ./scripts/integration_test.py --client-id --consumer-secret --callback-uri ``` The integration test will cache the credentials in a `/.credentials` file between runs. If you get an error saying the access token expired, then remove that credentials file and try again. %prep %autosetup -n withings-api-2.4.0 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-withings-api -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 2.4.0-1 - Package Spec generated