summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-11 23:03:45 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-11 23:03:45 +0000
commitd17b2b13240f2cd7ef643a9543f80b7cd690a203 (patch)
treeada2c446ff13f343fa1b8f5ed1c7be41981d940c
parent6df799cec5328bf5c4384d8c1b0d08fef4581e62 (diff)
automatic import of python-module-wrapper
-rw-r--r--.gitignore1
-rw-r--r--python-module-wrapper.spec238
-rw-r--r--sources1
3 files changed, 240 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..09cd3ec 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/module-wrapper-0.3.2.tar.gz
diff --git a/python-module-wrapper.spec b/python-module-wrapper.spec
new file mode 100644
index 0000000..b4f7795
--- /dev/null
+++ b/python-module-wrapper.spec
@@ -0,0 +1,238 @@
+%global _empty_manifest_terminate_build 0
+Name: python-module-wrapper
+Version: 0.3.2
+Release: 1
+Summary: Module wrapper Python library
+License: Apache-2.0
+URL: https://github.com/rominf/module-wrapper
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/29/bc/8e0ebfbd903c18d40287b17452d30f09dd35d4001c9ccffed98068139c43/module-wrapper-0.3.2.tar.gz
+BuildArch: noarch
+
+Requires: python3-stdlib_list
+
+%description
+# module-wrapper - module wrapper Python library (maintenance mode)
+[![License](https://img.shields.io/pypi/l/module-wrapper.svg)](https://www.apache.org/licenses/LICENSE-2.0)
+![PyPI - Python Version](https://img.shields.io/pypi/pyversions/module-wrapper.svg)
+[![PyPI](https://img.shields.io/pypi/v/module-wrapper.svg)](https://pypi.org/project/module-wrapper/)
+[![Documentation Status](https://img.shields.io/readthedocs/module-wrapper.svg)](http://module-wrapper.readthedocs.io/en/latest/)
+
+# Warning
+Authors of aioify and module-wrapper decided to discontinue support of
+these libraries since the idea: "let's convert sync libraries to async
+ones" works only for some cases. Existing releases of libraries won't
+be removed, but don't expect any changes since today. Feel free to
+fork these libraries, however, we don't recommend using the automatic
+sync-to-async library conversion approach, as unreliable. Instead,
+it's better to run synchronous functions asynchronously using
+https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.loop.run_in_executor
+or https://anyio.readthedocs.io/en/stable/api.html#running-code-in-worker-threads.
+
+# Old documentation
+`module-wrapper` contains `wrap` function, which is used to wrap module, class, function or another variable
+recursively.
+
+## Installation
+To install from [PyPI](https://pypi.org/project/module-wrapper/) run:
+```shell
+$ pip install module-wrapper
+```
+
+## Usage
+Example from [aioify](https://github.com/yifeikong/aioify):
+```pyhton
+from functools import wraps, partial
+import asyncio
+
+import module_wrapper
+
+
+__all__ = ['aioify']
+
+
+def wrap(func):
+ @wraps(func)
+ async def run(*args, loop=None, executor=None, **kwargs):
+ if loop is None:
+ loop = asyncio.get_event_loop()
+ pfunc = partial(func, *args, **kwargs)
+ return await loop.run_in_executor(executor, pfunc)
+ return run
+
+
+def aioify(obj, name=None):
+ def create(cls):
+ return 'create', wrap(cls)
+
+ return module_wrapper.wrap(obj=obj, wrapper=wrap, methods_to_add={create}, name=name)
+```
+
+
+%package -n python3-module-wrapper
+Summary: Module wrapper Python library
+Provides: python-module-wrapper
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-module-wrapper
+# module-wrapper - module wrapper Python library (maintenance mode)
+[![License](https://img.shields.io/pypi/l/module-wrapper.svg)](https://www.apache.org/licenses/LICENSE-2.0)
+![PyPI - Python Version](https://img.shields.io/pypi/pyversions/module-wrapper.svg)
+[![PyPI](https://img.shields.io/pypi/v/module-wrapper.svg)](https://pypi.org/project/module-wrapper/)
+[![Documentation Status](https://img.shields.io/readthedocs/module-wrapper.svg)](http://module-wrapper.readthedocs.io/en/latest/)
+
+# Warning
+Authors of aioify and module-wrapper decided to discontinue support of
+these libraries since the idea: "let's convert sync libraries to async
+ones" works only for some cases. Existing releases of libraries won't
+be removed, but don't expect any changes since today. Feel free to
+fork these libraries, however, we don't recommend using the automatic
+sync-to-async library conversion approach, as unreliable. Instead,
+it's better to run synchronous functions asynchronously using
+https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.loop.run_in_executor
+or https://anyio.readthedocs.io/en/stable/api.html#running-code-in-worker-threads.
+
+# Old documentation
+`module-wrapper` contains `wrap` function, which is used to wrap module, class, function or another variable
+recursively.
+
+## Installation
+To install from [PyPI](https://pypi.org/project/module-wrapper/) run:
+```shell
+$ pip install module-wrapper
+```
+
+## Usage
+Example from [aioify](https://github.com/yifeikong/aioify):
+```pyhton
+from functools import wraps, partial
+import asyncio
+
+import module_wrapper
+
+
+__all__ = ['aioify']
+
+
+def wrap(func):
+ @wraps(func)
+ async def run(*args, loop=None, executor=None, **kwargs):
+ if loop is None:
+ loop = asyncio.get_event_loop()
+ pfunc = partial(func, *args, **kwargs)
+ return await loop.run_in_executor(executor, pfunc)
+ return run
+
+
+def aioify(obj, name=None):
+ def create(cls):
+ return 'create', wrap(cls)
+
+ return module_wrapper.wrap(obj=obj, wrapper=wrap, methods_to_add={create}, name=name)
+```
+
+
+%package help
+Summary: Development documents and examples for module-wrapper
+Provides: python3-module-wrapper-doc
+%description help
+# module-wrapper - module wrapper Python library (maintenance mode)
+[![License](https://img.shields.io/pypi/l/module-wrapper.svg)](https://www.apache.org/licenses/LICENSE-2.0)
+![PyPI - Python Version](https://img.shields.io/pypi/pyversions/module-wrapper.svg)
+[![PyPI](https://img.shields.io/pypi/v/module-wrapper.svg)](https://pypi.org/project/module-wrapper/)
+[![Documentation Status](https://img.shields.io/readthedocs/module-wrapper.svg)](http://module-wrapper.readthedocs.io/en/latest/)
+
+# Warning
+Authors of aioify and module-wrapper decided to discontinue support of
+these libraries since the idea: "let's convert sync libraries to async
+ones" works only for some cases. Existing releases of libraries won't
+be removed, but don't expect any changes since today. Feel free to
+fork these libraries, however, we don't recommend using the automatic
+sync-to-async library conversion approach, as unreliable. Instead,
+it's better to run synchronous functions asynchronously using
+https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.loop.run_in_executor
+or https://anyio.readthedocs.io/en/stable/api.html#running-code-in-worker-threads.
+
+# Old documentation
+`module-wrapper` contains `wrap` function, which is used to wrap module, class, function or another variable
+recursively.
+
+## Installation
+To install from [PyPI](https://pypi.org/project/module-wrapper/) run:
+```shell
+$ pip install module-wrapper
+```
+
+## Usage
+Example from [aioify](https://github.com/yifeikong/aioify):
+```pyhton
+from functools import wraps, partial
+import asyncio
+
+import module_wrapper
+
+
+__all__ = ['aioify']
+
+
+def wrap(func):
+ @wraps(func)
+ async def run(*args, loop=None, executor=None, **kwargs):
+ if loop is None:
+ loop = asyncio.get_event_loop()
+ pfunc = partial(func, *args, **kwargs)
+ return await loop.run_in_executor(executor, pfunc)
+ return run
+
+
+def aioify(obj, name=None):
+ def create(cls):
+ return 'create', wrap(cls)
+
+ return module_wrapper.wrap(obj=obj, wrapper=wrap, methods_to_add={create}, name=name)
+```
+
+
+%prep
+%autosetup -n module-wrapper-0.3.2
+
+%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-module-wrapper -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 0.3.2-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..02bdf6e
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+05fcaf3e3efb17349273f909c35889a4 module-wrapper-0.3.2.tar.gz