Skip to main content

Zopfli module for python

Project description

Travis Build Status Appveyor Build Status

PYZOPFLI

cPython bindings for zopfli.

USAGE

pyzopfli is a straight forward wrapper around zopfli’s ZlibCompress method.

from zopfli.zlib import compress
from zlib import decompress
s = 'Hello World'
print decompress(compress(s))

pyzopfli also wraps GzipCompress, but the API point does not try to mimic the gzip module.

from zopfli.gzip import compress
from StringIO import StringIO
from gzip import GzipFile
print GzipFile(fileobj=StringIO(compress("Hello World!"))).read()

Both zopfli.zlib.compress and zopfli.gzip.compress support the following keyword arguments. All values should be integers; boolean parmaters are treated as expected, 0 and >0 as false and true.

  • verbose dumps zopfli debugging data to stderr
  • numiterations Maximum amount of times to rerun forward and backward pass to optimize LZ77 compression cost. Good values: 10, 15 for small files, 5 for files over several MB in size or it will be too slow.
  • blocksplitting If true, splits the data in multiple deflate blocks with optimal choice for the block boundaries. Block splitting gives better compression. Default: true (1).
  • blocksplittinglast If true, chooses the optimal block split points only after doing the iterative LZ77 compression. If false, chooses the block split points first, then does iterative LZ77 on each individual block. Depending on the file, either first or last gives the best compression. Default: false (0).
  • blocksplittingmax Maximum amount of blocks to split into (0 for unlimited, but this can give extreme results that hurt compression on some files). Default value: 15.

TODO

  • Stop reading the entire file into memory and support streaming
  • Monkey patch zlib and gzip so code with an overly tight binding can be easily modified to use zopfli.

Project details


Download files

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

Files for zopfli, version 0.1.7
Filename, size File type Python version Upload date Hashes
Filename, size zopfli-0.1.7-cp27-cp27m-macosx_10_6_intel.whl (70.6 kB) File type Wheel Python version cp27 Upload date Hashes View
Filename, size zopfli-0.1.7-cp27-cp27m-manylinux1_i686.whl (35.7 kB) File type Wheel Python version cp27 Upload date Hashes View
Filename, size zopfli-0.1.7-cp27-cp27m-manylinux1_x86_64.whl (41.0 kB) File type Wheel Python version cp27 Upload date Hashes View
Filename, size zopfli-0.1.7-cp27-cp27mu-manylinux1_i686.whl (35.7 kB) File type Wheel Python version cp27 Upload date Hashes View
Filename, size zopfli-0.1.7-cp27-cp27mu-manylinux1_x86_64.whl (41.0 kB) File type Wheel Python version cp27 Upload date Hashes View
Filename, size zopfli-0.1.7-cp27-cp27m-win32.whl (28.8 kB) File type Wheel Python version cp27 Upload date Hashes View
Filename, size zopfli-0.1.7-cp27-cp27m-win_amd64.whl (33.9 kB) File type Wheel Python version cp27 Upload date Hashes View
Filename, size zopfli-0.1.7-cp35-cp35m-macosx_10_6_intel.whl (72.0 kB) File type Wheel Python version cp35 Upload date Hashes View
Filename, size zopfli-0.1.7-cp35-cp35m-manylinux1_i686.whl (36.0 kB) File type Wheel Python version cp35 Upload date Hashes View
Filename, size zopfli-0.1.7-cp35-cp35m-manylinux1_x86_64.whl (41.9 kB) File type Wheel Python version cp35 Upload date Hashes View
Filename, size zopfli-0.1.7-cp35-cp35m-win32.whl (33.2 kB) File type Wheel Python version cp35 Upload date Hashes View
Filename, size zopfli-0.1.7-cp35-cp35m-win_amd64.whl (39.1 kB) File type Wheel Python version cp35 Upload date Hashes View
Filename, size zopfli-0.1.7-cp36-cp36m-macosx_10_6_intel.whl (72.0 kB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size zopfli-0.1.7-cp36-cp36m-manylinux1_i686.whl (36.0 kB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size zopfli-0.1.7-cp36-cp36m-manylinux1_x86_64.whl (41.9 kB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size zopfli-0.1.7-cp36-cp36m-win32.whl (33.1 kB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size zopfli-0.1.7-cp36-cp36m-win_amd64.whl (39.1 kB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size zopfli-0.1.7-cp37-cp37m-macosx_10_6_intel.whl (70.7 kB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size zopfli-0.1.7-cp37-cp37m-manylinux1_i686.whl (36.0 kB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size zopfli-0.1.7-cp37-cp37m-manylinux1_x86_64.whl (41.9 kB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size zopfli-0.1.7-cp37-cp37m-win32.whl (33.2 kB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size zopfli-0.1.7-cp37-cp37m-win_amd64.whl (39.1 kB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size zopfli-0.1.7-cp38-cp38-macosx_10_9_x86_64.whl (38.9 kB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size zopfli-0.1.7-cp38-cp38-manylinux1_i686.whl (36.0 kB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size zopfli-0.1.7-cp38-cp38-manylinux1_x86_64.whl (41.9 kB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size zopfli-0.1.7-cp38-cp38-win32.whl (33.2 kB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size zopfli-0.1.7-cp38-cp38-win_amd64.whl (39.2 kB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size zopfli-0.1.7.zip (75.7 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page