summaryrefslogtreecommitdiff
path: root/python-onyx-client.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-onyx-client.spec')
-rw-r--r--python-onyx-client.spec193
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