Propulsé par Starlette. Cette déclaration async
est facultative. Consultez la documentation.
Cela vous donne une application ASGI, avec un serveur de fichiers statiques de production préinstallé, des modèles Jinja (sans importations supplémentaires) et un serveur Web de production basé sur uvloop, traitant automatiquement les requêtes avec compression gzip.
"Agréablement très impressionné par python-responder. @kennethreitz à son meilleur." —RudrakshMK
"ASGI va permettre toutes sortes de nouveaux services Web hautes performances. C'est formidable de voir Responder commencer à en profiter." — Tom Christie auteur de Django REST Framework
"J'adore que vous exploriez de nouveaux modèles. Allez-y, allez-y !" — Danny Greenfield, auteur de Two Scoops of Django
Consultez la présentation des fonctionnalités de la documentation pour plus de détails sur les fonctionnalités disponibles dans Responder.
Installez la version stable la plus récente :
pip install --upgrade 'responder'
Inclut la prise en charge de toutes les extensions et interfaces :
pip install --upgrade 'responder[full]'
Les extras d'installation individuels en option sont :
Ou installez directement à partir du référentiel :
pip install 'responder[full] @ git+https://github.com/kennethreitz/responder.git'
Le répondeur prend en charge Python 3.6+ .
Le concept principal ici est de rassembler les subtilités apportées par Flask et Falcon et de les unifier dans un cadre unique, ainsi que quelques nouvelles idées que j'ai. Je voulais également prendre certaines des primitives d'API inculquées dans la bibliothèque Requests et les mettre dans un framework Web. Vous trouverez donc ici de nombreux parallèles avec les requêtes.
resp.content
renvoie des octets.resp.text
renvoie l'Unicode, tandis que la définition resp.html
renvoie le HTML.resp.media
renvoie JSON/YAML ( .text
/ .html
/ .content
remplace cela).req.headers
insensible à la casse (à partir des requêtes directement).resp.status_code
, req.method
, req.url
et d'autres amis familiers. response.media
, et je l'ai utilisée ici. En plus de prendre en charge JSON, j'ai décidé de prendre également en charge YAML, car Kubernetes conquiert lentement le monde et utilise YAML pour tout. Négociation de contenu et tout ça.on_get
, on_post
, etc. de Falcon, Responder propose une méthode on_request
, qui est appelée pour chaque type de requête, un peu comme les requêtes.Voir Bac à sable de développement.