Project Icon

sanic

轻量级高性能异步Python Web服务器和框架

Sanic是一个为速度优化的Python 3.8+异步Web框架和服务器。它利用async/await语法实现非阻塞高效代码,兼容ASGI标准可部署于多种服务器。Sanic提供简便方法构建可扩展的高性能HTTP服务,采用uvloop和ujson提升性能,适合快速开发RESTful API。该项目由社区维护并欢迎贡献。

.. image:: https://raw.githubusercontent.com/sanic-org/sanic-assets/master/png/sanic-framework-logo-400x97.png :alt: Sanic | 快速构建。快速运行。

Sanic | 快速构建。快速运行。

.. start-badges

.. list-table:: :widths: 15 85 :stub-columns: 1

* - 构建
  - | |Tests|
* - 文档
  - | |UserGuide| |Documentation|
* - 包
  - | |PyPI| |PyPI version| |Wheel| |Supported implementations| |Code style ruff|
* - 支持
  - | |Forums| |Discord| |Awesome|
* - 统计
  - | |Monthly Downloads| |Weekly Downloads| |Conda downloads|

.. |UserGuide| image:: https://img.shields.io/badge/user%20guide-sanic-ff0068 :target: https://sanic.dev/ .. |Forums| image:: https://img.shields.io/badge/forums-community-ff0068.svg :target: https://community.sanicframework.org/ .. |Discord| image:: https://img.shields.io/discord/812221182594121728?logo=discord&label=Discord&color=5865F2 :target: https://discord.gg/FARQzAEMAA .. |Tests| image:: https://github.com/sanic-org/sanic/actions/workflows/tests.yml/badge.svg?branch=main :target: https://github.com/sanic-org/sanic/actions/workflows/tests.yml .. |Documentation| image:: https://readthedocs.org/projects/sanic/badge/?version=latest :target: http://sanic.readthedocs.io/en/latest/?badge=latest .. |PyPI| image:: https://img.shields.io/pypi/v/sanic.svg :target: https://pypi.python.org/pypi/sanic/ .. |PyPI version| image:: https://img.shields.io/pypi/pyversions/sanic.svg :target: https://pypi.python.org/pypi/sanic/ .. |Code style ruff| image:: https://img.shields.io/badge/code%20style-ruff-000000.svg :target: https://docs.astral.sh/ruff/ .. |Wheel| image:: https://img.shields.io/pypi/wheel/sanic.svg :alt: PyPI Wheel :target: https://pypi.python.org/pypi/sanic .. |Supported implementations| image:: https://img.shields.io/pypi/implementation/sanic.svg :alt: 支持的实现 :target: https://pypi.python.org/pypi/sanic .. |Awesome| image:: https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg :alt: Awesome Sanic 列表 :target: https://github.com/mekicha/awesome-sanic .. |Monthly Downloads| image:: https://img.shields.io/pypi/dm/sanic.svg :alt: 下载量 :target: https://pepy.tech/project/sanic .. |Weekly Downloads| image:: https://img.shields.io/pypi/dw/sanic.svg :alt: 下载量 :target: https://pepy.tech/project/sanic .. |Conda downloads| image:: https://img.shields.io/conda/dn/conda-forge/sanic.svg :alt: 下载量 :target: https://anaconda.org/conda-forge/sanic

.. end-badges

Sanic 是一个为快速而生的 Python 3.8+ Web 服务器和 Web 框架。它允许使用 Python 3.5 中新增的 async/await 语法,使您的代码非阻塞且高效。

Sanic 也兼容 ASGI,因此您可以使用 替代的 ASGI Web 服务器 <https://sanicframework.org/en/guide/deployment/running.html#asgi>_ 来部署它。

GitHub 上的源代码 <https://github.com/sanic-org/sanic/>_ | 帮助和讨论板 <https://community.sanicframework.org/>_ | 用户指南 <https://sanicframework.org>_ | Discord 聊天 <https://discord.gg/FARQzAEMAA>_

该项目由社区维护,为社区服务。欢迎贡献!

项目的目标是提供一种简单的方法来快速搭建、扩展和最终扩展高性能 HTTP 服务器。

赞助

查看 open collective <https://opencollective.com/sanic-org>_ 以了解如何帮助资助 Sanic。

安装

pip3 install sanic

Sanic 使用 ``uvloop`` 和 ``ujson`` 来提高性能。如果您不想使用这些包,只需在安装时添加环境变量 ``SANIC_NO_UVLOOP=true`` 或 ``SANIC_NO_UJSON=true``。

.. code:: shell

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

.. note::

如果您在 Fedora 28 或更高版本的全新安装上运行,并且想要使用带有 ujson 依赖的 sanic,请确保已安装 redhat-rpm-config 包。

Hello World 示例

.. code:: python

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 hello.app 轻松运行 Sanic。

.. code::

[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

.. code::

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

{"hello":"world"}

现在,让我们开始构建快速的应用程序吧!

最低 Python 版本为 3.8。如果您需要 Python 3.7 支持,请使用 v22.12LTS。

文档

用户指南、更新日志和 API 文档可在 sanic.dev <https://sanic.dev>__ 找到。

问题和讨论

提出问题或加入对话 <https://community.sanicframework.org/>__。

贡献

我们始终欢迎新的贡献。我们为 希望入门的人标记了一些问题 <https://github.com/sanic-org/sanic/issues?q=is%3Aopen+is%3Aissue+label%3Abeginner>,并欢迎在 论坛上提出问题 <https://community.sanicframework.org/>。请查看我们的 贡献指南 <https://github.com/sanic-org/sanic/blob/master/CONTRIBUTING.rst>_。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号