summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-03-09 14:02:32 +0000
committerCoprDistGit <infra@openeuler.org>2023-03-09 14:02:32 +0000
commitc71fc2a629a15f88b8ee04304ebbf2a29ef9ac1e (patch)
tree01d7130e40712b465749364c8572ac45bb148819
parentc544fc476b3617a204e1512b569d2f929abfa771 (diff)
automatic import of python-more-executors
-rw-r--r--.gitignore1
-rw-r--r--python-more-executors.spec376
-rw-r--r--sources1
3 files changed, 378 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..fdf7bca 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/more-executors-2.11.4.tar.gz
diff --git a/python-more-executors.spec b/python-more-executors.spec
new file mode 100644
index 0000000..e8ce223
--- /dev/null
+++ b/python-more-executors.spec
@@ -0,0 +1,376 @@
+%global _empty_manifest_terminate_build 0
+Name: python-more-executors
+Version: 2.11.4
+Release: 1
+Summary: A library of composable Python executors and futures
+License: GNU General Public License
+URL: https://github.com/rohanpm/more-executors
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/b1/aa/b16e2197fcf2721e0840ebcd88c687fdf0446608260d6a6d1fcb3e175a8d/more-executors-2.11.4.tar.gz
+BuildArch: noarch
+
+Requires: python3-six
+Requires: python3-futures
+Requires: python3-monotonic
+Requires: python3-prometheus-client
+
+%description
+# more-executors
+
+[![Build Status](https://circleci.com/gh/rohanpm/more-executors/tree/master.svg?style=svg)](https://circleci.com/gh/rohanpm/more-executors/tree/master)
+[![Maintainability](https://api.codeclimate.com/v1/badges/ce1b17e4d606337aa8e0/maintainability)](https://codeclimate.com/github/rohanpm/more-executors/maintainability)
+[![Test Coverage](https://api.codeclimate.com/v1/badges/ce1b17e4d606337aa8e0/test_coverage)](https://codeclimate.com/github/rohanpm/more-executors/test_coverage)
+
+- [API documentation](https://rohanpm.github.io/more-executors/)
+- [Source](https://github.com/rohanpm/more-executors)
+- [PyPI](https://pypi.python.org/pypi/more-executors)
+
+This library is intended for use with the
+[`concurrent.futures`](https://docs.python.org/3/library/concurrent.futures.html)
+module. It includes a collection of `Executor` implementations in order to
+extend the behavior of `Future` objects.
+
+## Features
+
+- Futures with implicit retry
+- Futures with implicit cancel on executor shutdown
+- Futures with implicit cancel after timeout
+- Futures with transformed output values (sync & async)
+- Futures resolved by a caller-provided polling function
+- Throttle the number of futures running at once
+- Synchronous executor
+- Bridge `concurrent.futures` with `asyncio`
+- Convenience API for creating executors
+- Instrumented with [Prometheus](https://prometheus.io/)
+
+See the [API documentation](https://rohanpm.github.io/more-executors/) for detailed information on usage.
+
+## Example
+
+This example combines the map and retry executors to create futures for
+HTTP requests running concurrently, decoding JSON responses within the
+future and retrying on error.
+
+```python
+import requests
+from concurrent.futures import as_completed
+from more_executors import Executors
+
+
+def get_json(response):
+ response.raise_for_status()
+ return (response.url, response.json())
+
+
+def fetch_urls(urls):
+ # Configure an executor:
+ # - run up to 4 requests concurrently, in separate threads
+ # - run get_json on each response
+ # - retry up to several minutes on any errors
+ executor = Executors.\
+ thread_pool(max_workers=4).\
+ with_map(get_json).\
+ with_retry()
+
+ # Submit requests for each given URL
+ futures = [executor.submit(requests.get, url)
+ for url in urls]
+
+ # Futures API works as normal; we can block on the completed
+ # futures and map/retry happens implicitly
+ for future in as_completed(futures):
+ (url, data) = future.result()
+ do_something(url, data)
+```
+
+## Development
+
+`virtualenv` and `pip` may be used to locally install this project from
+source:
+
+```
+virtualenv ~/dev/python
+. ~/dev/python/bin/activate
+
+git clone https://github.com/rohanpm/more-executors
+cd more-executors
+
+pip install --editable .
+```
+
+Autotests may be run with pytest:
+
+```
+pip install -r test-requirements.txt
+py.test
+```
+
+Submit pull requests against https://github.com/rohanpm/more-executors.
+
+## License
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+
+
+
+%package -n python3-more-executors
+Summary: A library of composable Python executors and futures
+Provides: python-more-executors
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-more-executors
+# more-executors
+
+[![Build Status](https://circleci.com/gh/rohanpm/more-executors/tree/master.svg?style=svg)](https://circleci.com/gh/rohanpm/more-executors/tree/master)
+[![Maintainability](https://api.codeclimate.com/v1/badges/ce1b17e4d606337aa8e0/maintainability)](https://codeclimate.com/github/rohanpm/more-executors/maintainability)
+[![Test Coverage](https://api.codeclimate.com/v1/badges/ce1b17e4d606337aa8e0/test_coverage)](https://codeclimate.com/github/rohanpm/more-executors/test_coverage)
+
+- [API documentation](https://rohanpm.github.io/more-executors/)
+- [Source](https://github.com/rohanpm/more-executors)
+- [PyPI](https://pypi.python.org/pypi/more-executors)
+
+This library is intended for use with the
+[`concurrent.futures`](https://docs.python.org/3/library/concurrent.futures.html)
+module. It includes a collection of `Executor` implementations in order to
+extend the behavior of `Future` objects.
+
+## Features
+
+- Futures with implicit retry
+- Futures with implicit cancel on executor shutdown
+- Futures with implicit cancel after timeout
+- Futures with transformed output values (sync & async)
+- Futures resolved by a caller-provided polling function
+- Throttle the number of futures running at once
+- Synchronous executor
+- Bridge `concurrent.futures` with `asyncio`
+- Convenience API for creating executors
+- Instrumented with [Prometheus](https://prometheus.io/)
+
+See the [API documentation](https://rohanpm.github.io/more-executors/) for detailed information on usage.
+
+## Example
+
+This example combines the map and retry executors to create futures for
+HTTP requests running concurrently, decoding JSON responses within the
+future and retrying on error.
+
+```python
+import requests
+from concurrent.futures import as_completed
+from more_executors import Executors
+
+
+def get_json(response):
+ response.raise_for_status()
+ return (response.url, response.json())
+
+
+def fetch_urls(urls):
+ # Configure an executor:
+ # - run up to 4 requests concurrently, in separate threads
+ # - run get_json on each response
+ # - retry up to several minutes on any errors
+ executor = Executors.\
+ thread_pool(max_workers=4).\
+ with_map(get_json).\
+ with_retry()
+
+ # Submit requests for each given URL
+ futures = [executor.submit(requests.get, url)
+ for url in urls]
+
+ # Futures API works as normal; we can block on the completed
+ # futures and map/retry happens implicitly
+ for future in as_completed(futures):
+ (url, data) = future.result()
+ do_something(url, data)
+```
+
+## Development
+
+`virtualenv` and `pip` may be used to locally install this project from
+source:
+
+```
+virtualenv ~/dev/python
+. ~/dev/python/bin/activate
+
+git clone https://github.com/rohanpm/more-executors
+cd more-executors
+
+pip install --editable .
+```
+
+Autotests may be run with pytest:
+
+```
+pip install -r test-requirements.txt
+py.test
+```
+
+Submit pull requests against https://github.com/rohanpm/more-executors.
+
+## License
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+
+
+
+%package help
+Summary: Development documents and examples for more-executors
+Provides: python3-more-executors-doc
+%description help
+# more-executors
+
+[![Build Status](https://circleci.com/gh/rohanpm/more-executors/tree/master.svg?style=svg)](https://circleci.com/gh/rohanpm/more-executors/tree/master)
+[![Maintainability](https://api.codeclimate.com/v1/badges/ce1b17e4d606337aa8e0/maintainability)](https://codeclimate.com/github/rohanpm/more-executors/maintainability)
+[![Test Coverage](https://api.codeclimate.com/v1/badges/ce1b17e4d606337aa8e0/test_coverage)](https://codeclimate.com/github/rohanpm/more-executors/test_coverage)
+
+- [API documentation](https://rohanpm.github.io/more-executors/)
+- [Source](https://github.com/rohanpm/more-executors)
+- [PyPI](https://pypi.python.org/pypi/more-executors)
+
+This library is intended for use with the
+[`concurrent.futures`](https://docs.python.org/3/library/concurrent.futures.html)
+module. It includes a collection of `Executor` implementations in order to
+extend the behavior of `Future` objects.
+
+## Features
+
+- Futures with implicit retry
+- Futures with implicit cancel on executor shutdown
+- Futures with implicit cancel after timeout
+- Futures with transformed output values (sync & async)
+- Futures resolved by a caller-provided polling function
+- Throttle the number of futures running at once
+- Synchronous executor
+- Bridge `concurrent.futures` with `asyncio`
+- Convenience API for creating executors
+- Instrumented with [Prometheus](https://prometheus.io/)
+
+See the [API documentation](https://rohanpm.github.io/more-executors/) for detailed information on usage.
+
+## Example
+
+This example combines the map and retry executors to create futures for
+HTTP requests running concurrently, decoding JSON responses within the
+future and retrying on error.
+
+```python
+import requests
+from concurrent.futures import as_completed
+from more_executors import Executors
+
+
+def get_json(response):
+ response.raise_for_status()
+ return (response.url, response.json())
+
+
+def fetch_urls(urls):
+ # Configure an executor:
+ # - run up to 4 requests concurrently, in separate threads
+ # - run get_json on each response
+ # - retry up to several minutes on any errors
+ executor = Executors.\
+ thread_pool(max_workers=4).\
+ with_map(get_json).\
+ with_retry()
+
+ # Submit requests for each given URL
+ futures = [executor.submit(requests.get, url)
+ for url in urls]
+
+ # Futures API works as normal; we can block on the completed
+ # futures and map/retry happens implicitly
+ for future in as_completed(futures):
+ (url, data) = future.result()
+ do_something(url, data)
+```
+
+## Development
+
+`virtualenv` and `pip` may be used to locally install this project from
+source:
+
+```
+virtualenv ~/dev/python
+. ~/dev/python/bin/activate
+
+git clone https://github.com/rohanpm/more-executors
+cd more-executors
+
+pip install --editable .
+```
+
+Autotests may be run with pytest:
+
+```
+pip install -r test-requirements.txt
+py.test
+```
+
+Submit pull requests against https://github.com/rohanpm/more-executors.
+
+## License
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+
+
+
+%prep
+%autosetup -n more-executors-2.11.4
+
+%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-more-executors -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Thu Mar 09 2023 Python_Bot <Python_Bot@openeuler.org> - 2.11.4-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..10149fa
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+50bcdc8af7ef4791be633f32be0d098c more-executors-2.11.4.tar.gz