Introduction

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.

Build Tests
Docs User Guide Documentation
Package PyPI PyPI version Wheel Supported implementations Code style black
Support Forums Discord Awesome
Stats Monthly Downloads Weekly Downloads Conda downloads

What is it?#

First things first, before you jump in the water, you should know that Sanic is different than other frameworks.

Right there in that first sentence there is a huge mistake because Sanic is both a framework and a web server. In the deployment section we will talk a little bit more about this.

But, remember, out of the box Sanic comes with everything you need to write, deploy, and scale a production grade web application. 🚀

Goal#

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.

Features#

Core#

  • Built in, fast web server
  • Production ready
  • Highly scalable
  • ASGI compliant
  • Simple and intuitive API design
  • By the community, for the community

Sanic Extensions [learn more]#

  • CORS protection
  • Template rendering with Jinja
  • Dependency injection into route handlers
  • OpenAPI documentation with Redoc and/or Swagger
  • Predefined, endpoint-specific response serializers
  • Request query arguments and body input validation
  • Auto create HEAD, OPTIONS, and TRACE endpoints

Check out open collective to learn more about helping to fund Sanic.

Join the Community#

The main channel for discussion is at the community forums. There also is a Discord Server for live discussion and chat.

The Stackoverflow [sanic] tag is actively monitored by project maintainers.

Contribution#

We are always happy to have new contributions. We have marked issues good for anyone looking to get started, and welcome questions/answers/discussion on the forums. Please take a look at our Contribution guidelines.