summaryrefslogtreecommitdiff
path: root/python-apywrapper.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-apywrapper.spec')
-rw-r--r--python-apywrapper.spec224
1 files changed, 224 insertions, 0 deletions
diff --git a/python-apywrapper.spec b/python-apywrapper.spec
new file mode 100644
index 0000000..c9cb739
--- /dev/null
+++ b/python-apywrapper.spec
@@ -0,0 +1,224 @@
+%global _empty_manifest_terminate_build 0
+Name: python-apywrapper
+Version: 0.1.12
+Release: 1
+Summary: make wrapper for RESTful API
+License: GPL-3.0-or-later
+URL: https://github.com/sh1ma/apywrapper
+Source0: https://mirrors.aliyun.com/pypi/web/packages/da/e0/3b5d8aa98c7fa4d1c182eb8e99adfca335130f650f27733279c96a4473c0/apywrapper-0.1.12.tar.gz
+BuildArch: noarch
+
+Requires: python3-httpx
+Requires: python3-dacite
+
+%description
+<img src="https://tva1.sinaimg.cn/large/007S8ZIlgy1giomjylcsuj30zk0hsq32.jpg" alt="apywrapper" style="zoom:80%;" />
+
+## apywrapper
+
+![lint](https://github.com/sh1ma/apywrapper/workflows/lint/badge.svg?branch=develop)
+[![PyPI version](https://badge.fury.io/py/apywrapper.svg)](https://badge.fury.io/py/apywrapper)
+
+Easy development of RESTful API wrapper
+
+## Feature
+- Get response as dataclass object you defined
+- Return type can be specified by type annotation of api function
+- All parameters (query, path variable, or json data) can be specified at once
+
+
+## install
+
+```
+pip install apywrapper
+```
+
+## Example
+
+```python
+from apywrapper import Apy, delete, get, patch, post, put
+from typing import List, no_type_check
+from dataclasses import dataclass
+
+
+@dataclass
+class User:
+ name: str
+ id: str
+
+
+@no_type_check
+class ApiClient(Apy):
+ def __init__(self, token, host="https://example.com/api":
+ super().__init__(host, headers={"api-token": token})
+
+ @get("/users/")
+ def get_users(self) -> List[User]:
+ return {}
+
+ @get("/users/{user_id}")
+ def get_user(self, user_id) -> User:
+ return {"user_id": user_id}
+
+api = ApiClient(token="xxxxxxxxxxxxxxxxxx")
+sh1ma = api.get_user("sh1ma") # return User object
+```
+
+%package -n python3-apywrapper
+Summary: make wrapper for RESTful API
+Provides: python-apywrapper
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-apywrapper
+<img src="https://tva1.sinaimg.cn/large/007S8ZIlgy1giomjylcsuj30zk0hsq32.jpg" alt="apywrapper" style="zoom:80%;" />
+
+## apywrapper
+
+![lint](https://github.com/sh1ma/apywrapper/workflows/lint/badge.svg?branch=develop)
+[![PyPI version](https://badge.fury.io/py/apywrapper.svg)](https://badge.fury.io/py/apywrapper)
+
+Easy development of RESTful API wrapper
+
+## Feature
+- Get response as dataclass object you defined
+- Return type can be specified by type annotation of api function
+- All parameters (query, path variable, or json data) can be specified at once
+
+
+## install
+
+```
+pip install apywrapper
+```
+
+## Example
+
+```python
+from apywrapper import Apy, delete, get, patch, post, put
+from typing import List, no_type_check
+from dataclasses import dataclass
+
+
+@dataclass
+class User:
+ name: str
+ id: str
+
+
+@no_type_check
+class ApiClient(Apy):
+ def __init__(self, token, host="https://example.com/api":
+ super().__init__(host, headers={"api-token": token})
+
+ @get("/users/")
+ def get_users(self) -> List[User]:
+ return {}
+
+ @get("/users/{user_id}")
+ def get_user(self, user_id) -> User:
+ return {"user_id": user_id}
+
+api = ApiClient(token="xxxxxxxxxxxxxxxxxx")
+sh1ma = api.get_user("sh1ma") # return User object
+```
+
+%package help
+Summary: Development documents and examples for apywrapper
+Provides: python3-apywrapper-doc
+%description help
+<img src="https://tva1.sinaimg.cn/large/007S8ZIlgy1giomjylcsuj30zk0hsq32.jpg" alt="apywrapper" style="zoom:80%;" />
+
+## apywrapper
+
+![lint](https://github.com/sh1ma/apywrapper/workflows/lint/badge.svg?branch=develop)
+[![PyPI version](https://badge.fury.io/py/apywrapper.svg)](https://badge.fury.io/py/apywrapper)
+
+Easy development of RESTful API wrapper
+
+## Feature
+- Get response as dataclass object you defined
+- Return type can be specified by type annotation of api function
+- All parameters (query, path variable, or json data) can be specified at once
+
+
+## install
+
+```
+pip install apywrapper
+```
+
+## Example
+
+```python
+from apywrapper import Apy, delete, get, patch, post, put
+from typing import List, no_type_check
+from dataclasses import dataclass
+
+
+@dataclass
+class User:
+ name: str
+ id: str
+
+
+@no_type_check
+class ApiClient(Apy):
+ def __init__(self, token, host="https://example.com/api":
+ super().__init__(host, headers={"api-token": token})
+
+ @get("/users/")
+ def get_users(self) -> List[User]:
+ return {}
+
+ @get("/users/{user_id}")
+ def get_user(self, user_id) -> User:
+ return {"user_id": user_id}
+
+api = ApiClient(token="xxxxxxxxxxxxxxxxxx")
+sh1ma = api.get_user("sh1ma") # return User object
+```
+
+%prep
+%autosetup -n apywrapper-0.1.12
+
+%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-apywrapper -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.12-1
+- Package Spec generated