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 master but not released yet):
-
v1.0.18:
- misc: Added Python 3.14 support (@flozz)
- misc!: Removed Python 3.9 support (@flozz)
-
v1.0.17:
- misc(deps): Only pin setuptools version on required platforms (@flozz)
-
v1.0.16:
- misc: Added Python 3.13 support (@flozz)
- misc!: Removed Python 3.8 support (@flozz)
-
v1.0.15:
- misc: Added Python 3.12 support (@flozz)
- misc!: 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 and universal2 wheels for macOS
x86 and x68_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
.. |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