All Projects → illagrenan → django-brotli

illagrenan / django-brotli

Licence: MIT license
Django middleware that compresses response using brotli algorithm.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to django-brotli

Docker Nginx Brotli
Stable nginx with google brotli compression module
Stars: ✭ 107 (+568.75%)
Mutual labels:  compression, brotli
brieflz
Small fast Lempel-Ziv compression library
Stars: ✭ 84 (+425%)
Mutual labels:  compression, compression-algorithm
Libbrotli
meta project to build libraries from the brotli source code
Stars: ✭ 110 (+587.5%)
Mutual labels:  compression, brotli
x-compressor
x – minimalist data compressor
Stars: ✭ 42 (+162.5%)
Mutual labels:  compression, compression-algorithm
tiny
compress data for better performance
Stars: ✭ 21 (+31.25%)
Mutual labels:  compression, brotli
Deno brotli
🗜 Brotli wasm module for deno
Stars: ✭ 40 (+150%)
Mutual labels:  compression, brotli
Huffman-Coding
A C++ compression program based on Huffman's lossless compression algorithm and decoder.
Stars: ✭ 81 (+406.25%)
Mutual labels:  compression, compression-algorithm
Lzbench
lzbench is an in-memory benchmark of open-source LZ77/LZSS/LZMA compressors
Stars: ✭ 490 (+2962.5%)
Mutual labels:  compression, brotli
box
Box - Open Standard Archive Format, a zip killer.
Stars: ✭ 38 (+137.5%)
Mutual labels:  compression, brotli
blz4
Example of LZ4 compression with optimal parsing using BriefLZ algorithms
Stars: ✭ 24 (+50%)
Mutual labels:  compression, compression-algorithm
Peazip
Free Zip / Unzip software and Rar file extractor. Cross-platform file and archive manager. Features volume spanning, compression, authenticated encryption. Supports 7Z, 7-Zip sfx, ACE, ARJ, Brotli, BZ2, CAB, CHM, CPIO, DEB, GZ, ISO, JAR, LHA/LZH, NSIS, OOo, PAQ/LPAQ, PEA, QUAD, RAR, RPM, split, TAR, Z, ZIP, ZIPX, Zstandard.
Stars: ✭ 827 (+5068.75%)
Mutual labels:  compression, brotli
gzipped
Replacement for golang http.FileServer which supports precompressed static assets.
Stars: ✭ 86 (+437.5%)
Mutual labels:  compression, brotli
Lepton
Lepton is a tool and file format for losslessly compressing JPEGs by an average of 22%.
Stars: ✭ 4,918 (+30637.5%)
Mutual labels:  compression, compression-algorithm
Fastify Compress
Fastify compression utils
Stars: ✭ 95 (+493.75%)
Mutual labels:  compression, brotli
Rust Brotli
Brotli compressor and decompressor written in rust that optionally avoids the stdlib
Stars: ✭ 504 (+3050%)
Mutual labels:  compression, brotli
Turbobench
Compression Benchmark
Stars: ✭ 211 (+1218.75%)
Mutual labels:  compression, brotli
Compress
Collection of compression related Go packages.
Stars: ✭ 319 (+1893.75%)
Mutual labels:  compression, brotli
Lizard
Lizard (formerly LZ5) is an efficient compressor with very fast decompression. It achieves compression ratio that is comparable to zip/zlib and zstd/brotli (at low and medium compression levels) at decompression speed of 1000 MB/s and faster.
Stars: ✭ 408 (+2450%)
Mutual labels:  compression, brotli
Re-Pair
Offline Dictionary-based Compression (Re-Pair, Recursive Pairing)
Stars: ✭ 21 (+31.25%)
Mutual labels:  compression, compression-algorithm
apultra
Free open-source compressor for apLib with 5-7% better ratios
Stars: ✭ 84 (+425%)
Mutual labels:  compression, compression-algorithm

Django Brotli: Middleware that compresses response using brotli algorithm

PyPi MIT TravisCI Coverage Updates Supported Python implementations Supported Python versions

Introduction

This project consists of BrotliMiddleware which works the same as Django GZipMiddleware (Docs/Source). BrotliMiddleware will compress content of HTTP response using brotli algorithm (Brotli Compressed Data Format is defined in RFC 7932).

In November 2016 is brotli supported by Firefox, Chrome, Android Browser and Opera (detailed stats on caniuse). Brotli is applied only when client has sent Accept-Encoding header containing br.

Installation

This software is in alpha version and should not be used in production.

  • Supported Python versions are: 3.5, 3.6 and 3.7.
  • Supported Django versions are: 1.11.x (LTS), 2.0.x and 2.1.x (LTS).
pip install --upgrade django-brotli

Add django_brotli.middleware.BrotliMiddleware to MIDDLEWARE:

MIDDLEWARE = [
    'django_brotli.middleware.BrotliMiddleware',
    # ...
]

Credits and Resources

Contributing

  1. Clone this repository (git clone ...)
  2. Create virtualenv
  3. Install package dependencies: pip install --upgrade -r requirements.txt
  4. Change some code
  5. Run tests: in project root simply execute pytest
  6. Submit PR :)

License

The MIT License (MIT)

Copyright (c) 2016–2019 Vašek Dohnal (@illagrenan)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].