Sanic | Build fast. Run fast.

SANIC|快速构建。快点跑。

建房

Tests

多科

UserGuide Documentation

套餐

PyPI PyPI version PyPI Wheel Supported implementations Code style black

支持

Forums Discord Awesome Sanic List

统计数据

Downloads Downloads Downloads

Sanic是一家 Python 3.8+ Web服务器和Web框架,它们都是为快速运行而编写的。它允许使用 async/await 在Python3.5中添加了语法,这使得您的代码无阻塞且速度快。

Sanic也符合ASGI,因此您可以使用 alternative ASGI webserver

Source code on GitHub | Help and discussion board | User Guide | Chat on Discord

该项目由社区维护,为社区服务。 Contributions are welcome!

该项目的目标是提供一种简单的方法来启动和运行一个高性能的HTTP服务器,该服务器易于构建、扩展和最终扩展。

安装

pip3 install sanic

Sanic利用 uvloopujson 来帮助提高绩效。如果您不想使用这些包,只需添加一个环境变量 SANIC_NO_UVLOOP=trueSANIC_NO_UJSON=true 在安装时。

$ export SANIC_NO_UVLOOP=true
$ export SANIC_NO_UJSON=true
$ pip3 install --no-binary :all: sanic

备注

如果您正在全新安装的Fedora 28或更高版本上运行,请确保您有 redhat-rpm-config 安装程序包,以防您要使用 sanic 使用 ujson 依附性。

Hello World示例

from sanic import Sanic
from sanic.response import json

app = Sanic("my-hello-world-app")

@app.route('/')
async def test(request):
    return json({'hello': 'world'})

if __name__ == '__main__':
    app.run()

SANIC现在可以使用以下工具轻松运行 sanic hello.app

[2018-12-30 11:37:41 +0200] [13564] [INFO] Goin' Fast @ http://127.0.0.1:8000
[2018-12-30 11:37:41 +0200] [13564] [INFO] Starting worker [13564]

而且,我们可以验证它是否正常工作: curl localhost:8000 -i

HTTP/1.1 200 OK
Connection: keep-alive
Keep-Alive: 5
Content-Length: 17
Content-Type: application/json

{"hello":"world"}

Now, let's go build something fast!

最低版本为3.8。如果您需要对Python3.7的支持,请使用v22.12LTS。

文档

User GuideAPI Documentation

更改日志

Release Changelogs

问题和讨论

Ask a question or join the conversation

贡献

我们总是很高兴有新的贡献。我们有 marked issues good for anyone looking to get started ,并欢迎 questions on the forums 。请看一下我们的 Contribution guidelines

用户指南

要了解如何使用Sanic,请查看 User Guide

API

模块文档