sanic 25.12.1 — A web server and web framework that's written to go fast. Build fast. Run fast.
Author: Sanic Community
License: MIT 
Requires Python: >=3.10
Dependencies: beautifulsoup4; extra == "dev", pytest-sanic; extra == "dev", pytest-benchmark; extra == "dev", chardet==3.*; extra == "dev", ruff; extra == "dev", bandit; extra == "dev", mypy; extra == "dev", docutils; extra == "dev", pygments; extra == "dev", uvicorn; extra == "dev", slotscheck<1,>=0.8.0; extra == "dev", types-ujson; (sys_platform != "win32" and implementation_name == "cpython") and extra == "dev", cryptography; extra == "dev", tox; extra == "dev", towncrier; extra == "dev", sphinx>=2.1.2; extra == "docs", sphinx_rtd_theme>=0.4.3; extra == "docs", docutils; extra == "docs", pygments; extra == "docs", m2r2; extra == "docs", enum-tools[sphinx]; extra == "docs", mistune>=2.0.0; extra == "docs", autodocsumm>=0.2.11; extra == "docs", msgspec; extra == "docs", python-frontmatter; extra == "docs", docstring-parser; extra == "docs", libsass; extra == "docs", uvicorn; extra == "all", libsass; extra == "all", cryptography; extra == "all", pytest>=8.2.2; extra == "all", enum-tools[sphinx]; extra == "all", sanic-testing>=23.6.0; extra == "all", ruff; extra == "all", pytest-cov>=4.0.0; extra == "all", coverage; extra == "all", beautifulsoup4; extra == "all", tox; extra == "all", msgspec; extra == "all", sphinx_rtd_theme>=0.4.3; extra == "all", python-frontmatter; extra == "all", towncrier; extra == "all", pytest-sanic; extra == "all", autodocsumm>=0.2.11; extra == "all", docstring-parser; extra == "all", m2r2; extra == "all", mistune>=2.0.0; extra == "all", sphinx>=2.1.2; extra == "all", pytest-benchmark; extra == "all", docutils; extra == "all", pytest-xdist>=3.5.0; extra == "all", bandit; extra == "all", types-ujson; (sys_platform != "win32" and implementation_name == "cpython") and extra == "all", slotscheck<1,>=0.8.0; extra == "all", pygments; extra == "all", mypy; extra == "all", chardet==3.*; extra == "all", sanic-ext; extra == "ext", aioquic; extra == "http3", sanic-routing>=23.12.0, httptools>=0.0.10, uvloop>=0.15.0; sys_platform != "win32" and implementation_name == "cpython", ujson>=1.35; sys_platform != "win32" and implementation_name == "cpython", aiofiles>=0.6.0, websockets>=10.0, multidict<7.0,>=5.0, html5tagger>=1.2.1, tracerite>=2.2.0, typing-extensions>=4.4.0, setuptools>=70.1.0, sanic-testing>=23.6.0; extra == "test", pytest>=8.2.2; extra == "test", pytest-xdist>=3.5.0; extra == "test", pytest-cov>=4.0.0; extra == "test", coverage; extra == "test", beautifulsoup4; extra == "test", pytest-sanic; extra == "test", pytest-benchmark; extra == "test", chardet==3.*; extra == "test", ruff; extra == "test", bandit; extra == "test", mypy; extra == "test", docutils; extra == "test", pygments; extra == "test", uvicorn; extra == "test", slotscheck<1,>=0.8.0; extra == "test", types-ujson; (sys_platform != "win32" and implementation_name == "cpython") and extra == "test", sanic-testing>=23.6.0; extra == "dev", pytest>=8.2.2; extra == "dev", pytest-xdist>=3.5.0; extra == "dev", pytest-cov>=4.0.0; extra == "dev", coverage; extra == "dev"

.. image:: https://raw.githubusercontent.com/sanic-org/sanic-assets/master/png/sanic-framework-logo-400x97.png
    :alt: Sanic | Build fast. Run fast.

Sanic | Build fast. Run fast.
=============================

.. start-badges

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

    * - Build
      - | |Tests|
    * - Docs
      - | |UserGuide| |Documentation|
    * - Package
      - | |PyPI| |PyPI version| |Wheel| |Supported implementations| |Code style ruff|
    * - Support
      - | |Forums| |Discord| |Awesome|
    * - Stats
      - | |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: Supported implementations
    :target: https://pypi.python.org/pypi/sanic
.. |A