Accelerate your web app development | Build fast. Run fast.
Go to file
2016-10-09 16:00:09 -07:00
examples Added examples and form processing 2016-10-09 15:28:31 -07:00
sanic Added examples and form processing 2016-10-09 15:28:31 -07:00
tests/performance Added examples and form processing 2016-10-09 15:28:31 -07:00
.gitignore fugdishit 2016-10-03 07:28:50 +00:00
README.md Update README.md 2016-10-09 16:00:09 -07:00
requirements.txt . 2016-10-03 07:27:54 +00:00
setup.py Moved request handling into sanic 2016-10-08 19:45:11 -07:00

Sanic

Sanic is a Flask-like Python 3.5+ web server that's written to go fast. It's based off the work done by the amazing folks at magicstack, and was inspired by this article: https://magic.io/blog/uvloop-blazing-fast-python-networking/.

On top of being flask-like, sanic supports async request handlers. This means you can use the new shiny async/await syntax from Python 3.5, making your code non-blocking and speedy.

Benchmarks

All tests were run on a AWS medium instance running ubuntu, using 1 process. Each script delivered a small JSON response and was tested with wrk using 100 connections. Pypy was tested for falcon and flask, but did not speed up requests.

Server Requests/sec Avg Latency
Sanic (Python 3.5 + uvloop) 29,128 3.40ms
Falcon (gunicorn + meinheld) 18,972 5.27ms
Flask (gunicorn + meinheld) 4,988 20.08ms
Aiohttp (Python 3.5) 2,187 56.60ms

Usage

Installation

  • python -m pip install git+https://github.com/channelcat/sanic/

Final Thoughts:

                 ▄▄▄▄▄
        ▀▀▀██████▄▄▄       _______________
      ▄▄▄▄▄  █████████▄  /                 \
     ▀▀▀▀█████▌ ▀▐▄ ▀▐█ |   Gotta go fast!  | 
   ▀▀█████▄▄ ▀██████▄██ | _________________/
   ▀▄▄▄▄▄  ▀▀█▄▀█════█▀ |/
        ▀▀▀▄  ▀▀███ ▀       ▄▄
     ▄███▀▀██▄████████▄ ▄▀▀▀▀▀▀█▌
   ██▀▄▄▄██▀▄███▀ ▀▀████      ▄██
▄▀▀▀▄██▄▀▀▌████▒▒▒▒▒▒███     ▌▄▄▀
▌    ▐▀████▐███▒▒▒▒▒▐██▌
▀▄▄▄▄▀   ▀▀████▒▒▒▒▄██▀
          ▀▀█████████▀
        ▄▄██▀██████▀█
      ▄██▀     ▀▀▀  █
     ▄█             ▐▌
 ▄▄▄▄█▌              ▀█▄▄▄▄▀▀▄
▌     ▐                ▀▀▄▄▄▀
 ▀▀▄▄▀