一种熟悉风格的HTTP框架。
项目描述
Responder:Python的一个熟悉风格的HTTP服务框架
由 Starlette 提供。那个 async
声明是可选的。 查看文档。
这为您提供了一个 ASGI 应用程序,预安装了生产静态文件服务器,jinja2 模板(无需额外导入),以及基于 uvloop 的生产型 web 服务器,它会自动对请求进行 gzip 压缩。
客户评价
"非常喜欢 python-responder。 @kennethreitz 达到了顶峰。" —Rudraksh M.K.
"ASGI 将能够启用各种高性能的 Web 服务。看到 Responder 开始利用这一点真是太棒了。" —Tom Christie,著有 Django REST Framework
"我喜欢你正在探索新的模式。加油加油!" — 丹尼·格林菲尔德,《Two Scoops of Django》作者
更多示例
查看文档的功能浏览以获取关于Responder中可用功能的更多详细信息。
安装Resonder
安装稳定版本
$ pipenv install responder
✨🍰✨
或者,从开发分支安装
$ pipenv install -e git+https://github.com/taoufik07/responder.git#egg=responder
仅支持Python 3.6+
。
基本理念
这里的主要概念是将Flask和Falcon带来的便利性统一到一个框架中,并融入一些我自己的新想法。我还想将Requests库中的一些API原语应用到Web框架中。因此,您会发现这里有很多与Requests的相似之处。
- 设置
resp.content
返回字节。 - 设置
resp.text
返回Unicode,而设置resp.html
返回HTML。 - 设置
resp.media
返回JSON/YAML(.text
/.html
/.content
可以覆盖此设置)。 - 不区分大小写的
req.headers
字典(直接从Requests获取)。 resp.status_code
、req.method
、req.url
和其他熟悉的元素。
想法
- 采用Flask风格的路由表达式,并具有新功能——同时使用Python 3.6+'的新f-string语法。
- 我喜欢Falcon的“每个请求和响应都传递到每个视图并修改”的方法,特别是
response.media
,并将其用于此处。除了支持JSON,我还决定支持YAML,因为Kubernetes正在慢慢接管世界,它使用YAML做所有事情。内容协商等等。 - 内置测试客户端,使用您所熟知的实际Requests库。.
- 轻松挂载其他WSGI应用的能力。
- 自动gzip压缩响应。
- 除了Falcon的
on_get
、on_post
等方法外,Resonder还提供了一个on_request
方法,它在每种类型的请求上都将被调用,就像Requests一样。 - 内置生产静态文件服务器。
- 内置Uvicorn作为生产Web服务器。我本想选择Gunicorn,但它不支持Windows。另外,Uvicorn在保护生产环境免受slowloris攻击方面表现良好,使得nginx在生产环境中不再必要。
- 通过Graphene支持GraphQL。目标是让任何GraphQL查询都可以在任意路由下神奇地公开。
- 提供运行webpack的官方方式。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。
源分发
responder-2.0.7.tar.gz (24.2 kB 查看哈希值)
构建分发
responder-2.0.7-py3-none-any.whl (24.8 kB 查看哈希值)
关闭
responder-2.0.7.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 23a8f4b0136f74c272d187eb888a16e0b3fe4434881abfb60efecb71d78f6934 |
|
MD5 | dee852040bb1782ff53251cb960142fe |
|
BLAKE2b-256 | 64c4422588bc0c3d85f575b6e34154b73d28061a2e5e96ce3f657a83e4a40c5f |
关闭
responder-2.0.7-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8210d310c3b63a9f7e39d3daf5cf5cbdef152a5213ee2f10bba2b8b6c611a36a |
|
MD5 | add57b7b7e6fae87ac126ac15ac5a43a |
|
BLAKE2b-256 | 6854ba4b932a4efd92670ffa842afdcdbf266bc590e898239772ae4293a91908 |