0
0
Flaskframework~5 mins

Flask-Compress for compression

Choose your learning style9 modes available
Introduction

Flask-Compress makes your web app faster by shrinking the size of data sent to users. It helps pages load quicker and saves bandwidth.

You want your website to load faster on slow internet connections.
You want to reduce the amount of data your server sends to users.
You have large responses like JSON or HTML that can be compressed.
You want to improve user experience by speeding up page loads.
You want to save hosting costs by using less bandwidth.
Syntax
Flask
from flask import Flask
from flask_compress import Compress

app = Flask(__name__)
Compress(app)
Import Compress from flask_compress and call Compress(app) after creating your Flask app.
This enables compression for all responses automatically.
Examples
Basic setup to enable compression on all responses.
Flask
from flask import Flask
from flask_compress import Compress

app = Flask(__name__)
Compress(app)
Alternative way to initialize Flask-Compress using init_app method.
Flask
from flask import Flask
from flask_compress import Compress

app = Flask(__name__)
compress = Compress()
compress.init_app(app)
Set compression level and minimum response size before enabling compression.
Flask
from flask import Flask
from flask_compress import Compress

app = Flask(__name__)
app.config['COMPRESS_LEVEL'] = 6
app.config['COMPRESS_MIN_SIZE'] = 500
Compress(app)
Sample Program

This Flask app returns a JSON message. Flask-Compress compresses the response automatically if the browser supports it, making the data smaller and faster to load.

Flask
from flask import Flask, jsonify
from flask_compress import Compress

app = Flask(__name__)
Compress(app)

@app.route('/')
def home():
    data = {'message': 'Hello, Flask-Compress! This response will be compressed if your browser supports it.'}
    return jsonify(data)

if __name__ == '__main__':
    app.run(debug=True)
OutputSuccess
Important Notes

Compression only works if the client (browser) sends an 'Accept-Encoding' header that includes gzip or deflate.

Flask-Compress compresses responses larger than a default size (500 bytes) to avoid overhead on small responses.

You can customize compression level and minimum size via app config settings.

Summary

Flask-Compress makes your Flask app faster by compressing responses.

Enable it by importing and calling Compress(app).

It works automatically for supported clients and can be customized.