基于Hyper库和受Gunicorn启发的ASGI服务器
项目描述
Hypercorn是一个基于sans-io hyper、h11、h2和wsproto库的ASGI和WSGI网络服务器,并受Gunicorn的启发。Hypercorn支持HTTP/1、HTTP/2、WebSocket(通过HTTP/1和HTTP/2)、ASGI和WSGI规范。Hypercorn可以利用asyncio、uvloop或trio工作类型。
Hypercorn可以选择使用aioquic库来提供HTTP/3规范的当前草案。要启用此功能,安装h3可选额外功能,pip install hypercorn[h3],然后选择quic绑定,例如hypercorn --quic-bind localhost:4433 ...。
Hypercorn最初是Quart的一部分,后来被分离出来成为一个独立的服务器。Hypercorn从Quart的0.5.0版本分支。
快速入门
Hypercorn可以通过pip安装,
$ pip install hypercorn
并需要Python 3.8或更高版本。
安装Hypercorn后,可以通过命令行使用Hypercorn来提供ASGI框架(或应用程序)。
$ hypercorn module:app
或者,Hypercorn也可以通过编程方式使用。
import asyncio
from hypercorn.config import Config
from hypercorn.asyncio import serve
from module import app
asyncio.run(serve(app, Config()))
在API使用文档中了解更多信息(包括上述Trio示例)。
贡献
Hypercorn在Github上开发。如果您遇到问题或有功能请求,请打开一个问题。如果您想贡献修复或功能实现,请提出一个拉取请求(欢迎修改错别字)。
测试
测试Hypercorn的最佳方式是使用Tox,
$ pipenv install tox
$ tox
这将检查代码风格并运行测试。
帮助
项目详情
下载文件
下载适合您平台的项目文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
hypercorn-0.17.3.tar.gz (44.4 kB 查看哈希值)
构建分发
hypercorn-0.17.3-py3-none-any.whl (61.7 kB 查看哈希值)