PyGuetzli is a Python binding for Google’s Guetzli library.
Description of Guetzli from official’s repo:
Guetzli is a JPEG encoder that aims for excellent compression density at high visual quality. Guetzli-generated images are typically 20-30% smaller than images of equivalent quality generated by libjpeg. Guetzli generates only sequential (nonprogressive) JPEGs due to faster decompression speeds they offer.
More topics at https://wanadev.github.io/pyguetzli/
import pyguetzli
input_jpeg = open("./test/image.jpg", "rb").read()
optimized_jpeg = pyguetzli.process_jpeg_bytes(input_jpeg)
output = open("./optimized.jpg", "wb")
output.write(optimized_jpeg)
- [NEXT] (changes on
master
but not released yet):- Nothing yet ;)
- v1.0.15:
- Added Python 3.12 support (@flozz)
- Removed Python 3.7 support (@flozz)
- v1.0.14:
- Guetzli: Apply a better patch to fix the crash caused by a bad access to a vector revealed when compiled with "-D_GLIBCXX_ASSERTIONS" (David Odin)
- v1.0.13:
- Added Python 3.11 support
- v1.0.12:
- Guetzli: Fixed a crash caused by a bad access to a vector revealed when compiled with "-D_GLIBCXX_ASSERTIONS" (David Odin)
- v1.0.11:
arm64
anduniversal2
wheels for macOSx86
andx68_64
wheels for musl-based Linux distro (Alpine,...)win32
wheels for Windows (x86_64
were already available)
- v1.0.10: Python 3.10 support and wheels
- v1.0.9: Provides prebuilt wheel packages
- v1.0.8: Updates Guetzli and python dependencies
- v1.0.7: Fixes unicode issue when installing pyguetzli (#4)
- v1.0.6: Fixes a typo in compilator options on unix
- v1.0.5: Adds optimization flags when compiling Guetzli
- v1.0.4: MS Windows support
- v1.0.3: Updates Guetzli library
- v1.0.2: PIL Images: fixes crash with non RGB/RGBA images (grayscale, indexed,…)
- v1.0.1: Adds
--std=c++11
flag when building Guetzli - v1.0.0:
- New and simpler API
- Built-in function to deal with PIL / Pillow Images
- Documentation (Sphinx)
- Guetzli update
- v0.9.0: Initial release