diff options
Diffstat (limited to 'python-onyx-client.spec')
-rw-r--r-- | python-onyx-client.spec | 193 |
1 files changed, 193 insertions, 0 deletions
diff --git a/python-onyx-client.spec b/python-onyx-client.spec new file mode 100644 index 0000000..e94d65b --- /dev/null +++ b/python-onyx-client.spec @@ -0,0 +1,193 @@ +%global _empty_manifest_terminate_build 0 +Name: python-onyx-client +Version: 6.0.0 +Release: 1 +Summary: HTTP Client for Hella's ONYX.CENTER API. +License: MIT +URL: https://github.com/muhlba91/onyx-client +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/65/cd/b71d2335e42a3efc6c22251c4a513dfc63b700c647cedcb29b27a8ad73f1/onyx_client-6.0.0.tar.gz +BuildArch: noarch + +Requires: python3-aiohttp + +%description +## API Versions +It is encouraged to always update Hella devices to the latest software. This will, mostly, also enforce using the newest +API. In below table you can find an indication of what Hella API version is supported. +| Hella API Version | Client Version | +|-------------------|-------------------| +| v3 | > = 3.1.0 < 6.0.0 | +| v2 | > = 2.5.0 < 3.0.0 | +## Installation +The package is published in **(Test)PyPi** and can be installed via: +```bash +pip install onyx-client +``` +## Configuration +The configuration defines **connection properties** as a `dict` for the application running. +**Attention**: make sure to **read** +the [Onyx API Access Control](https://github.com/hella-info/onyx_api#access-control) description to **retrieve the +fingerprint and access token**! +| Option | Description | +|----------------|---------------------------------------------------------------------------------| +| fingerprint | The fingerprint of the ONYX.CENTER. | +| access_token | The permanent access token. | +| client_session | The initialized `aiohttp.ClientSession`. (Default: `None`, create new session.) | +### Access Control Helper +The method `onyx_client.authorizer.exchange_code` takes the **API code** and performs the exchange to a **fingerprint +and access token**. Please follow the **aforementioned documentation** to retrieve the code. +## Usage +You can **instantiate** the client using the `onyx_client.client.create` method like: +```python +import aiohttp +from onyx_client.client import create +from onyx_client.authorizer import exchange_code +# by providing the fingerprint and access token only +client = create(fingerprint="fingerprint", access_token="access_token") +# by providing the fingerprint, access token and aiohttp client session +client = create(fingerprint="fingerprint", access_token="access_token", client_session=aiohttp.ClientSession()) +# by providing the configuration object +client_session = aiohttp.ClientSession() +# e.g. by exchanging the code first +config = exchange_code("code", client_session) +client = create(config=config, client_session=client_session) if client_session is not None else None +``` + +%package -n python3-onyx-client +Summary: HTTP Client for Hella's ONYX.CENTER API. +Provides: python-onyx-client +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-onyx-client +## API Versions +It is encouraged to always update Hella devices to the latest software. This will, mostly, also enforce using the newest +API. In below table you can find an indication of what Hella API version is supported. +| Hella API Version | Client Version | +|-------------------|-------------------| +| v3 | > = 3.1.0 < 6.0.0 | +| v2 | > = 2.5.0 < 3.0.0 | +## Installation +The package is published in **(Test)PyPi** and can be installed via: +```bash +pip install onyx-client +``` +## Configuration +The configuration defines **connection properties** as a `dict` for the application running. +**Attention**: make sure to **read** +the [Onyx API Access Control](https://github.com/hella-info/onyx_api#access-control) description to **retrieve the +fingerprint and access token**! +| Option | Description | +|----------------|---------------------------------------------------------------------------------| +| fingerprint | The fingerprint of the ONYX.CENTER. | +| access_token | The permanent access token. | +| client_session | The initialized `aiohttp.ClientSession`. (Default: `None`, create new session.) | +### Access Control Helper +The method `onyx_client.authorizer.exchange_code` takes the **API code** and performs the exchange to a **fingerprint +and access token**. Please follow the **aforementioned documentation** to retrieve the code. +## Usage +You can **instantiate** the client using the `onyx_client.client.create` method like: +```python +import aiohttp +from onyx_client.client import create +from onyx_client.authorizer import exchange_code +# by providing the fingerprint and access token only +client = create(fingerprint="fingerprint", access_token="access_token") +# by providing the fingerprint, access token and aiohttp client session +client = create(fingerprint="fingerprint", access_token="access_token", client_session=aiohttp.ClientSession()) +# by providing the configuration object +client_session = aiohttp.ClientSession() +# e.g. by exchanging the code first +config = exchange_code("code", client_session) +client = create(config=config, client_session=client_session) if client_session is not None else None +``` + +%package help +Summary: Development documents and examples for onyx-client +Provides: python3-onyx-client-doc +%description help +## API Versions +It is encouraged to always update Hella devices to the latest software. This will, mostly, also enforce using the newest +API. In below table you can find an indication of what Hella API version is supported. +| Hella API Version | Client Version | +|-------------------|-------------------| +| v3 | > = 3.1.0 < 6.0.0 | +| v2 | > = 2.5.0 < 3.0.0 | +## Installation +The package is published in **(Test)PyPi** and can be installed via: +```bash +pip install onyx-client +``` +## Configuration +The configuration defines **connection properties** as a `dict` for the application running. +**Attention**: make sure to **read** +the [Onyx API Access Control](https://github.com/hella-info/onyx_api#access-control) description to **retrieve the +fingerprint and access token**! +| Option | Description | +|----------------|---------------------------------------------------------------------------------| +| fingerprint | The fingerprint of the ONYX.CENTER. | +| access_token | The permanent access token. | +| client_session | The initialized `aiohttp.ClientSession`. (Default: `None`, create new session.) | +### Access Control Helper +The method `onyx_client.authorizer.exchange_code` takes the **API code** and performs the exchange to a **fingerprint +and access token**. Please follow the **aforementioned documentation** to retrieve the code. +## Usage +You can **instantiate** the client using the `onyx_client.client.create` method like: +```python +import aiohttp +from onyx_client.client import create +from onyx_client.authorizer import exchange_code +# by providing the fingerprint and access token only +client = create(fingerprint="fingerprint", access_token="access_token") +# by providing the fingerprint, access token and aiohttp client session +client = create(fingerprint="fingerprint", access_token="access_token", client_session=aiohttp.ClientSession()) +# by providing the configuration object +client_session = aiohttp.ClientSession() +# e.g. by exchanging the code first +config = exchange_code("code", client_session) +client = create(config=config, client_session=client_session) if client_session is not None else None +``` + +%prep +%autosetup -n onyx-client-6.0.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-onyx-client -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 17 2023 Python_Bot <Python_Bot@openeuler.org> - 6.0.0-1 +- Package Spec generated |