sanic


Namesanic JSON
Version 23.12.1 PyPI version JSON
download
home_pagehttp://github.com/sanic-org/sanic/
SummaryA web server and web framework that's written to go fast. Build fast. Run fast.
upload_time2024-01-09 17:48:47
maintainer
docs_urlNone
authorSanic Community
requires_python>=3.8
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            .. 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
.. |Awesome| image:: https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg
    :alt: Awesome Sanic List
    :target: https://github.com/mekicha/awesome-sanic
.. |Monthly Downloads| image:: https://img.shields.io/pypi/dm/sanic.svg
    :alt: Downloads
    :target: https://pepy.tech/project/sanic
.. |Weekly Downloads| image:: https://img.shields.io/pypi/dw/sanic.svg
    :alt: Downloads
    :target: https://pepy.tech/project/sanic
.. |Conda downloads| image:: https://img.shields.io/conda/dn/conda-forge/sanic.svg
    :alt: Downloads
    :target: https://anaconda.org/conda-forge/sanic

.. end-badges

Sanic is a **Python 3.8+** web server and web framework that's written to go fast. It allows the usage of the ``async/await`` syntax added in Python 3.5, which makes your code non-blocking and speedy.

Sanic is also ASGI compliant, so you can deploy it with an `alternative ASGI webserver <https://sanicframework.org/en/guide/deployment/running.html#asgi>`_.

`Source code on GitHub <https://github.com/sanic-org/sanic/>`_ | `Help and discussion board <https://community.sanicframework.org/>`_ | `User Guide <https://sanicframework.org>`_ | `Chat on Discord <https://discord.gg/FARQzAEMAA>`_

The project is maintained by the community, for the community. **Contributions are welcome!**

The goal of the project is to provide a simple way to get up and running a highly performant HTTP server that is easy to build, to expand, and ultimately to scale.

Sponsor
-------

Check out `open collective <https://opencollective.com/sanic-org>`_ to learn more about helping to fund Sanic.


Installation
------------

``pip3 install sanic``

    Sanic makes use of ``uvloop`` and ``ujson`` to help with performance. If you do not want to use those packages, simply add an environmental variable ``SANIC_NO_UVLOOP=true`` or ``SANIC_NO_UJSON=true`` at install time.

    .. code:: shell

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


.. note::

  If you are running on a clean install of Fedora 28 or above, please make sure you have the ``redhat-rpm-config`` package installed in case if you want to
  use ``sanic`` with ``ujson`` dependency.


Hello World Example
-------------------

.. 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 can now be easily run using ``sanic hello.app``.

.. 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]

And, we can verify it is working: ``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"}

**Now, let's go build something fast!**

Minimum Python version is 3.8. If you need Python 3.7 support, please use v22.12LTS.

Documentation
-------------

User Guide, Changelog, and API Documentation can be found at `sanic.dev <https://sanic.dev>`__.


Questions and Discussion
------------------------

`Ask a question or join the conversation <https://community.sanicframework.org/>`__.

Contribution
------------

We are always happy to have new contributions. We have `marked issues good for anyone looking to get started <https://github.com/sanic-org/sanic/issues?q=is%3Aopen+is%3Aissue+label%3Abeginner>`_, and welcome `questions on the forums <https://community.sanicframework.org/>`_. Please take a look at our `Contribution guidelines <https://github.com/sanic-org/sanic/blob/master/CONTRIBUTING.rst>`_.

            

Raw data

            {
    "_id": null,
    "home_page": "http://github.com/sanic-org/sanic/",
    "name": "sanic",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "",
    "author": "Sanic Community",
    "author_email": "admhpkns@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/85/95/c15f1a2f8d53f59f206af0fdadf839289fe1e79b6c85f708832c0b960cf3/sanic-23.12.1.tar.gz",
    "platform": "any",
    "description": ".. image:: https://raw.githubusercontent.com/sanic-org/sanic-assets/master/png/sanic-framework-logo-400x97.png\n    :alt: Sanic | Build fast. Run fast.\n\nSanic | Build fast. Run fast.\n=============================\n\n.. start-badges\n\n.. list-table::\n    :widths: 15 85\n    :stub-columns: 1\n\n    * - Build\n      - | |Tests|\n    * - Docs\n      - | |UserGuide| |Documentation|\n    * - Package\n      - | |PyPI| |PyPI version| |Wheel| |Supported implementations| |Code style ruff|\n    * - Support\n      - | |Forums| |Discord| |Awesome|\n    * - Stats\n      - | |Monthly Downloads| |Weekly Downloads| |Conda downloads|\n\n.. |UserGuide| image:: https://img.shields.io/badge/user%20guide-sanic-ff0068\n   :target: https://sanic.dev/\n.. |Forums| image:: https://img.shields.io/badge/forums-community-ff0068.svg\n   :target: https://community.sanicframework.org/\n.. |Discord| image:: https://img.shields.io/discord/812221182594121728?logo=discord&label=Discord&color=5865F2\n   :target: https://discord.gg/FARQzAEMAA\n.. |Tests| image:: https://github.com/sanic-org/sanic/actions/workflows/tests.yml/badge.svg?branch=main\n   :target: https://github.com/sanic-org/sanic/actions/workflows/tests.yml\n.. |Documentation| image:: https://readthedocs.org/projects/sanic/badge/?version=latest\n   :target: http://sanic.readthedocs.io/en/latest/?badge=latest\n.. |PyPI| image:: https://img.shields.io/pypi/v/sanic.svg\n   :target: https://pypi.python.org/pypi/sanic/\n.. |PyPI version| image:: https://img.shields.io/pypi/pyversions/sanic.svg\n   :target: https://pypi.python.org/pypi/sanic/\n.. |Code style ruff| image:: https://img.shields.io/badge/code%20style-ruff-000000.svg\n    :target: https://docs.astral.sh/ruff/\n.. |Wheel| image:: https://img.shields.io/pypi/wheel/sanic.svg\n    :alt: PyPI Wheel\n    :target: https://pypi.python.org/pypi/sanic\n.. |Supported implementations| image:: https://img.shields.io/pypi/implementation/sanic.svg\n    :alt: Supported implementations\n    :target: https://pypi.python.org/pypi/sanic\n.. |Awesome| image:: https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg\n    :alt: Awesome Sanic List\n    :target: https://github.com/mekicha/awesome-sanic\n.. |Monthly Downloads| image:: https://img.shields.io/pypi/dm/sanic.svg\n    :alt: Downloads\n    :target: https://pepy.tech/project/sanic\n.. |Weekly Downloads| image:: https://img.shields.io/pypi/dw/sanic.svg\n    :alt: Downloads\n    :target: https://pepy.tech/project/sanic\n.. |Conda downloads| image:: https://img.shields.io/conda/dn/conda-forge/sanic.svg\n    :alt: Downloads\n    :target: https://anaconda.org/conda-forge/sanic\n\n.. end-badges\n\nSanic is a **Python 3.8+** web server and web framework that's written to go fast. It allows the usage of the ``async/await`` syntax added in Python 3.5, which makes your code non-blocking and speedy.\n\nSanic is also ASGI compliant, so you can deploy it with an `alternative ASGI webserver <https://sanicframework.org/en/guide/deployment/running.html#asgi>`_.\n\n`Source code on GitHub <https://github.com/sanic-org/sanic/>`_ | `Help and discussion board <https://community.sanicframework.org/>`_ | `User Guide <https://sanicframework.org>`_ | `Chat on Discord <https://discord.gg/FARQzAEMAA>`_\n\nThe project is maintained by the community, for the community. **Contributions are welcome!**\n\nThe goal of the project is to provide a simple way to get up and running a highly performant HTTP server that is easy to build, to expand, and ultimately to scale.\n\nSponsor\n-------\n\nCheck out `open collective <https://opencollective.com/sanic-org>`_ to learn more about helping to fund Sanic.\n\n\nInstallation\n------------\n\n``pip3 install sanic``\n\n    Sanic makes use of ``uvloop`` and ``ujson`` to help with performance. If you do not want to use those packages, simply add an environmental variable ``SANIC_NO_UVLOOP=true`` or ``SANIC_NO_UJSON=true`` at install time.\n\n    .. code:: shell\n\n       $ export SANIC_NO_UVLOOP=true\n       $ export SANIC_NO_UJSON=true\n       $ pip3 install --no-binary :all: sanic\n\n\n.. note::\n\n  If you are running on a clean install of Fedora 28 or above, please make sure you have the ``redhat-rpm-config`` package installed in case if you want to\n  use ``sanic`` with ``ujson`` dependency.\n\n\nHello World Example\n-------------------\n\n.. code:: python\n\n    from sanic import Sanic\n    from sanic.response import json\n\n    app = Sanic(\"my-hello-world-app\")\n\n    @app.route('/')\n    async def test(request):\n        return json({'hello': 'world'})\n\n    if __name__ == '__main__':\n        app.run()\n\nSanic can now be easily run using ``sanic hello.app``.\n\n.. code::\n\n    [2018-12-30 11:37:41 +0200] [13564] [INFO] Goin' Fast @ http://127.0.0.1:8000\n    [2018-12-30 11:37:41 +0200] [13564] [INFO] Starting worker [13564]\n\nAnd, we can verify it is working: ``curl localhost:8000 -i``\n\n.. code::\n\n    HTTP/1.1 200 OK\n    Connection: keep-alive\n    Keep-Alive: 5\n    Content-Length: 17\n    Content-Type: application/json\n\n    {\"hello\":\"world\"}\n\n**Now, let's go build something fast!**\n\nMinimum Python version is 3.8. If you need Python 3.7 support, please use v22.12LTS.\n\nDocumentation\n-------------\n\nUser Guide, Changelog, and API Documentation can be found at `sanic.dev <https://sanic.dev>`__.\n\n\nQuestions and Discussion\n------------------------\n\n`Ask a question or join the conversation <https://community.sanicframework.org/>`__.\n\nContribution\n------------\n\nWe are always happy to have new contributions. We have `marked issues good for anyone looking to get started <https://github.com/sanic-org/sanic/issues?q=is%3Aopen+is%3Aissue+label%3Abeginner>`_, and welcome `questions on the forums <https://community.sanicframework.org/>`_. Please take a look at our `Contribution guidelines <https://github.com/sanic-org/sanic/blob/master/CONTRIBUTING.rst>`_.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A web server and web framework that's written to go fast. Build fast. Run fast.",
    "version": "23.12.1",
    "project_urls": {
        "Homepage": "http://github.com/sanic-org/sanic/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e26807655bda3412fa86cb38d77ae14da231ac0724ebd08b72d905262b9fea3e",
                "md5": "85c3d067576beb37b54d1dc3099a944f",
                "sha256": "e292293b2663a7afeb380bdc48ab93978468b27deae46ad9561513941eb0311f"
            },
            "downloads": -1,
            "filename": "sanic-23.12.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "85c3d067576beb37b54d1dc3099a944f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 235817,
            "upload_time": "2024-01-09T17:48:45",
            "upload_time_iso_8601": "2024-01-09T17:48:45.444852Z",
            "url": "https://files.pythonhosted.org/packages/e2/68/07655bda3412fa86cb38d77ae14da231ac0724ebd08b72d905262b9fea3e/sanic-23.12.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8595c15f1a2f8d53f59f206af0fdadf839289fe1e79b6c85f708832c0b960cf3",
                "md5": "1030039a7fd0e26fc41fb64a1b01ee84",
                "sha256": "2528ca81d2bdc58ea67d93c500df1a9c58404904b0bc3442425b464c72b4bb84"
            },
            "downloads": -1,
            "filename": "sanic-23.12.1.tar.gz",
            "has_sig": false,
            "md5_digest": "1030039a7fd0e26fc41fb64a1b01ee84",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 344011,
            "upload_time": "2024-01-09T17:48:47",
            "upload_time_iso_8601": "2024-01-09T17:48:47.797924Z",
            "url": "https://files.pythonhosted.org/packages/85/95/c15f1a2f8d53f59f206af0fdadf839289fe1e79b6c85f708832c0b960cf3/sanic-23.12.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-09 17:48:47",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "sanic-org",
    "github_project": "sanic",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "appveyor": true,
    "tox": true,
    "lcname": "sanic"
}
        
Elapsed time: 0.16159s