Pillow plugin for JPEG-XL, using Rust for bindings.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Close
Hashes for pillow_jxl_plugin-1.2.7-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fcf93107a4467a5facad56a1562bc5092be0fc67b9b01a64f1028d219a6960c |
|
MD5 | 7ea127ea516b0ff714c4e25edd7c1db0 |
|
BLAKE2b-256 | dbf384734412a3e9a96856819433d2d3852bf3697ba70a0346482ae171b37d12 |
Close
Hashes for pillow_jxl_plugin-1.2.7-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1a07e2350cadc4821d674013db86cb983a40cd0e3d7df6d9f3310deff936d2d |
|
MD5 | 8008e170f96ff31e5361ccb2814f3f55 |
|
BLAKE2b-256 | 7b28d1f1285beb1e63240229bea8d7eed2cb03b96d217b35c29de6e4e3b0299c |
Close
Hashes for pillow_jxl_plugin-1.2.7-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b337ba988f6d147dc9a977edd07dede762710ca9071a8f65d14781565ed852da |
|
MD5 | a74f7063a5dfd1ad1266f6ce06abe48d |
|
BLAKE2b-256 | e8aa30ed6d3536b1bf41ba9b91185d38deb4ce5707f308aa54d2879346ba85cb |
Close
Hashes for pillow_jxl_plugin-1.2.7-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d361678e122d06397f1cf98f1fcdd1410b0b3dbcb06e003b15eb5a5cfc42ed17 |
|
MD5 | 46c711aa284389c57366c8fc6177a0ad |
|
BLAKE2b-256 | 5ac8b5c04f587d198afd10e055bbb39f950f46896679cd393e1164dc1a133238 |
Close
Hashes for pillow_jxl_plugin-1.2.7-cp312-cp312-macosx_12_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 978415091fef103fc37dc7c571207a0cf093fa93b3f91675cb7dbdca87dd954b |
|
MD5 | 554a2d0c307acc5f5db71d33c15f5c9f |
|
BLAKE2b-256 | 9ec65e76c40a08d77ee90315f594ff344a11835b177bb6efe537a6f7683361f7 |
Close
Hashes for pillow_jxl_plugin-1.2.7-cp312-cp312-macosx_12_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 804e193b21a5de610a585844016d5dcd460e6501b23b480e19927cfafe335307 |
|
MD5 | 6adef4850628871dee78a0e7545bbc76 |
|
BLAKE2b-256 | f7beebd526087b59b821c284ae1c59873d37d892b6d5b2d4b18882d9aaaae8ec |
Close
Hashes for pillow_jxl_plugin-1.2.7-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 315e0a4ba95a8a111bbeed35df70dcd061d581d4b379c1c1d2fd801aeb7e2117 |
|
MD5 | 3c5cd164f6295872d9e875f3c7fb7fb1 |
|
BLAKE2b-256 | 52ff7fadfb4d7ff4e8ed7645009a77643de580446b58c48b4220a75468f6bc84 |
Close
Hashes for pillow_jxl_plugin-1.2.7-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f2b9d7d645743808c483228845c7f24298112bf6b6b2c64c6766026341354c4 |
|
MD5 | dcc739782ba93a2005371c4e620e0363 |
|
BLAKE2b-256 | cf5e40f47cb0b234c9383b637b4ef8c1028b776cf4f4c7110cb594a0b20c74b5 |
Close
Hashes for pillow_jxl_plugin-1.2.7-cp311-cp311-macosx_12_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c19eedd64382db540129be8340c7904ba14c0fb85deba1ae8269d28adf29dbd7 |
|
MD5 | 0821d5dc710750e6fbd8795cfc5f1302 |
|
BLAKE2b-256 | 1087345489caf9d37f72c8478c218609cab9234ac3b6c0f6f67b45ee53d9e335 |
Close
Hashes for pillow_jxl_plugin-1.2.7-cp311-cp311-macosx_12_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9d58ad3559c729346a4e34ef40acd4713c4a7f2457d267e9d8a57b8e5cebf49 |
|
MD5 | 4bb33bfd1f1dea2b6115859dd3ad9be1 |
|
BLAKE2b-256 | 204ad7dfae4958ad7fbb94bc0c5b11aad100ed423d20dae0b00b82d6424f22df |
Close
Hashes for pillow_jxl_plugin-1.2.7-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8dd985ed22e0760914516f709d3ce922536bbf0f1ccb2e23347747b88f469594 |
|
MD5 | da872f2d81e56cc301ed633055ddf2ca |
|
BLAKE2b-256 | 0a6fd0d6a3b57819e43e4ff8a3cd934de77d7d6c178596bd8e26119a50be3ec0 |
Close
Hashes for pillow_jxl_plugin-1.2.7-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1eb0519b42332bb1e60206cf7674d6e79005c1f995ce8cfb6ea588a54f30280 |
|
MD5 | 8762600b59ad982b448a1c296db8afdd |
|
BLAKE2b-256 | fb247372d247087468f3aefc9375b605ae4d557767d248426772b5b2f73236b2 |
Close
Hashes for pillow_jxl_plugin-1.2.7-cp310-cp310-macosx_12_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 705e4f6d439b2c379dd6287abe772e4754b07ea178cb306ee38d37f0b7a9cf2c |
|
MD5 | b986041cf280fb05e32ed1fa3df6c8ef |
|
BLAKE2b-256 | bec4060c3e1ef3dfa875051d0db07484e66a97d6cecb278c38f713f8b14ae976 |
Close
Hashes for pillow_jxl_plugin-1.2.7-cp310-cp310-macosx_12_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0945053bf7730995f98f1d9758d53a8f90f0431214dfaeac4321d9332726029e |
|
MD5 | 5d3a6ab192591429912aba6a5f00540d |
|
BLAKE2b-256 | d99b869a5c71ca4d95c5e2a4eaa46413323b718deb227aae4075531a852d8ffa |
Close
Hashes for pillow_jxl_plugin-1.2.7-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 428f43ec5e50e5a4bf72b1eb417d7f3c01dc84eb7fa97c7a94728a4f33fc83b0 |
|
MD5 | 2a66fcb2af262d1502057dd18f704e41 |
|
BLAKE2b-256 | 91f681f6cd28abe7ddf55266bafb499ab5f4147fdcef2d121f68d3ce68ef04c7 |
Close
Hashes for pillow_jxl_plugin-1.2.7-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d593d542e6d4cc29189afa6a04e51301993e8fb59c25e4bbcc9d97011af267d9 |
|
MD5 | f19a6250159f84f8826b0341d5b22c65 |
|
BLAKE2b-256 | 0d286ea3426a9b55c46e814b00a133d7c5a7a1cde51528d3dd72bfdb5aa1e1d1 |
Close
Hashes for pillow_jxl_plugin-1.2.7-cp39-cp39-macosx_12_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fc5688d487ed59a0b46fdcd034677146e84726077ba08053e824b000b834524 |
|
MD5 | a3089b3dde5ecbfe9d41a2f7e1eb1a58 |
|
BLAKE2b-256 | 20f6ce21e3ae65d1e8e5c646243e3574d1f95e2d3ba3a1adf9654ced3b4382c4 |
Close
Hashes for pillow_jxl_plugin-1.2.7-cp39-cp39-macosx_12_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb14f569cc2a28d46a6d9573c12e11d874dd1c02e9167e3c06ac3019aea1c66e |
|
MD5 | 495e2a657fca94e785414041cd4ac7bd |
|
BLAKE2b-256 | cfb57a67b59d446fa162cfc7504e04145d6457aad837447faff8be0758e83c41 |
Close
Hashes for pillow_jxl_plugin-1.2.7-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ca6007f04602e911a9a9cd1714ee3f36671168bf1ca17778a9783cad4f184fa |
|
MD5 | 717ae7a37167d32686199a4fc6c93afc |
|
BLAKE2b-256 | 12b8a401c7a4fa7473158c50af9f17dcf4aba1d213eea3dc8ad9cd29229fbbd1 |
Close
Hashes for pillow_jxl_plugin-1.2.7-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb3e64f729355dd7ae42c4873bc743692ccde1e8c612cd60e88ec004482be891 |
|
MD5 | 016213f76f184c3f34589be8199b3207 |
|
BLAKE2b-256 | d942d5b6dc3b70fa6aedbeeee995dbfab12f85ee24a3c1754a8b8667a7007449 |