summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-10 07:13:35 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-10 07:13:35 +0000
commita12da97b8b7bba5efb5790ec0484316545265517 (patch)
tree1d26c0ef84d9483b6f3eb6a039cc999b716adc3d
parent31ee6c0940462c19ed3a454386e3aae7d2ceda70 (diff)
automatic import of python-aioflask
-rw-r--r--.gitignore1
-rw-r--r--python-aioflask.spec243
-rw-r--r--sources1
3 files changed, 245 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..901f561 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/aioflask-0.4.0.tar.gz
diff --git a/python-aioflask.spec b/python-aioflask.spec
new file mode 100644
index 0000000..71bb3a8
--- /dev/null
+++ b/python-aioflask.spec
@@ -0,0 +1,243 @@
+%global _empty_manifest_terminate_build 0
+Name: python-aioflask
+Version: 0.4.0
+Release: 1
+Summary: Flask running on asyncio.
+License: MIT License
+URL: https://github.com/miguelgrinberg/aioflask
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/9d/07/ac0afe199fde1764927ce68f254e9fe3c174c4bb689f74b8a40974c5b4cc/aioflask-0.4.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-greenletio
+Requires: python3-flask
+Requires: python3-uvicorn
+
+%description
+# aioflask
+
+![Build status](https://github.com/miguelgrinberg/aioflask/workflows/build/badge.svg) [![codecov](https://codecov.io/gh/miguelgrinberg/aioflask/branch/main/graph/badge.svg?token=CDMKF3L0ID)](https://codecov.io/gh/miguelgrinberg/aioflask)
+
+Flask 2.x running on asyncio!
+
+Is there a purpose for this, now that Flask 2.0 is out with support for async
+views? Yes! Flask's own support for async handlers is very limited, as the
+application still runs inside a WSGI web server, which severely limits
+scalability. With aioflask you get a true ASGI application, running in a 100%
+async environment.
+
+WARNING: This is an experiment at this point. Not at all production ready!
+
+## Quick start
+
+To use async view functions and other handlers, use the `aioflask` package
+instead of `flask`.
+
+The `aioflask.Flask` class is a subclass of `flask.Flask` that changes a few
+minor things to help the application run properly under the asyncio loop. In
+particular, it overrides the following aspects of the application instance:
+
+- The `route`, `before_request`, `before_first_request`, `after_request`,
+ `teardown_request`, `teardown_appcontext`, `errorhandler` and `cli.command`
+ decorators accept coroutines as well as regular functions. The handlers all
+ run inside an asyncio loop, so when using regular functions, care must be
+ taken to not block.
+- The WSGI callable entry point is replaced with an ASGI equivalent.
+- The `run()` method uses uvicorn as web server.
+
+There are also changes outside of the `Flask` class:
+
+- The `flask aiorun` command starts an ASGI application using the uvicorn web
+ server.
+- The `render_template()` and `render_template_string()` functions are
+ asynchronous and must be awaited.
+- The context managers for the Flask application and request contexts are
+ async.
+- The test client and test CLI runner use coroutines.
+
+## Example
+
+```python
+import asyncio
+from aioflask import Flask, render_template
+
+app = Flask(__name__)
+
+@app.route('/')
+async def index():
+ await asyncio.sleep(1)
+ return await render_template('index.html')
+```
+
+
+
+
+%package -n python3-aioflask
+Summary: Flask running on asyncio.
+Provides: python-aioflask
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-aioflask
+# aioflask
+
+![Build status](https://github.com/miguelgrinberg/aioflask/workflows/build/badge.svg) [![codecov](https://codecov.io/gh/miguelgrinberg/aioflask/branch/main/graph/badge.svg?token=CDMKF3L0ID)](https://codecov.io/gh/miguelgrinberg/aioflask)
+
+Flask 2.x running on asyncio!
+
+Is there a purpose for this, now that Flask 2.0 is out with support for async
+views? Yes! Flask's own support for async handlers is very limited, as the
+application still runs inside a WSGI web server, which severely limits
+scalability. With aioflask you get a true ASGI application, running in a 100%
+async environment.
+
+WARNING: This is an experiment at this point. Not at all production ready!
+
+## Quick start
+
+To use async view functions and other handlers, use the `aioflask` package
+instead of `flask`.
+
+The `aioflask.Flask` class is a subclass of `flask.Flask` that changes a few
+minor things to help the application run properly under the asyncio loop. In
+particular, it overrides the following aspects of the application instance:
+
+- The `route`, `before_request`, `before_first_request`, `after_request`,
+ `teardown_request`, `teardown_appcontext`, `errorhandler` and `cli.command`
+ decorators accept coroutines as well as regular functions. The handlers all
+ run inside an asyncio loop, so when using regular functions, care must be
+ taken to not block.
+- The WSGI callable entry point is replaced with an ASGI equivalent.
+- The `run()` method uses uvicorn as web server.
+
+There are also changes outside of the `Flask` class:
+
+- The `flask aiorun` command starts an ASGI application using the uvicorn web
+ server.
+- The `render_template()` and `render_template_string()` functions are
+ asynchronous and must be awaited.
+- The context managers for the Flask application and request contexts are
+ async.
+- The test client and test CLI runner use coroutines.
+
+## Example
+
+```python
+import asyncio
+from aioflask import Flask, render_template
+
+app = Flask(__name__)
+
+@app.route('/')
+async def index():
+ await asyncio.sleep(1)
+ return await render_template('index.html')
+```
+
+
+
+
+%package help
+Summary: Development documents and examples for aioflask
+Provides: python3-aioflask-doc
+%description help
+# aioflask
+
+![Build status](https://github.com/miguelgrinberg/aioflask/workflows/build/badge.svg) [![codecov](https://codecov.io/gh/miguelgrinberg/aioflask/branch/main/graph/badge.svg?token=CDMKF3L0ID)](https://codecov.io/gh/miguelgrinberg/aioflask)
+
+Flask 2.x running on asyncio!
+
+Is there a purpose for this, now that Flask 2.0 is out with support for async
+views? Yes! Flask's own support for async handlers is very limited, as the
+application still runs inside a WSGI web server, which severely limits
+scalability. With aioflask you get a true ASGI application, running in a 100%
+async environment.
+
+WARNING: This is an experiment at this point. Not at all production ready!
+
+## Quick start
+
+To use async view functions and other handlers, use the `aioflask` package
+instead of `flask`.
+
+The `aioflask.Flask` class is a subclass of `flask.Flask` that changes a few
+minor things to help the application run properly under the asyncio loop. In
+particular, it overrides the following aspects of the application instance:
+
+- The `route`, `before_request`, `before_first_request`, `after_request`,
+ `teardown_request`, `teardown_appcontext`, `errorhandler` and `cli.command`
+ decorators accept coroutines as well as regular functions. The handlers all
+ run inside an asyncio loop, so when using regular functions, care must be
+ taken to not block.
+- The WSGI callable entry point is replaced with an ASGI equivalent.
+- The `run()` method uses uvicorn as web server.
+
+There are also changes outside of the `Flask` class:
+
+- The `flask aiorun` command starts an ASGI application using the uvicorn web
+ server.
+- The `render_template()` and `render_template_string()` functions are
+ asynchronous and must be awaited.
+- The context managers for the Flask application and request contexts are
+ async.
+- The test client and test CLI runner use coroutines.
+
+## Example
+
+```python
+import asyncio
+from aioflask import Flask, render_template
+
+app = Flask(__name__)
+
+@app.route('/')
+async def index():
+ await asyncio.sleep(1)
+ return await render_template('index.html')
+```
+
+
+
+
+%prep
+%autosetup -n aioflask-0.4.0
+
+%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-aioflask -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.4.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..f2ecb6a
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+84d13d3c60a8066c2e718cab871d46df aioflask-0.4.0.tar.gz