From 495dde8581136576b224c9d88946d483bdd8c878 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Wed, 10 May 2023 08:06:02 +0000 Subject: automatic import of python-bareasgi --- python-bareasgi.spec | 245 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 245 insertions(+) create mode 100644 python-bareasgi.spec (limited to 'python-bareasgi.spec') diff --git a/python-bareasgi.spec b/python-bareasgi.spec new file mode 100644 index 0000000..7a2b591 --- /dev/null +++ b/python-bareasgi.spec @@ -0,0 +1,245 @@ +%global _empty_manifest_terminate_build 0 +Name: python-bareasgi +Version: 4.4.1 +Release: 1 +Summary: A lightweight ASGI framework +License: Apache-2.0 +URL: https://github.com/rob-blackbourn/bareasgi +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/6e/5a/4c5135db83cfacd1a933b080c5481a5f0838ad4c2987b55c92b6c6f7653d/bareasgi-4.4.1.tar.gz +BuildArch: noarch + +Requires: python3-bareutils +Requires: python3-jetblack-asgi-typing + +%description +# bareASGI + +A lightweight Python [ASGI](user-guide/asgi) web server framework +(read the [docs](https://rob-blackbourn.github.io/bareASGI/)). + +## Overview + +This is a _bare_ ASGI web server framework. The goal is to provide +a minimal implementation, with other facilities (serving static files, CORS, +sessions, etc.) being implemented by optional packages. + +The framework is targeted at micro-services which require a light footprint +(in a container for example), or as a base for larger frameworks. + +Python 3.8+ is required. + +## Optional Packages + +- [bareASGI-cors](https://github.com/rob-blackbourn/bareASGI-cors) for cross origin resource sharing, +- [bareASGI-static](https://github.com/rob-blackbourn/bareASGI-static) for serving static files, +- [bareASGI-jinja2](https://github.com/rob-blackbourn/bareASGI-jinja2) for [Jinja2](https://github.com/pallets/jinja) template rendering, +- [bareASGI-graphql-next](https://github.com/rob-blackbourn/bareASGI-graphql-next) for [GraphQL](https://github.com/graphql-python/graphql-core) and [graphene](https://github.com/graphql-python/graphene), +- [bareASGI-rest](https://github.com/rob-blackbourn/bareASGI-rest) for REST support, +- [bareASGI-prometheus](https://github.com/rob-blackbourn/bareASGI-prometheus) for [prometheus](https://prometheus.io/) metrics, +- [bareASGI-session](https://github.com/rob-blackbourn/bareASGI-session) for sessions. + +## Functionality + +The framework provides the basic functionality required for developing a web +application, including: + +- Http, +- WebSockets, +- Routing, +- Lifecycle, +- Middleware + +## Simple Server + +Here is a simple server with a request handler that returns some text. + +```python +import uvicorn +from bareasgi import Application, HttpRequest, HttpResponse, text_writer + +async def example_handler(request: HttpRequest) -> HttpResponse: + return HttpResponse( + 200, + [(b'content-type', b'text/plain')], + text_writer('This is not a test') + ) + +app = Application() +app.http_router.add({'GET'}, '/', example_handler) + +uvicorn.run(app, port=9009) +``` + + +%package -n python3-bareasgi +Summary: A lightweight ASGI framework +Provides: python-bareasgi +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-bareasgi +# bareASGI + +A lightweight Python [ASGI](user-guide/asgi) web server framework +(read the [docs](https://rob-blackbourn.github.io/bareASGI/)). + +## Overview + +This is a _bare_ ASGI web server framework. The goal is to provide +a minimal implementation, with other facilities (serving static files, CORS, +sessions, etc.) being implemented by optional packages. + +The framework is targeted at micro-services which require a light footprint +(in a container for example), or as a base for larger frameworks. + +Python 3.8+ is required. + +## Optional Packages + +- [bareASGI-cors](https://github.com/rob-blackbourn/bareASGI-cors) for cross origin resource sharing, +- [bareASGI-static](https://github.com/rob-blackbourn/bareASGI-static) for serving static files, +- [bareASGI-jinja2](https://github.com/rob-blackbourn/bareASGI-jinja2) for [Jinja2](https://github.com/pallets/jinja) template rendering, +- [bareASGI-graphql-next](https://github.com/rob-blackbourn/bareASGI-graphql-next) for [GraphQL](https://github.com/graphql-python/graphql-core) and [graphene](https://github.com/graphql-python/graphene), +- [bareASGI-rest](https://github.com/rob-blackbourn/bareASGI-rest) for REST support, +- [bareASGI-prometheus](https://github.com/rob-blackbourn/bareASGI-prometheus) for [prometheus](https://prometheus.io/) metrics, +- [bareASGI-session](https://github.com/rob-blackbourn/bareASGI-session) for sessions. + +## Functionality + +The framework provides the basic functionality required for developing a web +application, including: + +- Http, +- WebSockets, +- Routing, +- Lifecycle, +- Middleware + +## Simple Server + +Here is a simple server with a request handler that returns some text. + +```python +import uvicorn +from bareasgi import Application, HttpRequest, HttpResponse, text_writer + +async def example_handler(request: HttpRequest) -> HttpResponse: + return HttpResponse( + 200, + [(b'content-type', b'text/plain')], + text_writer('This is not a test') + ) + +app = Application() +app.http_router.add({'GET'}, '/', example_handler) + +uvicorn.run(app, port=9009) +``` + + +%package help +Summary: Development documents and examples for bareasgi +Provides: python3-bareasgi-doc +%description help +# bareASGI + +A lightweight Python [ASGI](user-guide/asgi) web server framework +(read the [docs](https://rob-blackbourn.github.io/bareASGI/)). + +## Overview + +This is a _bare_ ASGI web server framework. The goal is to provide +a minimal implementation, with other facilities (serving static files, CORS, +sessions, etc.) being implemented by optional packages. + +The framework is targeted at micro-services which require a light footprint +(in a container for example), or as a base for larger frameworks. + +Python 3.8+ is required. + +## Optional Packages + +- [bareASGI-cors](https://github.com/rob-blackbourn/bareASGI-cors) for cross origin resource sharing, +- [bareASGI-static](https://github.com/rob-blackbourn/bareASGI-static) for serving static files, +- [bareASGI-jinja2](https://github.com/rob-blackbourn/bareASGI-jinja2) for [Jinja2](https://github.com/pallets/jinja) template rendering, +- [bareASGI-graphql-next](https://github.com/rob-blackbourn/bareASGI-graphql-next) for [GraphQL](https://github.com/graphql-python/graphql-core) and [graphene](https://github.com/graphql-python/graphene), +- [bareASGI-rest](https://github.com/rob-blackbourn/bareASGI-rest) for REST support, +- [bareASGI-prometheus](https://github.com/rob-blackbourn/bareASGI-prometheus) for [prometheus](https://prometheus.io/) metrics, +- [bareASGI-session](https://github.com/rob-blackbourn/bareASGI-session) for sessions. + +## Functionality + +The framework provides the basic functionality required for developing a web +application, including: + +- Http, +- WebSockets, +- Routing, +- Lifecycle, +- Middleware + +## Simple Server + +Here is a simple server with a request handler that returns some text. + +```python +import uvicorn +from bareasgi import Application, HttpRequest, HttpResponse, text_writer + +async def example_handler(request: HttpRequest) -> HttpResponse: + return HttpResponse( + 200, + [(b'content-type', b'text/plain')], + text_writer('This is not a test') + ) + +app = Application() +app.http_router.add({'GET'}, '/', example_handler) + +uvicorn.run(app, port=9009) +``` + + +%prep +%autosetup -n bareasgi-4.4.1 + +%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-bareasgi -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot - 4.4.1-1 +- Package Spec generated -- cgit v1.2.3