diff options
author | CoprDistGit <infra@openeuler.org> | 2023-04-11 23:03:45 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-04-11 23:03:45 +0000 |
commit | d17b2b13240f2cd7ef643a9543f80b7cd690a203 (patch) | |
tree | ada2c446ff13f343fa1b8f5ed1c7be41981d940c | |
parent | 6df799cec5328bf5c4384d8c1b0d08fef4581e62 (diff) |
automatic import of python-module-wrapper
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-module-wrapper.spec | 238 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 240 insertions, 0 deletions
@@ -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) +[](https://www.apache.org/licenses/LICENSE-2.0) + +[](https://pypi.org/project/module-wrapper/) +[](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) +[](https://www.apache.org/licenses/LICENSE-2.0) + +[](https://pypi.org/project/module-wrapper/) +[](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) +[](https://www.apache.org/licenses/LICENSE-2.0) + +[](https://pypi.org/project/module-wrapper/) +[](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 @@ -0,0 +1 @@ +05fcaf3e3efb17349273f909c35889a4 module-wrapper-0.3.2.tar.gz |