%global _empty_manifest_terminate_build 0 Name: python-responder Version: 2.0.7 Release: 1 Summary: A sorta familiar HTTP framework. License: Apache 2.0 URL: https://github.com/kennethreitz/responder Source0: https://mirrors.nju.edu.cn/pypi/web/packages/64/c4/422588bc0c3d85f575b6e34154b73d28061a2e5e96ce3f657a83e4a40c5f/responder-2.0.7.tar.gz BuildArch: noarch Requires: python3-starlette Requires: python3-uvicorn[standard] Requires: python3-aiofiles Requires: python3-pyyaml Requires: python3-requests Requires: python3-graphene Requires: python3-graphql-server-core Requires: python3-jinja2 Requires: python3-rfc3986 Requires: python3-multipart Requires: python3-chardet Requires: python3-apispec Requires: python3-marshmallow Requires: python3-whitenoise Requires: python3-docopt Requires: python3-requests-toolbelt Requires: python3-apistar Requires: python3-itsdangerous %description # Responder: a familiar HTTP Service Framework for Python [![Build Status](https://travis-ci.org/taoufik07/responder.svg?branch=master)](https://travis-ci.org/taoufik07/responder) [![Documentation Status](https://readthedocs.org/projects/mybinder/badge/?version=latest)](https://responder.readthedocs.io/en/latest/) [![image](https://img.shields.io/pypi/v/responder.svg)](https://pypi.org/project/responder/) [![image](https://img.shields.io/pypi/l/responder.svg)](https://pypi.org/project/responder/) [![image](https://img.shields.io/pypi/pyversions/responder.svg)](https://pypi.org/project/responder/) [![image](https://img.shields.io/github/contributors/taoufik07/responder.svg)](https://github.com/taoufik07/responder/graphs/contributors) [![](https://farm2.staticflickr.com/1959/43750081370_a4e20752de_o_d.png)](https://responder.readthedocs.io) Powered by [Starlette](https://www.starlette.io/). That `async` declaration is optional. [View documentation](https://responder.readthedocs.io). This gets you a ASGI app, with a production static files server pre-installed, jinja2 templating (without additional imports), and a production webserver based on uvloop, serving up requests with gzip compression automatically. ## Testimonials > "Pleasantly very taken with python-responder. > [@kennethreitz](https://twitter.com/kennethreitz) at his absolute best." —Rudraksh > M.K. > "ASGI is going to enable all sorts of new high-performance web services. It's awesome > to see Responder starting to take advantage of that." — Tom Christie author of > [Django REST Framework](https://www.django-rest-framework.org/) > "I love that you are exploring new patterns. Go go go!" — Danny Greenfield, author of > [Two Scoops of Django]() ## More Examples See [the documentation's feature tour](https://responder.readthedocs.io/en/latest/tour.html) for more details on features available in Responder. # Installing Responder Install the stable release: $ pipenv install responder ✨🍰✨ Or, install from the development branch: $ pipenv install -e git+https://github.com/taoufik07/responder.git#egg=responder Only **Python 3.6+** is supported. # The Basic Idea The primary concept here is to bring the niceties that are brought forth from both Flask and Falcon and unify them into a single framework, along with some new ideas I have. I also wanted to take some of the API primitives that are instilled in the Requests library and put them into a web framework. So, you'll find a lot of parallels here with Requests. - Setting `resp.content` sends back bytes. - Setting `resp.text` sends back unicode, while setting `resp.html` sends back HTML. - Setting `resp.media` sends back JSON/YAML (`.text`/`.html`/`.content` override this). - Case-insensitive `req.headers` dict (from Requests directly). - `resp.status_code`, `req.method`, `req.url`, and other familiar friends. ## Ideas - Flask-style route expression, with new capabilities -- all while using Python 3.6+'s new f-string syntax. - I love Falcon's "every request and response is passed into to each view and mutated" methodology, especially `response.media`, and have used it here. In addition to supporting JSON, I have decided to support YAML as well, as Kubernetes is slowly taking over the world, and it uses YAML for all the things. Content-negotiation and all that. - **A built in testing client that uses the actual Requests you know and love**. - The ability to mount other WSGI apps easily. - Automatic gzipped-responses. - In addition to Falcon's `on_get`, `on_post`, etc methods, Responder features an `on_request` method, which gets called on every type of request, much like Requests. - A production static file server is built-in. - Uvicorn built-in as a production web server. I would have chosen Gunicorn, but it doesn't run on Windows. Plus, Uvicorn serves well to protect against slowloris attacks, making nginx unnecessary in production. - GraphQL support, via Graphene. The goal here is to have any GraphQL query exposable at any route, magically. - Provide an official way to run webpack. %package -n python3-responder Summary: A sorta familiar HTTP framework. Provides: python-responder BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-responder # Responder: a familiar HTTP Service Framework for Python [![Build Status](https://travis-ci.org/taoufik07/responder.svg?branch=master)](https://travis-ci.org/taoufik07/responder) [![Documentation Status](https://readthedocs.org/projects/mybinder/badge/?version=latest)](https://responder.readthedocs.io/en/latest/) [![image](https://img.shields.io/pypi/v/responder.svg)](https://pypi.org/project/responder/) [![image](https://img.shields.io/pypi/l/responder.svg)](https://pypi.org/project/responder/) [![image](https://img.shields.io/pypi/pyversions/responder.svg)](https://pypi.org/project/responder/) [![image](https://img.shields.io/github/contributors/taoufik07/responder.svg)](https://github.com/taoufik07/responder/graphs/contributors) [![](https://farm2.staticflickr.com/1959/43750081370_a4e20752de_o_d.png)](https://responder.readthedocs.io) Powered by [Starlette](https://www.starlette.io/). That `async` declaration is optional. [View documentation](https://responder.readthedocs.io). This gets you a ASGI app, with a production static files server pre-installed, jinja2 templating (without additional imports), and a production webserver based on uvloop, serving up requests with gzip compression automatically. ## Testimonials > "Pleasantly very taken with python-responder. > [@kennethreitz](https://twitter.com/kennethreitz) at his absolute best." —Rudraksh > M.K. > "ASGI is going to enable all sorts of new high-performance web services. It's awesome > to see Responder starting to take advantage of that." — Tom Christie author of > [Django REST Framework](https://www.django-rest-framework.org/) > "I love that you are exploring new patterns. Go go go!" — Danny Greenfield, author of > [Two Scoops of Django]() ## More Examples See [the documentation's feature tour](https://responder.readthedocs.io/en/latest/tour.html) for more details on features available in Responder. # Installing Responder Install the stable release: $ pipenv install responder ✨🍰✨ Or, install from the development branch: $ pipenv install -e git+https://github.com/taoufik07/responder.git#egg=responder Only **Python 3.6+** is supported. # The Basic Idea The primary concept here is to bring the niceties that are brought forth from both Flask and Falcon and unify them into a single framework, along with some new ideas I have. I also wanted to take some of the API primitives that are instilled in the Requests library and put them into a web framework. So, you'll find a lot of parallels here with Requests. - Setting `resp.content` sends back bytes. - Setting `resp.text` sends back unicode, while setting `resp.html` sends back HTML. - Setting `resp.media` sends back JSON/YAML (`.text`/`.html`/`.content` override this). - Case-insensitive `req.headers` dict (from Requests directly). - `resp.status_code`, `req.method`, `req.url`, and other familiar friends. ## Ideas - Flask-style route expression, with new capabilities -- all while using Python 3.6+'s new f-string syntax. - I love Falcon's "every request and response is passed into to each view and mutated" methodology, especially `response.media`, and have used it here. In addition to supporting JSON, I have decided to support YAML as well, as Kubernetes is slowly taking over the world, and it uses YAML for all the things. Content-negotiation and all that. - **A built in testing client that uses the actual Requests you know and love**. - The ability to mount other WSGI apps easily. - Automatic gzipped-responses. - In addition to Falcon's `on_get`, `on_post`, etc methods, Responder features an `on_request` method, which gets called on every type of request, much like Requests. - A production static file server is built-in. - Uvicorn built-in as a production web server. I would have chosen Gunicorn, but it doesn't run on Windows. Plus, Uvicorn serves well to protect against slowloris attacks, making nginx unnecessary in production. - GraphQL support, via Graphene. The goal here is to have any GraphQL query exposable at any route, magically. - Provide an official way to run webpack. %package help Summary: Development documents and examples for responder Provides: python3-responder-doc %description help # Responder: a familiar HTTP Service Framework for Python [![Build Status](https://travis-ci.org/taoufik07/responder.svg?branch=master)](https://travis-ci.org/taoufik07/responder) [![Documentation Status](https://readthedocs.org/projects/mybinder/badge/?version=latest)](https://responder.readthedocs.io/en/latest/) [![image](https://img.shields.io/pypi/v/responder.svg)](https://pypi.org/project/responder/) [![image](https://img.shields.io/pypi/l/responder.svg)](https://pypi.org/project/responder/) [![image](https://img.shields.io/pypi/pyversions/responder.svg)](https://pypi.org/project/responder/) [![image](https://img.shields.io/github/contributors/taoufik07/responder.svg)](https://github.com/taoufik07/responder/graphs/contributors) [![](https://farm2.staticflickr.com/1959/43750081370_a4e20752de_o_d.png)](https://responder.readthedocs.io) Powered by [Starlette](https://www.starlette.io/). That `async` declaration is optional. [View documentation](https://responder.readthedocs.io). This gets you a ASGI app, with a production static files server pre-installed, jinja2 templating (without additional imports), and a production webserver based on uvloop, serving up requests with gzip compression automatically. ## Testimonials > "Pleasantly very taken with python-responder. > [@kennethreitz](https://twitter.com/kennethreitz) at his absolute best." —Rudraksh > M.K. > "ASGI is going to enable all sorts of new high-performance web services. It's awesome > to see Responder starting to take advantage of that." — Tom Christie author of > [Django REST Framework](https://www.django-rest-framework.org/) > "I love that you are exploring new patterns. Go go go!" — Danny Greenfield, author of > [Two Scoops of Django]() ## More Examples See [the documentation's feature tour](https://responder.readthedocs.io/en/latest/tour.html) for more details on features available in Responder. # Installing Responder Install the stable release: $ pipenv install responder ✨🍰✨ Or, install from the development branch: $ pipenv install -e git+https://github.com/taoufik07/responder.git#egg=responder Only **Python 3.6+** is supported. # The Basic Idea The primary concept here is to bring the niceties that are brought forth from both Flask and Falcon and unify them into a single framework, along with some new ideas I have. I also wanted to take some of the API primitives that are instilled in the Requests library and put them into a web framework. So, you'll find a lot of parallels here with Requests. - Setting `resp.content` sends back bytes. - Setting `resp.text` sends back unicode, while setting `resp.html` sends back HTML. - Setting `resp.media` sends back JSON/YAML (`.text`/`.html`/`.content` override this). - Case-insensitive `req.headers` dict (from Requests directly). - `resp.status_code`, `req.method`, `req.url`, and other familiar friends. ## Ideas - Flask-style route expression, with new capabilities -- all while using Python 3.6+'s new f-string syntax. - I love Falcon's "every request and response is passed into to each view and mutated" methodology, especially `response.media`, and have used it here. In addition to supporting JSON, I have decided to support YAML as well, as Kubernetes is slowly taking over the world, and it uses YAML for all the things. Content-negotiation and all that. - **A built in testing client that uses the actual Requests you know and love**. - The ability to mount other WSGI apps easily. - Automatic gzipped-responses. - In addition to Falcon's `on_get`, `on_post`, etc methods, Responder features an `on_request` method, which gets called on every type of request, much like Requests. - A production static file server is built-in. - Uvicorn built-in as a production web server. I would have chosen Gunicorn, but it doesn't run on Windows. Plus, Uvicorn serves well to protect against slowloris attacks, making nginx unnecessary in production. - GraphQL support, via Graphene. The goal here is to have any GraphQL query exposable at any route, magically. - Provide an official way to run webpack. %prep %autosetup -n responder-2.0.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-responder -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 2.0.7-1 - Package Spec generated