%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 apywrapper ## 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 apywrapper ## 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 apywrapper ## 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 - 0.1.12-1 - Package Spec generated