From 2ebd814fdbb2f5fa848f1fbd5cddc2a04e50cf2d Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Tue, 11 Apr 2023 22:33:53 +0000 Subject: automatic import of python-many-requests --- .gitignore | 1 + python-many-requests.spec | 272 ++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 274 insertions(+) create mode 100644 python-many-requests.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..11f02dc 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/many_requests-0.2.1.tar.gz diff --git a/python-many-requests.spec b/python-many-requests.spec new file mode 100644 index 0000000..f11c32a --- /dev/null +++ b/python-many-requests.spec @@ -0,0 +1,272 @@ +%global _empty_manifest_terminate_build 0 +Name: python-many-requests +Version: 0.2.1 +Release: 1 +Summary: Dead easy interface for executing many HTTP requests asynchronously. Also provides helper functions for executing embarrassingly parallel async coroutines. +License: MIT License +URL: https://github.com/joshlk/many_requests +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/43/63/6e65967a4afd327f2b1f7898b52fb3fa985561ceca6b36a15b66c180ba5c/many_requests-0.2.1.tar.gz +BuildArch: noarch + +Requires: python3-trio +Requires: python3-asks +Requires: python3-tqdm +Requires: python3-pytest +Requires: python3-wheel +Requires: python3-setuptools +Requires: python3-twine +Requires: python3-sphinx +Requires: python3-codecov +Requires: python3-recommonmark +Requires: python3-sphinx-rtd-theme +Requires: python3-bump2version +Requires: python3-aiohttp +Requires: python3-requests +Requires: python3-aiohttp-basicauth-middleware +Requires: python3-sphinx +Requires: python3-sphinx-rtd-theme + +%description +[![PyPI](https://img.shields.io/pypi/v/dataclassframe)](https://pypi.org/project/many_requests/) +![Python](https://img.shields.io/badge/python-3.6%20%7C%203.7%20%7C%203.8%20%7C%203.9-blue) +[![Build Status](https://travis-ci.com/joshlk/many_requests.svg?branch=main)](https://travis-ci.com/joshlk/many_requests) +[![Documentation](https://readthedocs.org/projects/pip/badge/?version=latest&style=flat)](https://joshlk.github.io/many_requests) + +# many_requests + +Dead easy interface for executing many HTTP requests asynchronously. +It has been tested in the wild with over 10 million requests. +Automatically handles errors and executes retries. + +Built on-top of [Trio](https://github.com/python-trio/trio) and [asks](https://github.com/theelous3/asks). Interface heavily inspired by [Requests](https://github.com/psf/requests) and [joblib](https://github.com/joblib/joblib). + +Also provides helper functions for executing [embarrassingly parallel](https://en.wikipedia.org/wiki/Embarrassingly_parallel) async coroutines. + +To install: + +```bash +pip install many-requests +``` + +## Example Usage + +Execute 10 GET requests for example.org: + +```python +from many_requests import ManyRequests +responses = ManyRequests(n_workers=5, n_connections=5)( + method='GET', + url=['https://example.org' for i in range(10)]) +``` + +Query HackNews API for 10 items and parse JSON output: + +```python +responses = ManyRequests(n_workers=5, n_connections=5, json=True)( + method='GET', + url=[f'https://hacker-news.firebaseio.com/v0/item/{i}.json?print=pretty' for i in range(10)]) +``` + +To use basic authentication with all requests: + +```python +from asks import BasicAuth +username = 'user' +password = 'pw' +responses = ManyRequests(n_workers=5, n_connections=5)( + method='GET', + url=['https://example.org' for i in range(10)], + auth=BasicAuth((username, password))) +``` + +To execute embarrassingly parallel async coroutines, for example 10 `trio.sleep` calls: + +```python +from many_requests import EasyAsync, delayed +import trio +outputs = EasyAsync(n_workers = 4)(delayed(trio.sleep)(i) for i in range(10)) +``` + + + + +%package -n python3-many-requests +Summary: Dead easy interface for executing many HTTP requests asynchronously. Also provides helper functions for executing embarrassingly parallel async coroutines. +Provides: python-many-requests +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-many-requests +[![PyPI](https://img.shields.io/pypi/v/dataclassframe)](https://pypi.org/project/many_requests/) +![Python](https://img.shields.io/badge/python-3.6%20%7C%203.7%20%7C%203.8%20%7C%203.9-blue) +[![Build Status](https://travis-ci.com/joshlk/many_requests.svg?branch=main)](https://travis-ci.com/joshlk/many_requests) +[![Documentation](https://readthedocs.org/projects/pip/badge/?version=latest&style=flat)](https://joshlk.github.io/many_requests) + +# many_requests + +Dead easy interface for executing many HTTP requests asynchronously. +It has been tested in the wild with over 10 million requests. +Automatically handles errors and executes retries. + +Built on-top of [Trio](https://github.com/python-trio/trio) and [asks](https://github.com/theelous3/asks). Interface heavily inspired by [Requests](https://github.com/psf/requests) and [joblib](https://github.com/joblib/joblib). + +Also provides helper functions for executing [embarrassingly parallel](https://en.wikipedia.org/wiki/Embarrassingly_parallel) async coroutines. + +To install: + +```bash +pip install many-requests +``` + +## Example Usage + +Execute 10 GET requests for example.org: + +```python +from many_requests import ManyRequests +responses = ManyRequests(n_workers=5, n_connections=5)( + method='GET', + url=['https://example.org' for i in range(10)]) +``` + +Query HackNews API for 10 items and parse JSON output: + +```python +responses = ManyRequests(n_workers=5, n_connections=5, json=True)( + method='GET', + url=[f'https://hacker-news.firebaseio.com/v0/item/{i}.json?print=pretty' for i in range(10)]) +``` + +To use basic authentication with all requests: + +```python +from asks import BasicAuth +username = 'user' +password = 'pw' +responses = ManyRequests(n_workers=5, n_connections=5)( + method='GET', + url=['https://example.org' for i in range(10)], + auth=BasicAuth((username, password))) +``` + +To execute embarrassingly parallel async coroutines, for example 10 `trio.sleep` calls: + +```python +from many_requests import EasyAsync, delayed +import trio +outputs = EasyAsync(n_workers = 4)(delayed(trio.sleep)(i) for i in range(10)) +``` + + + + +%package help +Summary: Development documents and examples for many-requests +Provides: python3-many-requests-doc +%description help +[![PyPI](https://img.shields.io/pypi/v/dataclassframe)](https://pypi.org/project/many_requests/) +![Python](https://img.shields.io/badge/python-3.6%20%7C%203.7%20%7C%203.8%20%7C%203.9-blue) +[![Build Status](https://travis-ci.com/joshlk/many_requests.svg?branch=main)](https://travis-ci.com/joshlk/many_requests) +[![Documentation](https://readthedocs.org/projects/pip/badge/?version=latest&style=flat)](https://joshlk.github.io/many_requests) + +# many_requests + +Dead easy interface for executing many HTTP requests asynchronously. +It has been tested in the wild with over 10 million requests. +Automatically handles errors and executes retries. + +Built on-top of [Trio](https://github.com/python-trio/trio) and [asks](https://github.com/theelous3/asks). Interface heavily inspired by [Requests](https://github.com/psf/requests) and [joblib](https://github.com/joblib/joblib). + +Also provides helper functions for executing [embarrassingly parallel](https://en.wikipedia.org/wiki/Embarrassingly_parallel) async coroutines. + +To install: + +```bash +pip install many-requests +``` + +## Example Usage + +Execute 10 GET requests for example.org: + +```python +from many_requests import ManyRequests +responses = ManyRequests(n_workers=5, n_connections=5)( + method='GET', + url=['https://example.org' for i in range(10)]) +``` + +Query HackNews API for 10 items and parse JSON output: + +```python +responses = ManyRequests(n_workers=5, n_connections=5, json=True)( + method='GET', + url=[f'https://hacker-news.firebaseio.com/v0/item/{i}.json?print=pretty' for i in range(10)]) +``` + +To use basic authentication with all requests: + +```python +from asks import BasicAuth +username = 'user' +password = 'pw' +responses = ManyRequests(n_workers=5, n_connections=5)( + method='GET', + url=['https://example.org' for i in range(10)], + auth=BasicAuth((username, password))) +``` + +To execute embarrassingly parallel async coroutines, for example 10 `trio.sleep` calls: + +```python +from many_requests import EasyAsync, delayed +import trio +outputs = EasyAsync(n_workers = 4)(delayed(trio.sleep)(i) for i in range(10)) +``` + + + + +%prep +%autosetup -n many-requests-0.2.1 + +%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-many-requests -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Apr 11 2023 Python_Bot - 0.2.1-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..4910d7a --- /dev/null +++ b/sources @@ -0,0 +1 @@ +b4e15b320545ad5ecd01a4dd094ea455 many_requests-0.2.1.tar.gz -- cgit v1.2.3