summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-11 02:30:45 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-11 02:30:45 +0000
commitc94a67d1d50d43ae67b557aaef1cdd1fcd304afa (patch)
treedac02acad377a639c94b06ba7254d27cfd5eb7ed
parent45670d2ee02042132b77055acc40fa6068770425 (diff)
automatic import of python-duet
-rw-r--r--.gitignore1
-rw-r--r--python-duet.spec193
-rw-r--r--sources1
3 files changed, 195 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..cd674d4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/duet-0.2.7.tar.gz
diff --git a/python-duet.spec b/python-duet.spec
new file mode 100644
index 0000000..86e5ac2
--- /dev/null
+++ b/python-duet.spec
@@ -0,0 +1,193 @@
+%global _empty_manifest_terminate_build 0
+Name: python-duet
+Version: 0.2.7
+Release: 1
+Summary: A simple future-based async library for python.
+License: Apache 2
+URL: http://github.com/google/duet
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/83/6f/1f96b251b228a68433bc9cb90ce638abac899085c3d85bec81312821228f/duet-0.2.7.tar.gz
+BuildArch: noarch
+
+Requires: python3-typing-extensions
+Requires: python3-black
+Requires: python3-isort
+Requires: python3-mypy
+Requires: python3-pylint
+Requires: python3-pytest
+Requires: python3-twine
+
+%description
+# duet
+
+A simple future-based async library for python
+
+Duet takes inspiration from the amazing [trio](https://trio.readthedocs.io/en/stable/)
+library and the [structured concurrency](https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/)
+approach to async programming that it uses.
+However, duet differs from trio in two major ways:
+
+- Instead of a full-blown implementation of asynchronous IO, duet relies on the
+ `Future` interface for parallelism, and provides a way to run async/await
+ coroutines around those `Future`s. This is useful if you are using an API that
+ returns futures, such as RPC libraries like gRPC. The standard `Future`
+ interface does not implement `__await__` directly, so `Future` instances must
+ be wrapped in `duet.AwaitableFuture`.
+
+- duet is re-entrant. At the top level, you run async code by calling
+ `duet.run(foo)`. Inside `foo` suppose you call a function that has not yet
+ been fully refactored to be asynchronous, but itself calls `duet.run(bar)`.
+ Most async libraries, including `trio` and `asyncio`, will raise an exception
+ if you try to "re-enter" the event loop in this way, but duet allows it. We
+ have found that this can simplify the process of refactoring code to be
+ asynchronous because you don't have to completely separate the sync and async
+ parts of your codebase all at once.
+
+## Installation
+
+Install from pypi:
+
+```
+pip install duet
+```
+
+## Note
+
+duet is not an official Google project.
+
+
+
+
+%package -n python3-duet
+Summary: A simple future-based async library for python.
+Provides: python-duet
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-duet
+# duet
+
+A simple future-based async library for python
+
+Duet takes inspiration from the amazing [trio](https://trio.readthedocs.io/en/stable/)
+library and the [structured concurrency](https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/)
+approach to async programming that it uses.
+However, duet differs from trio in two major ways:
+
+- Instead of a full-blown implementation of asynchronous IO, duet relies on the
+ `Future` interface for parallelism, and provides a way to run async/await
+ coroutines around those `Future`s. This is useful if you are using an API that
+ returns futures, such as RPC libraries like gRPC. The standard `Future`
+ interface does not implement `__await__` directly, so `Future` instances must
+ be wrapped in `duet.AwaitableFuture`.
+
+- duet is re-entrant. At the top level, you run async code by calling
+ `duet.run(foo)`. Inside `foo` suppose you call a function that has not yet
+ been fully refactored to be asynchronous, but itself calls `duet.run(bar)`.
+ Most async libraries, including `trio` and `asyncio`, will raise an exception
+ if you try to "re-enter" the event loop in this way, but duet allows it. We
+ have found that this can simplify the process of refactoring code to be
+ asynchronous because you don't have to completely separate the sync and async
+ parts of your codebase all at once.
+
+## Installation
+
+Install from pypi:
+
+```
+pip install duet
+```
+
+## Note
+
+duet is not an official Google project.
+
+
+
+
+%package help
+Summary: Development documents and examples for duet
+Provides: python3-duet-doc
+%description help
+# duet
+
+A simple future-based async library for python
+
+Duet takes inspiration from the amazing [trio](https://trio.readthedocs.io/en/stable/)
+library and the [structured concurrency](https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/)
+approach to async programming that it uses.
+However, duet differs from trio in two major ways:
+
+- Instead of a full-blown implementation of asynchronous IO, duet relies on the
+ `Future` interface for parallelism, and provides a way to run async/await
+ coroutines around those `Future`s. This is useful if you are using an API that
+ returns futures, such as RPC libraries like gRPC. The standard `Future`
+ interface does not implement `__await__` directly, so `Future` instances must
+ be wrapped in `duet.AwaitableFuture`.
+
+- duet is re-entrant. At the top level, you run async code by calling
+ `duet.run(foo)`. Inside `foo` suppose you call a function that has not yet
+ been fully refactored to be asynchronous, but itself calls `duet.run(bar)`.
+ Most async libraries, including `trio` and `asyncio`, will raise an exception
+ if you try to "re-enter" the event loop in this way, but duet allows it. We
+ have found that this can simplify the process of refactoring code to be
+ asynchronous because you don't have to completely separate the sync and async
+ parts of your codebase all at once.
+
+## Installation
+
+Install from pypi:
+
+```
+pip install duet
+```
+
+## Note
+
+duet is not an official Google project.
+
+
+
+
+%prep
+%autosetup -n duet-0.2.7
+
+%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-duet -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 0.2.7-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..76fc19b
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+3c3658c7a2ee615d2fab059ad9822c99 duet-0.2.7.tar.gz