%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 [](https://github.com/vangorra/python_withings_api/actions?workflow=Build) [](https://coveralls.io/github/vangorra/python_withings_api?branch=master) [](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 [](https://github.com/vangorra/python_withings_api/actions?workflow=Build) [](https://coveralls.io/github/vangorra/python_withings_api?branch=master) [](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 [](https://github.com/vangorra/python_withings_api/actions?workflow=Build) [](https://coveralls.io/github/vangorra/python_withings_api?branch=master) [](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