A curated list of awesome Sanic resources and extensions
Sanic is an Async Python 3.5+ web server that's written to go fast
- Sanic CRUD: CRUD REST API generation with peewee models.
- Sanic-GraphQL: GraphQL integration with Sanic
- Sanic-RestPlus: A port of Flask-RestPlus for Sanic. Full-featured REST API with SwaggerUI generation.
- Sanic-Transmute: A Sanic extension that generates APIs from python function and classes, and also generates Swagger UI/documentation automatically.
- Sanic-JWT: Authentication extension for JSON Web Tokens (JWT).
- Sanic-OAuth: OAuth Library with many provider and OAuth1/OAuth2 support.
- Sanic-Token-Auth: Simple token-based authentication.
- Pytest-Sanic: A pytest plugin for Sanic. It helps you to test your code asynchronously.
- Sanic-OpenAPI: OpenAPI support, plus a Swagger UI.
- Jinja2-sanic: a jinja2 template renderer for Sanic.
- Sanic-Babel: Adds i18n/l10n support to Sanic applications with the help of the
- Sanic-CORS: A port of flask-cors.
- Sanic-Jinja2: Support for Jinja2 template.
- Sanic-Prometheus: Prometheus metrics for Sanic
- Sanic-Rollbar: Rollbar (exception reporting) integration for Sanic
- Sanic-Sentry: Sentry integration for Sanic.
- Sanic-Statsd: StatsD (currently only DataDog; WIP) metrics collection for Sanic
- GINO: A lightweight asynchronous ORM based on SQLAlchemy core, with asyncpg dialect and Sanic extension.
- Sanic-Motor: Simple motor wrapper.
Requests and Responses
- Python-Sanicargs: Parse query args in Sanic using type annotations and a decorator.
- Sanic Compress: Allows you to easily gzip Sanic responses. A port of Flask-Compress.
- Sanic-Limiter: Rate limiting for sanic.
- Sanic-UserAgent: Add
- Cookiecutter-Sanic: Get your sanic application up and running in a matter of second in a well defined project structure. Batteries included for deployment, unit testing, automated release management and changelog generation.
- Sanic Sessions: Support for sessions. Allows using redis, memcache or an in memory store.
- Python-Paginate: Simple pagination support.
- Sanic-Dispatch: A dispatcher inspired by
DispatcherMiddlewarein werkzeug. Can act as a Sanic-to-WSGI adapter.
- Sanic-EnvConfig: Pull environment variables into your sanic config.
- SanicCRUD-vue: A example demo base Sanic with vueJS + webpack
- Sanic-Nginx-Docker-Example: Simple and easy to use example of Sanic behined nginx using docker-compose.
- Websocket PubSub Feed: A starting point for building a websocket-based pubsub feed with Redis
- Getting started with Sanic
- Super Fast Voice Broadcast with Asynchronous Python and Sanic
- Deploying an asynchronous Python microservice with Sanic and Zeit Now
- Part I — Getting started with the Sanic web framework: initial setup and https
Videos and Podcasts
- Dougal Matthews - Async Web Apps with Sanic - EuroPython 2017
- Chris Hawkes - Python Sanic Tutorial
- TalkPython - Episode #188: Async for the Pythonic web with Sanic
Built with Sanic
Taken from The wiki
The following is a list of Sanic in production use.
- aioquiz - workshop registration and execution
- json-head: explained in Deploying an asynchronous Python microservice with Sanic and Zeit Now
- datasette - a tool for providing instant JSON API for your SQLite databases. More information here.
- devmap - Learning mindmaps
- NMT - Network Mapper Tool - A tool for mapping networks
- TuringNetwork - A NeuralNetwork Visualization tool built on/for PyTorch/ONNX
- exchangeratesapi.io - Exchange rates with currency conversion
- swagger-py-codegen - a Python web framework generator supports Sanic, Flask, Tornado, Falcon
- Simple-image-classifier - A microservice for image classification, based on tensorflow