%global _empty_manifest_terminate_build 0 Name: python-arequest Version: 0.2.14 Release: 1 Summary: arequest is an async HTTP client for Python, with more customization. License: Apache 2.0 URL: https://github.com/p7e4/arequest Source0: https://mirrors.nju.edu.cn/pypi/web/packages/b1/ec/f4079af7351daf35dd8e7620c23acf3b1e773eebd9f928fea4a7a24057af/arequest-0.2.14.tar.gz BuildArch: noarch Requires: python3-chardet Requires: python3-h11 %description # arequest ![PyPI](https://img.shields.io/pypi/v/arequest) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/arequest) ![Downloads](https://pepy.tech/badge/arequest) ![PyPI - License](https://img.shields.io/pypi/l/arequest) _arequest is an async HTTP client for Python, with more customization._ ## Warnning **The arequest is experimental for now, please do not use for production environment.** ## Installation `pip install arequest` > *python3.8 or higher version is required.* ## Quickstart It's requests-like, just don't forget `async/await`. ``` python import asyncio import arequest async def main(): r = await arequest.get("https://httpbin.org/get") print(r.headers) print(r.status_code) print(r.encoding) print(r.text) asyncio.run(main()) ``` ## Request ### Passing Parameters In URLs ``` python await arequest.get("https://httpbin.org/get", params={"key": "value"}) ``` ### POST ``` python await arequest.post("https://httpbin.org/post", data={"key": "value"}) ``` - POST JSON ``` python await arequest.post("https://httpbin.org/post", json={"key": "value"}) ``` ### Reuse a connection ``` python async with arequest.Session() as session: await session.get("https://httpbin.org/get") await session.get("https://httpbin.org/get") ... ``` > *unlike `requests.Session()`, it does not automatically handle `Set-Cookie`* ### Custom Headers ``` python headers = { "user-agent": "test" } await arequest.get("https://httpbin.org/get", headers=headers) ``` if you want to set header `Content-Type`, use `contentType`. ``` python await arequest.post("https://httpbin.org/post", contentType="application/test") ``` ### Custom cookies ``` python await arequest.get("https://httpbin.org/cookies", cookies={"key": "value"}) ``` ### Unverified SSL Cert ``` python await arequest.get("https://httpbin.org/get", verify=False) ``` ### Retry ``` python await arequest.get("https://httpbin.org/get", retries=1) ``` max retries, default `0` ### Timeout ``` python try: await arequest.get("http://httpbin.org/delay/5", timeout=3) except arequest.TimeoutError: print("timeout") ``` if timeout is `None`, wait until the request complete. default `30`s ## Response ```python print(r.headers) print(r.status_code) print(r.encoding) print(r.text) print(r.json()) ``` ### Binary Response Content ``` python r.content ``` ### Cookies ``` python r.cookies ``` ## TODO - [x] timeout - [ ] file upload - [ ] proxy - [x] keep-alive - [ ] http2 - [ ] raw request - [x] cookies handle - [x] response cookies - [ ] test coverage %package -n python3-arequest Summary: arequest is an async HTTP client for Python, with more customization. Provides: python-arequest BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-arequest # arequest ![PyPI](https://img.shields.io/pypi/v/arequest) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/arequest) ![Downloads](https://pepy.tech/badge/arequest) ![PyPI - License](https://img.shields.io/pypi/l/arequest) _arequest is an async HTTP client for Python, with more customization._ ## Warnning **The arequest is experimental for now, please do not use for production environment.** ## Installation `pip install arequest` > *python3.8 or higher version is required.* ## Quickstart It's requests-like, just don't forget `async/await`. ``` python import asyncio import arequest async def main(): r = await arequest.get("https://httpbin.org/get") print(r.headers) print(r.status_code) print(r.encoding) print(r.text) asyncio.run(main()) ``` ## Request ### Passing Parameters In URLs ``` python await arequest.get("https://httpbin.org/get", params={"key": "value"}) ``` ### POST ``` python await arequest.post("https://httpbin.org/post", data={"key": "value"}) ``` - POST JSON ``` python await arequest.post("https://httpbin.org/post", json={"key": "value"}) ``` ### Reuse a connection ``` python async with arequest.Session() as session: await session.get("https://httpbin.org/get") await session.get("https://httpbin.org/get") ... ``` > *unlike `requests.Session()`, it does not automatically handle `Set-Cookie`* ### Custom Headers ``` python headers = { "user-agent": "test" } await arequest.get("https://httpbin.org/get", headers=headers) ``` if you want to set header `Content-Type`, use `contentType`. ``` python await arequest.post("https://httpbin.org/post", contentType="application/test") ``` ### Custom cookies ``` python await arequest.get("https://httpbin.org/cookies", cookies={"key": "value"}) ``` ### Unverified SSL Cert ``` python await arequest.get("https://httpbin.org/get", verify=False) ``` ### Retry ``` python await arequest.get("https://httpbin.org/get", retries=1) ``` max retries, default `0` ### Timeout ``` python try: await arequest.get("http://httpbin.org/delay/5", timeout=3) except arequest.TimeoutError: print("timeout") ``` if timeout is `None`, wait until the request complete. default `30`s ## Response ```python print(r.headers) print(r.status_code) print(r.encoding) print(r.text) print(r.json()) ``` ### Binary Response Content ``` python r.content ``` ### Cookies ``` python r.cookies ``` ## TODO - [x] timeout - [ ] file upload - [ ] proxy - [x] keep-alive - [ ] http2 - [ ] raw request - [x] cookies handle - [x] response cookies - [ ] test coverage %package help Summary: Development documents and examples for arequest Provides: python3-arequest-doc %description help # arequest ![PyPI](https://img.shields.io/pypi/v/arequest) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/arequest) ![Downloads](https://pepy.tech/badge/arequest) ![PyPI - License](https://img.shields.io/pypi/l/arequest) _arequest is an async HTTP client for Python, with more customization._ ## Warnning **The arequest is experimental for now, please do not use for production environment.** ## Installation `pip install arequest` > *python3.8 or higher version is required.* ## Quickstart It's requests-like, just don't forget `async/await`. ``` python import asyncio import arequest async def main(): r = await arequest.get("https://httpbin.org/get") print(r.headers) print(r.status_code) print(r.encoding) print(r.text) asyncio.run(main()) ``` ## Request ### Passing Parameters In URLs ``` python await arequest.get("https://httpbin.org/get", params={"key": "value"}) ``` ### POST ``` python await arequest.post("https://httpbin.org/post", data={"key": "value"}) ``` - POST JSON ``` python await arequest.post("https://httpbin.org/post", json={"key": "value"}) ``` ### Reuse a connection ``` python async with arequest.Session() as session: await session.get("https://httpbin.org/get") await session.get("https://httpbin.org/get") ... ``` > *unlike `requests.Session()`, it does not automatically handle `Set-Cookie`* ### Custom Headers ``` python headers = { "user-agent": "test" } await arequest.get("https://httpbin.org/get", headers=headers) ``` if you want to set header `Content-Type`, use `contentType`. ``` python await arequest.post("https://httpbin.org/post", contentType="application/test") ``` ### Custom cookies ``` python await arequest.get("https://httpbin.org/cookies", cookies={"key": "value"}) ``` ### Unverified SSL Cert ``` python await arequest.get("https://httpbin.org/get", verify=False) ``` ### Retry ``` python await arequest.get("https://httpbin.org/get", retries=1) ``` max retries, default `0` ### Timeout ``` python try: await arequest.get("http://httpbin.org/delay/5", timeout=3) except arequest.TimeoutError: print("timeout") ``` if timeout is `None`, wait until the request complete. default `30`s ## Response ```python print(r.headers) print(r.status_code) print(r.encoding) print(r.text) print(r.json()) ``` ### Binary Response Content ``` python r.content ``` ### Cookies ``` python r.cookies ``` ## TODO - [x] timeout - [ ] file upload - [ ] proxy - [x] keep-alive - [ ] http2 - [ ] raw request - [x] cookies handle - [x] response cookies - [ ] test coverage %prep %autosetup -n arequest-0.2.14 %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-arequest -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue May 30 2023 Python_Bot - 0.2.14-1 - Package Spec generated