Skip to main content

No project description provided

Project description

pillow-jpegxl-plugin

Pillow plugin for JPEG-XL, using Rust for bindings.

Features

  • JPEG-XL Plugin for Pillow
  • Encoder/Decoder to work with JPEG-XL using safe wrapper
  • Support EXIF metadata encoding

Install via PIP

pip install pillow-jxl-plugin

Build from source

Make sure Rust and maturin installed, then run:

git clone https://github.com/Isotr0py/pillow-jpegxl-plugin
cd pillow-jpegxl-plugin

maturin build --release --features vendored

If you have libjxl installed and want to use dynamic link, run:

maturin build --release --features dynamic

Plugin Usage

Use import pillow_jxl to register the plugin in your code.

Example:

import pillow_jxl
from PIL import Image

# Lossless encode a png image
with Image.open("example.png") as img:
    img.save("example.jxl",lossless=True)

# encode image with JPEG-Style quality
with Image.open("example.png") as img:
    img.save("example.jxl", quality=98)

# Lossless construct from a jpeg image
with Image.open("example.jpg") as img:
    img.save("example.jxl",lossless=True)

# Decode jxl image
with Image.open("example.jxl") as img:
    display(img)

Wheels status

Wheels Windows 64-bit MacOS manylinux
CPython3.8
CPython3.9
CPython3.10
CPython3.11
CPython3.12
CPython3.13
PyPy3.8
PyPy3.9
PyPy3.10

Credits

Project details


Download files

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

Source Distribution

pillow_jxl_plugin-1.2.4.tar.gz (240.9 kB view hashes)

Uploaded Source

Built Distributions

pillow_jxl_plugin-1.2.4-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl (3.4 MB view hashes)

Uploaded PyPy manylinux: glibc 2.28+ x86-64

pillow_jxl_plugin-1.2.4-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl (3.4 MB view hashes)

Uploaded PyPy manylinux: glibc 2.28+ x86-64

pillow_jxl_plugin-1.2.4-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl (3.4 MB view hashes)

Uploaded PyPy manylinux: glibc 2.28+ x86-64

pillow_jxl_plugin-1.2.4-cp312-none-win_amd64.whl (5.0 MB view hashes)

Uploaded CPython 3.12 Windows x86-64

pillow_jxl_plugin-1.2.4-cp312-cp312-manylinux_2_28_x86_64.whl (3.4 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.28+ x86-64

pillow_jxl_plugin-1.2.4-cp312-cp312-macosx_12_0_x86_64.whl (262.1 kB view hashes)

Uploaded CPython 3.12 macOS 12.0+ x86-64

pillow_jxl_plugin-1.2.4-cp312-cp312-macosx_12_0_arm64.whl (259.3 kB view hashes)

Uploaded CPython 3.12 macOS 12.0+ ARM64

pillow_jxl_plugin-1.2.4-cp311-none-win_amd64.whl (5.0 MB view hashes)

Uploaded CPython 3.11 Windows x86-64

pillow_jxl_plugin-1.2.4-cp311-cp311-manylinux_2_28_x86_64.whl (3.4 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

pillow_jxl_plugin-1.2.4-cp311-cp311-macosx_12_0_x86_64.whl (262.6 kB view hashes)

Uploaded CPython 3.11 macOS 12.0+ x86-64

pillow_jxl_plugin-1.2.4-cp311-cp311-macosx_12_0_arm64.whl (259.8 kB view hashes)

Uploaded CPython 3.11 macOS 12.0+ ARM64

pillow_jxl_plugin-1.2.4-cp310-none-win_amd64.whl (5.0 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

pillow_jxl_plugin-1.2.4-cp310-cp310-manylinux_2_28_x86_64.whl (3.4 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

pillow_jxl_plugin-1.2.4-cp39-none-win_amd64.whl (5.0 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

pillow_jxl_plugin-1.2.4-cp39-cp39-manylinux_2_28_x86_64.whl (3.4 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

pillow_jxl_plugin-1.2.4-cp38-none-win_amd64.whl (5.0 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

pillow_jxl_plugin-1.2.4-cp38-cp38-manylinux_2_28_x86_64.whl (3.4 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page