Skip to main content

Compress responses in your Quart app with gzip or brotli.

Project description

Quart-Compress

Version Build Status Coverage Status License

Quart-Compress allows you to easily compress your Quart application's responses with gzip.

The preferred solution is to have a server (like Nginx) automatically compress the static files for you. If you don't have that option Quart-Compress will solve the problem for you.

How it works

Quart-Compress both adds the various headers required for a compressed response and gzips the response data. This makes serving gzip compressed static files extremely easy.

Internally, every time a request is made the extension will check if it matches one of the compressible MIME types and will automatically attach the appropriate headers.

Installation

If you use pip then installation is simply:

$ pip install quart-compress

or, if you want the latest github version:

$ pip install git+git://github.com/AceFire6/quart-compress.git

Using Quart-Compress

Quart-Compress is incredibly simple to use. In order to start gzip'ing your Quart application's assets, the first thing to do is let Quart-Compress know about your quart.Quart application object.

from quart import Quart
from quart_compress import Compress

app = Quart(__name__)
Compress(app)

In many cases, however, one cannot expect a Quart instance to be ready at import time, and a common pattern is to return a Quart instance from within a function only after other configuration details have been taken care of. In these cases, Quart-Compress provides a simple function, quart_compress.Compress.init_app, which takes your application as an argument.

from quart import Quart
from quart_compress import Compress

compress = Compress()

def start_app():
    app = Quart(__name__)
    compress.init_app(app)
    return app

In terms of automatically compressing your assets using gzip, passing your quart.Quart object to the quart_compress.Compress object is all that needs to be done.

Options

Within your Quart application's settings you can provide the following settings to control the behavior of Quart-Compress. None of the settings are required.

Option Description Default
COMPRESS_MIMETYPES Set the list of mimetypes to compress here. [
'text/html',
'text/css',
'text/xml',
'application/json',
'application/javascript'
]
COMPRESS_LEVEL Specifies the gzip compression level. 6
COMPRESS_MIN_SIZE Specifies the minimum file size threshold for compressing files. 500
COMPRESS_CACHE_KEY Specifies the cache key method for lookup/storage of response data. None
COMPRESS_CACHE_BACKEND Specified the backend for storing the cached response data. None
COMPRESS_REGISTER Specifies if compression should be automatically registered. True

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quart-compress-0.2.1.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

quart_compress-0.2.1-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file quart-compress-0.2.1.tar.gz.

File metadata

  • Download URL: quart-compress-0.2.1.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.2

File hashes

Hashes for quart-compress-0.2.1.tar.gz
Algorithm Hash digest
SHA256 63af5e6370aa7850fb219d22e1db89965aeb13b8f27bc83e7f9a44118faa3c54
MD5 7f1fb832f0d49a2c6eab036e630be251
BLAKE2b-256 02fcc891471c10f9a7789c0b4a1cdb7c6cf10abfc801772ed0bdf4b19df0afbd

See more details on using hashes here.

File details

Details for the file quart_compress-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: quart_compress-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.2

File hashes

Hashes for quart_compress-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 41cd0cc8d26905a45025ddda7022461a71b9d1d950b21b006dc106a1c41c75ef
MD5 fa1d9ba7eb34a46136a822ac08d585a3
BLAKE2b-256 8293fc1bfc411a89baf3d1124e625fdacd09be88fdc67adec260bcff408803b7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page