%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 * Tue May 30 2023 Python_Bot - 4.4.1-1 - Package Spec generated