Desenvolvido por Starlette. Essa declaração async
é opcional. Veja a documentação.
Isso fornece um aplicativo ASGI, com um servidor de arquivos estáticos de produção pré-instalado, modelos Jinja (sem importações adicionais) e um servidor web de produção baseado em uvloop, atendendo solicitações com compactação gzip automaticamente.
"Agradavelmente muito impressionado com o python-responder. @kennethreitz no seu melhor." —Rudraksh MK
"A ASGI permitirá todos os tipos de novos serviços web de alto desempenho. É incrível ver o Responder começando a tirar vantagem disso." — Tom Christie autor do Django REST Framework
"Adoro que você esteja explorando novos padrões. Vá, vá, vá!" — Danny Greenfield, autor de Duas colheres de Django
Consulte o tour de recursos da documentação para obter mais detalhes sobre os recursos disponíveis no Responder.
Instale a versão estável mais recente:
pip install --upgrade 'responder'
Inclui suporte para todas as extensões e interfaces:
pip install --upgrade 'responder[full]'
Os extras de instalação opcionais individuais são:
Ou instale diretamente do repositório:
pip install 'responder[full] @ git+https://github.com/kennethreitz/responder.git'
O respondente suporta Python 3.6+ .
O conceito principal aqui é trazer as sutilezas trazidas do Flask e do Falcon e unificá-las em uma única estrutura, junto com algumas ideias novas que tenho. Eu também queria pegar algumas das primitivas da API instaladas na biblioteca Requests e colocá-las em uma estrutura da web. Então, você encontrará muitos paralelos aqui com Requests.
resp.content
envia de volta bytes.resp.text
envia de volta Unicode, enquanto definir resp.html
envia de volta HTML.resp.media
envia de volta JSON/YAML ( .text
/ .html
/ .content
substitui isso).req.headers
que não diferencia maiúsculas de minúsculas (diretamente de Solicitações).resp.status_code
, req.method
, req.url
e outros amigos familiares. response.media
, e a usei aqui. Além de oferecer suporte a JSON, decidi oferecer suporte a YAML também, já que o Kubernetes está lentamente dominando o mundo e usa YAML para todas as coisas. Negociação de conteúdo e tudo mais.on_get
, on_post
, etc do Falcon, o Responder apresenta um método on_request
, que é chamado em cada tipo de solicitação, bem como Requests.Consulte Sandbox de desenvolvimento.