Skip to content

lantonic/sanic_compress

 
 

Repository files navigation

sanic_compress

sanic_compress is an extension which allows you to easily gzip your Sanic responses. It is a port of the Flask-Compress extension.

Installation

Install with pip:

pip install sanic_compress

Usage

Usage is simple. Simply pass in the Sanic app object to the Compress class, and responses will be gzipped.

from sanic import Sanic
from sanic_compress import Compress

app = Sanic(__name__)
Compress(app)

Options

Within the Sanic application config you can provide the following settings to control the behavior of sanic_compress. None of the settings are required.

COMPRESS_MIMETYPES: Set the list of mimetypes to compress here.

  • Default: {'text/html','text/css','text/xml','application/json','application/javascript'}

COMPRESS_LEVEL: Specifies the gzip compression level (1-9).

  • Default: 6

COMPRESS_MIN_SIZE: Specifies the minimum size (in bytes) threshold for compressing responses.

  • Default: 500

A higher COMPRESS_LEVEL will result in a gzipped response that is smaller, but the compression will take longer.

Example of using custom configuration:

from sanic import Sanic
from sanic_compress import Compress

app = Sanic(__name__)
app.config['COMPRESS_MIMETYPES'] = {'text/html', 'application/json'}
app.config['COMPRESS_LEVEL'] = 4
app.config['COMPRESS_MIN_SIZE'] = 300
Compress(app)

Note about gzipping static files:

Sanic is not at heart a file server. You should consider serving static files with nginx or on a separate file server.

About

An extension which allows you to easily compress your Sanic responses with gzip.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%