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.2.0-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f70de9adc3e27bfdc757637c81f30aacbaa7eaf786b879e1c90192922600900d |
|
MD5 | a726eefe5b85369f2d7c055830734eeb |
|
BLAKE2b-256 | ea198e7c78dd69f3203068a96596f03bc51c83282c4fd166f06db15b57596dba |
Hashes for pillow_jpls-1.2.0-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da95a67f1be200c85d24fba79383542a3d9207276260fed5e459d7120d0c9cf3 |
|
MD5 | 5d764dd84e048102b9a8e7defcfb8ba1 |
|
BLAKE2b-256 | 5203f363aa195640b3d893bcaa43763b091278767c1af88db1e7a4262776657d |
Hashes for pillow_jpls-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce938087e4cfa4ee18b657837c75d3b484a96b789b4dbabd13b078936b258440 |
|
MD5 | eb63d37f2912540f8eea9558ca1430ec |
|
BLAKE2b-256 | 72f3725fd022d58e95374c0c6e8e3d183126938ffec580583fa2bf24a453191d |
Hashes for pillow_jpls-1.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 783064b5815dae3701d6454dff8c65858e97bb9946db701c1ea42453b36829c5 |
|
MD5 | 4f51b3772c97f69184eb499c9f7b1cc4 |
|
BLAKE2b-256 | e924aeecadabdcb631868e9a29a17014a57bbbb7ee02e8734033201866d6cc94 |
Hashes for pillow_jpls-1.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9aa8525e8fd53f7e5fb3fe59ebcc3e92bc582eb65babf1b96b6dc3e8fcae8757 |
|
MD5 | d6791e81e3f57db2d3fc847d2f9379d2 |
|
BLAKE2b-256 | f74e998a03d1ee760b2f95c4d53c41a065d4671d2ec6b73510f8075816d70f1d |
Hashes for pillow_jpls-1.2.0-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5dc36edb87ce80726f06a94118958373a2304ef0370607f513211b2b9997b4cc |
|
MD5 | f83b5b2489b9a420ae8960f8bffe28e9 |
|
BLAKE2b-256 | 8f6ad29e5d5a558481d0590e942b91920f3b4192c098c0cffea1eee132375f0a |
Hashes for pillow_jpls-1.2.0-cp311-cp311-macosx_10_15_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad3a105c7aa8518d55d110dda7f5d65aa3fc987e2311aa9e1bca19f510428ee3 |
|
MD5 | 6ed7780e6ae5b7bc1df36e5d3e3189e2 |
|
BLAKE2b-256 | 50ab08481c4accfecec85e89affc39af9425cc32ce63154aae2e43de7736c0e9 |
Hashes for pillow_jpls-1.2.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 966c90c2653ee425dbd52f9b4377cbce7fa0e6c9747af14b715c41c7a0a4e188 |
|
MD5 | b59a8630a2c4de90f42f49b52b9cc03e |
|
BLAKE2b-256 | b6bda0ec74a4dfbd1e9daa9d170e0350fb80a49b28519f61cab7b56a9d82c290 |
Hashes for pillow_jpls-1.2.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ae956ca935c4c9f818376a43d11bff1f3c9a2905f52b79cbb12b2e6628ad863 |
|
MD5 | c3f393a907342ac4c88fd36f09058d39 |
|
BLAKE2b-256 | 50cf64df5ab80cbad0705e6171afde05aa4e82d8833325098744aa3e78533a1e |
Hashes for pillow_jpls-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d097919801afeb0a236f22036cbbae0fdf698ff97e935040844123a7a3ff4b29 |
|
MD5 | 63738a33b85485874759052621cddbc4 |
|
BLAKE2b-256 | c88fe031b735a680f290aa00fec0720834f7b4de66ec339096be1913759b9b4a |
Hashes for pillow_jpls-1.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c3b4fc262df2d914c2852c09cca389aedc13a12dc54ed1c24ae578b7832bb2f |
|
MD5 | cc08bbf7fbe4796754b46b2aea4ce346 |
|
BLAKE2b-256 | 1cbd6d5d3d8183cab2aa899a39b541739e90d2def6b63bc4179ef1d67c868560 |
Hashes for pillow_jpls-1.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ccb19ddc49ec0772bad8cbe217835a2a39674cce6508ef6d65a1e3d6565815a0 |
|
MD5 | 659f0d0cbd9f1a76d6a18a135ef9b251 |
|
BLAKE2b-256 | 3d46760bbf8eb0ec9d9dacd46a89da00d36b89f5d2b2bc99a8cfa9d2e9f82269 |
Hashes for pillow_jpls-1.2.0-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aecf53f4fe1a7aaf08a8839340e2c4ae115b5980eee733c4aee142a3aa447520 |
|
MD5 | 4aff5d1c58e7ca538b7255bc5f7012e5 |
|
BLAKE2b-256 | 94b17ced9bc68cccfaf9198672659c44c521a8b0006584365d3180325e604445 |
Hashes for pillow_jpls-1.2.0-cp310-cp310-macosx_10_15_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3a619e1934d1923d82fc770f897454f8628844bc777b4cb9104a2bfa56d1c50 |
|
MD5 | 1e5a1292e460298b8aaef881d107ecf7 |
|
BLAKE2b-256 | 35132b597d88effc36c909df12cde443cd4a727a824464e0e83f6b0c10c438aa |
Hashes for pillow_jpls-1.2.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7caae70057443d236ec4f7a50847c6b35e5080b3658427726b5e98eb0175a1fa |
|
MD5 | 643b4f1ae7c20e6f918290c4688fe80a |
|
BLAKE2b-256 | 5e8ca240af466207fbc72da0452b19077810f8986c5d69b6832b9c7c5c415378 |
Hashes for pillow_jpls-1.2.0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7204dfe76a66983a41e348ad7a41e253cb526bb871a52930d06b44da40bf72de |
|
MD5 | 64c664fad71a73c445b0ddb2bbed6db0 |
|
BLAKE2b-256 | e5655dc6c31fb160a43d2a7a5758e0a8a9ecf8f13f64cbfca96daa9453c0477d |
Hashes for pillow_jpls-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b23168c5de51f09c57f511b57cf76087955b735967d22d60e59fb567180f326 |
|
MD5 | 65de0566b07f1d068970ff9fdb25c93c |
|
BLAKE2b-256 | 9fa8d3b7c2aceb384d67b401973b5258e14b62f200b9a49ceab56e17eaa7c334 |
Hashes for pillow_jpls-1.2.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33c3ee8d467cb818244fc26ba1ea2907c95e1cf850d67a533419865db8f4a272 |
|
MD5 | 268c58974fd4660f559d928b83533b1d |
|
BLAKE2b-256 | 8cadce69bc3dd47a96268a29ed64e4b561483dc3b63f0fc71bc6ac17bc9b6840 |
Hashes for pillow_jpls-1.2.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c9ae685edb008006e0dacde3bf24f6383c68b244eeb9dca57fb9d37b4c31125 |
|
MD5 | 7ebc506996865af6fcb5d6e878141c1b |
|
BLAKE2b-256 | cec89474da68aabf5234059ee51107a637f8521a15246c704a50908ea395010a |
Hashes for pillow_jpls-1.2.0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed41d83d8f2318411764c238f45b66cad96a0480c023f28a23e99b59d4afa7f7 |
|
MD5 | 906374882c8c4de4481c06c277e19e99 |
|
BLAKE2b-256 | f96fbb4a4a4f6edd3bf299c75d2cecdea80e178f22f0f9ffeef368ba980de8d2 |
Hashes for pillow_jpls-1.2.0-cp39-cp39-macosx_10_15_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd321e346fd4a171c359e0d90795bc2f1e50728555784be40694cd6b8248c843 |
|
MD5 | f01cd47540da97ad6b6eca96fb32ad8e |
|
BLAKE2b-256 | 804685320143b853515dabe316dce0efb2fc69999844581ac1dcfcfbee124d5f |
Hashes for pillow_jpls-1.2.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12ab82406580c8720a26c766f0477d7bd017481ba4f69cebdb7024b84f6570a5 |
|
MD5 | 9845eb5a6586aedd7dc05e0f4f0c93b2 |
|
BLAKE2b-256 | 308f24e3a4d5c671151953f1d0be788b369f8b81ddeb43616e582f99dd4eb4cf |
Hashes for pillow_jpls-1.2.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17bc9568db6f9465f187212237bbab61d0dd599dc6036c5c3bb1ac29a7c218b2 |
|
MD5 | edb276cb4e363dd1fd088be8a420b492 |
|
BLAKE2b-256 | 82ad304e551c3694eb3b51bfc8dc94c6004e4603972db3330609fad2cd6622d0 |
Hashes for pillow_jpls-1.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b118e066a8137dc20a634b36502c0364334a47b33d81df3c3814f795f90056ce |
|
MD5 | 7f52f61cdae38ecc355816e9f948090a |
|
BLAKE2b-256 | de4d34bf38e5820d2a73fd29e824bb733343d170e79f730f7dbefc1dde05d4d6 |
Hashes for pillow_jpls-1.2.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad4768f1675a292091f1a3648840765831a2b706b443b64b47187dae62f5501a |
|
MD5 | b83c2e306a4e287bce41417e6c04e6ba |
|
BLAKE2b-256 | 8dad0f81aea51239dab1a3b451388166dba75f8638fb355cc18ef77d52f77d3c |
Hashes for pillow_jpls-1.2.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26474fe0715b647d817f6e41a5f93f4117cb00a7fcd9c0a29332b703556a2495 |
|
MD5 | a2b1f593493f112a28e3d966f8017748 |
|
BLAKE2b-256 | 0f56d44713771d331bce2edef9c3bd6589d6f23b2aeb192a9fb02e8e9bbe3a49 |
Hashes for pillow_jpls-1.2.0-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 812ab217d4e1ac98b2353d131f3ad51bda3a65dd011c9d9b11e5ad9eefa2838e |
|
MD5 | d58c82dfe4a5a36223875c61bd276d84 |
|
BLAKE2b-256 | a953c154eefbf3957bfc00c2bf2eb9dec3c4984aa22f066746ac737937f55469 |
Hashes for pillow_jpls-1.2.0-cp38-cp38-macosx_10_15_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94a5475163d5728f653fbfc0bc168e117d6e2b3c062068c677c1349ddb67e15f |
|
MD5 | 67016d11faeab27c00eb81fcc4826967 |
|
BLAKE2b-256 | 5d2d6dc09883a1b26cc0b1876e4cc6ae139f9617433f3ffdfe487bb6f3491a6c |
Hashes for pillow_jpls-1.2.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a52945adbc15b8664171ad086aed6a94ea2f68e1cb399ecbff86a7cf00d67668 |
|
MD5 | ce41aeed49e9428477cee419d067d626 |
|
BLAKE2b-256 | c789a20c6c8c31d511c332f080fdf3c452caee5e9c4e4af736891e182b11249c |
Hashes for pillow_jpls-1.2.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f0faa99deed7a72b1b26d348c6be0503f9a74dc99a826aac4a6d95a93edefa3 |
|
MD5 | fac4d4974f06e1c14dcb70d3f5badeeb |
|
BLAKE2b-256 | 32b3d71573dc56961bdca29d8fbdfb6cc0608b444764c90538b7a9ae74adb59d |
Hashes for pillow_jpls-1.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53ebbcade7c27dae1f163aee546c248557436e41dcd01e1eadd7085bb4e1b789 |
|
MD5 | 2effc0bcaed2ce8b19ad46e30c4ce372 |
|
BLAKE2b-256 | 0f242815f1d353cdc06ca4b060027eba5c6187564cdb76020594c8270d3e830f |
Hashes for pillow_jpls-1.2.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0885fb3e650c077e4b2fcd43bf08f04e704f8f8aaab9019e2b8620fe4ad35562 |
|
MD5 | 3d5b121b82f59fa97d221cb59a4bd118 |
|
BLAKE2b-256 | c8e0701d49ccc4fe93ea76b2427aeaaf7800f67dd1c8739ce762194dea3e5b1a |
Hashes for pillow_jpls-1.2.0-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c2ab026ce5c3e7c6d1537c4ecb1b63521e4976bef870d8ee00fcd97065f9cac |
|
MD5 | d822ec8a935f9e38fb60f4b64c54513d |
|
BLAKE2b-256 | 0be6b75f32a50cded5be6120f1f83b4180b2be0cd2cbad8bdd5f3bb7916c28e1 |
Hashes for pillow_jpls-1.2.0-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a44beaaa9d9c64c38522a1b98a1202c68138cd14541ee945c68ddb6003ae434 |
|
MD5 | be13a0dd84148f74492a502164941ed5 |
|
BLAKE2b-256 | b1ab6ecd55c2781ccddb7c47567d3c793c308d9f88f27ce06c9b420bd08eb2a0 |
Hashes for pillow_jpls-1.2.0-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6228a421e6f5582f2cb0659228874f0cb1242cb30740c5a1c9e1accaeeee5b96 |
|
MD5 | cc0897866270f58a6a79ffca4df2280c |
|
BLAKE2b-256 | 57e6b865b2732f9b2eff253a37637b153528438dcf7a2d97eb77af348481d026 |
Hashes for pillow_jpls-1.2.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b700669c6cdbfe361885ae6772121a91996c0cd4f1616251ec31665dbcc113e |
|
MD5 | 8293ede6c7e13f95abb27bdc45e7663e |
|
BLAKE2b-256 | 14274ebbf17d5b59f850744e4ae6088c0599e6512b3b5e94b7df4264093debea |
Hashes for pillow_jpls-1.2.0-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e85ea9f635102d924df64f6e9933a20885f423931e8b0770015099e9fe64a6e1 |
|
MD5 | f7e6c0861738dfbbc8b22cd816dc6932 |
|
BLAKE2b-256 | 85097bbbe51de1249af8ff434cf5cf8d5933166058820424ee4bbf339ce23572 |
Hashes for pillow_jpls-1.2.0-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b509870d0e3c17c6f96a3b2ca0a0a8343cbf5f0e50d4ca189896076d21996ca |
|
MD5 | e712ebc6e3fda1451b098b5c8ca00d8c |
|
BLAKE2b-256 | aed058d98164ce25cba7acc15f9b7ed56275d39b466b53fadaa6ffc52164533f |