pyguetzli
pyguetzli copied to clipboard
Python bindings for Google's Guetzli, a JPEG encoder that optimises JPEG compression
PyGuetzli
|Github| |Discord| |PYPI Version| |Build Status| |License|
PyGuetzli is a Python binding for Google’s
Guetzli <https://github.com/google/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.
Documentation
Installation <https://wanadev.github.io/pyguetzli/install.html>_Guetzli Python Module <https://wanadev.github.io/pyguetzli/guetzli.html>_Using with PIL / Pillow images <https://wanadev.github.io/pyguetzli/pil_image.html>_Contributing / Reporting a bug <https://wanadev.github.io/pyguetzli/contributing.html>_
More topics at https://wanadev.github.io/pyguetzli/
Usage Example
.. code-block:: python
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)
Changelog
-
[NEXT] (changes on
masterbut 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:
arm64anduniversal2wheels for macOSx86andx68_64wheels for musl-based Linux distro (Alpine,...)win32wheels for Windows (x86_64were 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++11flag 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
.. |Github| image:: https://img.shields.io/github/stars/wanadev/pyguetzli?label=Github&logo=github :target: https://github.com/wanadev/pyguetzli .. |Discord| image:: https://img.shields.io/badge/chat-Discord-8c9eff?logo=discord&logoColor=ffffff :target: https://discord.gg/BmUkEdMuFp .. |PYPI Version| image:: https://img.shields.io/pypi/v/pyguetzli.svg :target: https://pypi.python.org/pypi/pyguetzli .. |Build Status| image:: https://github.com/wanadev/pyguetzli/actions/workflows/python-ci.yml/badge.svg :target: https://github.com/wanadev/pyguetzli/actions .. |License| image:: https://img.shields.io/pypi/l/pyguetzli.svg :target: https://github.com/wanadev/pyguetzli/blob/master/LICENSE