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.
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
, andTRACE
endpoints
Sponsor#
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.