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

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

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

Project Cover

Kimi

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

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

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

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

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