A JPEG-LS plugin for the Pillow imaging library
Project description
JPEG-LS plugin for Python Pillow
A plugin for the Python Pillow imaging library for the JPEG-LS codec, based on the Charls JPEG-LS implemetation. Python bindings implemented using pybind11.
Available on the Python Package Index
Usage
pip install pillow-jpls
With Pillow
import pillow_jpls
from PIL import Image
from io import BytesIO
img = Image.open("image.jls")
img.save("image_copy.jls)
# Saving to a buffer
buffer = BytesIO()
img.save(buffer, "JPEG-LS")
Options
The encoder supports the following options. See the specification for details, and the tests for example usage.
near_lossless
:0
is lossless - the default.interleave
: one ofnone
,line
orsample
bits_per_component
: override the number of bits encoded per component, otherwise taken from the image formatmaxval
: override the maximum value of any component, otherwise taken frombits_per_component
t1
t2
t3
reset
spiff
: Use a SPIFF image header, generated by default. UseNone
to just use a standard JPEG header.
Build
The build is driven by PEP 517 and Scikit Build. cibuildwheel is used to generate packages using Github Actions, and C++ dependencies are satisfied by conan.
pip install pep517
python -m pep517.build --binary .
Tests
A suite of tests covering the applicable conformance tests from the specification is provided. You will need git-lfs to clone the data.
pip install pytest .
pytest -v test
Limitations
16 bit multichannel images are not supported, as these are not supported in Pillow. 16bit greyscale images are supported, however.
References
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
Hashes for pillow_jpls-1.1.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7675445aaf6f90fcecbe8ab724b6809f33165373bd9256162f06762e29fcb76 |
|
MD5 | 78854382ccbd08afbeb6433304360092 |
|
BLAKE2b-256 | 5bff80071d0b181ef10e26a7494a6ca332b16164a4b7c77897bfd9a231456919 |
Hashes for pillow_jpls-1.1.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb1a43da677cc186ef05bc41f603f4216a7a9b7e2a9b7a8b9a4d5620c323a820 |
|
MD5 | c8af5add5c86df13dcd68759c9c2e988 |
|
BLAKE2b-256 | 444187f15285792351556d55534eab9cacdf2d47c03c7f53969b55fe184b6389 |
Hashes for pillow_jpls-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af808dabc2ea6ff0273d676b385be74145a5d9b1248deacef342f992b36abc8b |
|
MD5 | 82fac7748ab9a89cb5d4374b5c5fd9c0 |
|
BLAKE2b-256 | a5226846594fc702c42d3b4b6f6367f45b7512293a6eabf9e45cb1ec202fb058 |
Hashes for pillow_jpls-1.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8bddb98471f3d9cfe875fc040e140e1b5e4627a05f01f794676fafc8bc25afa9 |
|
MD5 | 39ccab3f1a2232be3f2f75be00b88047 |
|
BLAKE2b-256 | d646462f984c822e06c1690e32d58620817d23679855e2eb88dd6923f524f31f |
Hashes for pillow_jpls-1.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ae7a332f478d46b3f088936435e8bd40cd495f6a0a44104c1c96e252caa4fd8 |
|
MD5 | 0b991060a21f6b57c77be3b87c1376e4 |
|
BLAKE2b-256 | 378edbb867e306a270a507239327c30a0fae8a72ba797ee55ca64ef667387cad |
Hashes for pillow_jpls-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc1623b9398349fe03d31ff7d4caa10c9ae0e6fae18942535a86ca90be201f58 |
|
MD5 | ccc41eff0ae56b4ebb8d1eba1869977d |
|
BLAKE2b-256 | 2839b7bbab2a11809b88a51555de7830ba8fe64bde6741deb2383623e65b9d1d |
Hashes for pillow_jpls-1.1.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 586ec860b6de9e21d12db57fd9c4e814a85c22c2b40cb2d2ac1f1a473d269e49 |
|
MD5 | 5a49d9b67093239737077fd04991fd58 |
|
BLAKE2b-256 | 159073e193097e481c9918c006f266cee1b37d64f6621cace460d640987f2b47 |
Hashes for pillow_jpls-1.1.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b16d2febad7353933161e281f225ac628fdc1f1ce2e5768549be689a05087e58 |
|
MD5 | 01dcbc4e2e0598413689b3c3a34fae27 |
|
BLAKE2b-256 | 384fc69a43e2d9635ca0e6e657ad54e24aadfc563da24b5400b35b3a4674fe43 |
Hashes for pillow_jpls-1.1.0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 096baa84869f2d1e81bd7d1efd9961a76faf4358d416b725b2357c25f23a122f |
|
MD5 | d9f2cb784d7ede3b5fe3743dc0fbada6 |
|
BLAKE2b-256 | e8347124271108a5b696335f699bf768e6aa661b7f63e0481add7a297e2a863e |
Hashes for pillow_jpls-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75c6fbf2a8257da6766b9ba6a9342019970847331b252ce979de1875cbc08d11 |
|
MD5 | be781e4f25038054fe0d0e128447a9fa |
|
BLAKE2b-256 | f88ea84736bc7c3e70bcc4031cfa791f8cbfe8f162066a3195274ef2ccac00a0 |
Hashes for pillow_jpls-1.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f58fa568f5a50f8b4bff08fe9aad7adba621aa9421b6fd0fcbaf01abe4db3ae |
|
MD5 | 6c1af183cac48655ba1e9cd662f9fc62 |
|
BLAKE2b-256 | 447c548538755635842f17e81607e495eecfdfa0341d16e87a04c20487089113 |
Hashes for pillow_jpls-1.1.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1a5f18fa489913f1da2f965d159717d8b4eb427138c7fd2ce936e3f76459eca |
|
MD5 | 267f7c54fb32ce64eba08eebbcc3435b |
|
BLAKE2b-256 | 4a028cc7de3887f220949202d30821b1841d9c6053d6e818e4c94bacd772c98a |
Hashes for pillow_jpls-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6067357a904c7750259ae7cfd5e0f4ad3c1e05c34c1cb3d11dbdc69ffa5279b0 |
|
MD5 | 28a8b35c45fed2fd2dc02127f9562001 |
|
BLAKE2b-256 | b90ace9d4202a3182569fbcf562139606b87e9e4650a9f293a8ff514839ef129 |
Hashes for pillow_jpls-1.1.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5cbfd73906e01f0837f26cdd81702565f9c195a6240bab4b9a087cad77d916d5 |
|
MD5 | eb7c596244d469644e7b745a59a6712e |
|
BLAKE2b-256 | 0556f9beec2cfe49c889ea0a95a80d71e9b32e76b4c2b3c1b4be97ace3f21d0a |
Hashes for pillow_jpls-1.1.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d305ec48da8159fe06ec6238240d2f194b167fbaf47a400f080d9bd95f6de597 |
|
MD5 | b0872fde7b4d66ffb7917797d0e5f3bd |
|
BLAKE2b-256 | 53e1aac1373a6a895da1a7fbc53bd25af08b138edfd5c973093311f872ab8552 |
Hashes for pillow_jpls-1.1.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3ba27bd088a3987cddf32246dc474b402fd0ed70066442651602525249cafb0 |
|
MD5 | 8209f7d869088974afa4d0ac1da15922 |
|
BLAKE2b-256 | a367bb98d07ae730446c51301c62b8de8a23fda78a0381230f076981ed0b32ef |
Hashes for pillow_jpls-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9c0d7e2deb02ff7d4737f91a3c8aa91309ef9a1feb743689c567ec2e992ca36 |
|
MD5 | dc632308f694104f49ca38778e0c04b2 |
|
BLAKE2b-256 | 5fa07c6a416c4d4d4a2a09aa8086af8ecb2b97631195ccdfe6baf77a846f82cf |
Hashes for pillow_jpls-1.1.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f65670f5e15f5a1a3c75e94d7fcb7be0e0f4ecadccd8b8f04f29b0d2af37e32 |
|
MD5 | a9e984315a212f22f8445ecaf1785c9e |
|
BLAKE2b-256 | 24603b1f3464f959311b680e7c600cb0ab24422c216a614a4aa6fd66388dc975 |
Hashes for pillow_jpls-1.1.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f0f7ee86f19cdef82754f536732476bb7e21cb140bafe793f6f44af52fc008e |
|
MD5 | b522c8feaf11e75e5f85c52bf1efaae5 |
|
BLAKE2b-256 | d272cffb549804ce90f16f0369f4c4c3abbbdd9ecb159b7328bb63259dea4d68 |
Hashes for pillow_jpls-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a63a3131f9648d97b73423adfed7d48f937375e6255b358e112c95a41404c66c |
|
MD5 | 0e7792a6859c7914eb786a9b4c8466db |
|
BLAKE2b-256 | 2dd1a0a5b76912d96f3b91cdcd9bcf0c0076e9023840170a23aacb10d77bdcdb |
Hashes for pillow_jpls-1.1.0-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56aeeb3c0ff5bc488847f9a77fa8f3c548ada6d62d6b5f1a6fff49cacf00b512 |
|
MD5 | e9baf4279f0bc75289e9436ae72f50c0 |
|
BLAKE2b-256 | 6ed8f5fdfc66a28cd5e08d9899edcf4305a7fd38a7cbfe38fb2977f5fa53843b |
Hashes for pillow_jpls-1.1.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa8ae6c94e6a94d6c3bf73de63e333fa9b8617c1b4ad6cc73d1d193d738bd751 |
|
MD5 | 9b16579f2bf11655ad5c51a8288e3865 |
|
BLAKE2b-256 | 570a31bcd0e5ca5aed54218a7a714853ec396f33e63c2702ef0b164ba0d03857 |
Hashes for pillow_jpls-1.1.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99531ec655ec7ff60d6344cf27b4e38e3dbc3261e5736641b04d0722e4ff954d |
|
MD5 | cfaed322f8896927f8e3e2a0c7fe2758 |
|
BLAKE2b-256 | 248ac0b9dc69ae52eade3d5d93144bc1a173dbd319bdf831513a7e63e9a8d661 |
Hashes for pillow_jpls-1.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4aa3006122c3c838c14f4a96625f555f29730b231d3d8e97c245a442a86e7dec |
|
MD5 | 5cc68ace1338bffd0656e49176afa8d5 |
|
BLAKE2b-256 | ebc6ea88a07017c02aa7c288b1f4b28382f0297f081843424e4dfdb11619d764 |
Hashes for pillow_jpls-1.1.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c672c3f5b43205c6e3ca83f309811a3889356af90fe29e0ae382316fd0d1c66 |
|
MD5 | 065864ee2d38b4c9039764b2079ba1dc |
|
BLAKE2b-256 | 039f32cda0839e93b856740391c3b27b38f560c1438b52c1fa073ab1fd77d8d0 |
Hashes for pillow_jpls-1.1.0-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15689ddb8766bf47a832ba916d882c6b123b2d41e68b8ef36cb141471bcc0d02 |
|
MD5 | 686306e94315a8e2606c3e01057ef42b |
|
BLAKE2b-256 | a17d51d059003e760f6d37831dc3f489c94a8c15d0efcad558e713f073a455db |
Hashes for pillow_jpls-1.1.0-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47ffc84ca20108642fc3a9032ea10d404ecc14c594096333a768f3e363af6923 |
|
MD5 | 4192bd6cc9e5fbcb5186f5ee187235b5 |
|
BLAKE2b-256 | 4de9ad631bf7c1b92f27850fffed371e58811c74ddf238aadf508bff31fd5687 |
Hashes for pillow_jpls-1.1.0-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a173ad0ae874553a2e59da85e99570364640df62048ab4b7a739826b6f2d3cd |
|
MD5 | ca0ce8e37548d49700ea091f01418d7b |
|
BLAKE2b-256 | cb61b146357ac9d9567fad7c3da5c9815a32a4c9558819f85e44d42002e1795a |
Hashes for pillow_jpls-1.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a806ebc147f952894edb6d9b0e6d9367299a988de8fd6d7a175b1719953ab35 |
|
MD5 | d31ca870c2b7c2a3a0739e49454c80c8 |
|
BLAKE2b-256 | da97b8e38f50dd0a1609f25a460f12e8334ce9583c282ca7178c809b44c4c536 |
Hashes for pillow_jpls-1.1.0-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 038586c18849b166adac07e48ce264dd25348e94a8e1b0e1409536a00ca252c3 |
|
MD5 | e03a27dd23cad7a6ac17897fba6684b4 |
|
BLAKE2b-256 | 7fb204d967c227fefee526b705a3878644f6552507d2d3d61a6cadc80d051ecc |
Hashes for pillow_jpls-1.1.0-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4e1c388844dcebf2a05935b4b6c4c83dbb0ee9a9092db73d80e8ab2b836accc |
|
MD5 | 20484806590b1ce5d16503f79a2125bb |
|
BLAKE2b-256 | 2d023f88e379ec95805dcec4ecfa12740f777934d288bbee40130fc9a19d1cdd |