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 Scikit Build. cibuildwheel is used to generate packages using Github Actions, and C++ dependencies are satisfied by conan.
pip install build
python -m build
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.3.0-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | abdf74b5755cb2ed23f5aacd7c50ab24710b3471c188d9d6fb6b322806b6f817 |
|
MD5 | 12af4284cc24716c8a1b3be246b58fb6 |
|
BLAKE2b-256 | 6573fb13b0580337484d17535213a98694f666dd5c5a66b74ebf255b6a11eb0d |
Hashes for pillow_jpls-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 031bd830a34af8e73bb35158b5ae4fbece099420bac5d35e60e7a290f03eb9af |
|
MD5 | 0837fc499ddfab248706e362eb20ce55 |
|
BLAKE2b-256 | df4a6f545aa77bdc1ac1331a5a59f78bb1d30374d345ffc202a452c117f891c6 |
Hashes for pillow_jpls-1.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a1d4d0b6d32adfdf190ee1138f5e166644695b5415628568a8075b70795d83f |
|
MD5 | ee2f8738420df7cabf2358b399b919eb |
|
BLAKE2b-256 | 5fbe481c069765e58abbf180f88e57b7b7a9ba67ab63da5815fd8ef219515ba8 |
Hashes for pillow_jpls-1.3.0-cp312-cp312-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 526032299209020fa29e5851c6c45f696edc5029f5a9b5afd0d07c90fd3aac3c |
|
MD5 | 64111bc1deaaf224392193ea2ab7bf5a |
|
BLAKE2b-256 | d4a291c788a5eb9cda121b475bfaeadb07918454d2431dcd129a843f2e41d6cf |
Hashes for pillow_jpls-1.3.0-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba8c22017b4b36443f160f659d635d0c9312f4c11536bd1c50b882469d914e02 |
|
MD5 | 612b94e06a720eb18d963884dea99c0c |
|
BLAKE2b-256 | 9fd65ccd514969319d1e58fe1d70a20c2772b6a15c724de2d925a9c28bee2988 |
Hashes for pillow_jpls-1.3.0-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8d3183d182e653d1281c3ec4df944d2a2336aea625bea4b84583bc118de79d3 |
|
MD5 | 5fe97941cedcab206432defb89f02137 |
|
BLAKE2b-256 | 91b70408d9bd258f19a73364d17887605ad65ad84eef25e9d5cee80ebe31c987 |
Hashes for pillow_jpls-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ad39a95c4fc6bd98323f253778605c7a190bec0ad7451378d3abd49a4a38ee0 |
|
MD5 | 2ecd95e6134bef0474158070f351b4de |
|
BLAKE2b-256 | 0d0f4f5a316bc7f4b40a7d8719c773ee095210818956492800124f81babb69c0 |
Hashes for pillow_jpls-1.3.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6431b6e7d4488ec120d9e9ba551d6a8f6d50b8a2e06f188c36715307c141f5e7 |
|
MD5 | 060aa68e098fe69eba46e18ff9dfba0a |
|
BLAKE2b-256 | 0f19d4cd01e1873e436d9c60ef5686b05c1db24b31ad343374e589a5824d65ad |
Hashes for pillow_jpls-1.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0093a25fd747bc8f4dfa9645757a1eb0fe489bf9e7f11f927f82e1b6a3b8432 |
|
MD5 | 3c655858ba7b301224c17b5c5680452f |
|
BLAKE2b-256 | 06d89d507ca207b98403bc4539eec0036d3bdf2f6e4ffad849550561b3df8b0e |
Hashes for pillow_jpls-1.3.0-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ab5b15c0018f4d89d99bdb86cd023b0ad41094465c8ee7310abb8db9576ef6c |
|
MD5 | d50412db715c08a74dbace3726bb827f |
|
BLAKE2b-256 | c81cecf4efde821996a6fc3e659aa4b520927cc366aeccda192294fb7d301980 |
Hashes for pillow_jpls-1.3.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c9248ff3d79180bc92558ac5dafb0170706184f78a20d9fbc5698ce03d79ef2 |
|
MD5 | a4a0cd180efc0aabb04fa3e4de32cf0b |
|
BLAKE2b-256 | 7031841b1c0ae2c4deed51ee62e45b704f521599bcc09977a6657cd5287117c9 |
Hashes for pillow_jpls-1.3.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d103034a8f255c1a1ebb4a085b8a4c72869bc538a56de54186ed49fdd89025f |
|
MD5 | 106cac6ed2b2a3d9b3753f6a0c078613 |
|
BLAKE2b-256 | efb4fc05685285301b67ab91aaee0ec5036467ef03338d312a6ae0f0306d83d2 |
Hashes for pillow_jpls-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0cdf914e0e29f481cf136bc7a434b9addf7dffc98ed7b99459fd7c2dcb9969a7 |
|
MD5 | e99a1fd150174915e3dd6a5896d13d4b |
|
BLAKE2b-256 | 20b2fd214e63fcc5cd0d817e1fe93a636f2b07fa1ac5607c5faf86a5633ad9e4 |
Hashes for pillow_jpls-1.3.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d6a493fda4e4d696ac1a0d1a0150f2260c751901a3639b339ed43273c41df3f |
|
MD5 | 53f59f6414465d0bfc8e86e431b4dc94 |
|
BLAKE2b-256 | 586139667d96c0ac78983a2c9772d76ceef1773798b2dcbc544ff66c46da19ca |
Hashes for pillow_jpls-1.3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3753a7478a604d842ae94c76dea7fbe9e7ce0b134881849344e76965027698b |
|
MD5 | bdd11f704aac318542a7fc37216fe314 |
|
BLAKE2b-256 | 22c61efb9eec15d7c292258efca94ae15f8201df24bc61765249682283564434 |
Hashes for pillow_jpls-1.3.0-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e12ca63253a71d8ba4faf3e5f04c9eb03c155f02dbeaead17f08385a77186504 |
|
MD5 | e3e450d7c7290b0f7b4adb1be69c9a52 |
|
BLAKE2b-256 | d7e64fb4ec07ad283361f406b06462ecbaa18ca43df3049a1cb137f58298bdcc |
Hashes for pillow_jpls-1.3.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48bcf97924ec716e42e72405d9c933bb80e5e0f1ae7d3afc8958a33f1e4248f4 |
|
MD5 | af314747d39420d2a51b744151e32145 |
|
BLAKE2b-256 | 60e79548ca7f3e65bd6788c230728dea52df16a3ba2fecf5c18076ed8fea4d04 |
Hashes for pillow_jpls-1.3.0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 244daf49873c7b4ef1c31147e9acbba516edd5f1209b16a060251c3451369627 |
|
MD5 | 18561a6b2e7f9f603d79e1725934ed6f |
|
BLAKE2b-256 | fb7bf9cf6180a58e8a9f1768be2f88042d3376310b49aab583879f1c95822e63 |
Hashes for pillow_jpls-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62dc196edb500d22dd660c200b534bc585009ea52b34794c9e75bd02e37fd1c6 |
|
MD5 | 945295afee337e821c8171a45d664b39 |
|
BLAKE2b-256 | b8fde3ba67136a4c33fcc2487cc1c614ade51730ebfb622de2e59e8002af9501 |
Hashes for pillow_jpls-1.3.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f6ef869d6485fde5dbb1c74fc245905ea40c086103f1b6a9d5259d621436dc0 |
|
MD5 | ded5454ca099340e4c3ba4da9f754025 |
|
BLAKE2b-256 | 15edfd414a032c300e13d8977a586c70ac7818bde93d2d51c11a682f021cdfe5 |
Hashes for pillow_jpls-1.3.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2efab69b21ccb9395a185c832abe074fc060eed299f47835b029a3499c8679b3 |
|
MD5 | 2e077fbf8b89eafaf4b18af753c4573f |
|
BLAKE2b-256 | b2ac8a84347d3ff7bf70cecadedc301da27fbeea736c5d988de3cd9fa2aeec4f |
Hashes for pillow_jpls-1.3.0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be3702265126e7b2761b1cc4fb9c51488f45a9fbc09a712ecf51810c7c9f7e61 |
|
MD5 | 02b4001c7b5f95818e8d7384208d7fb5 |
|
BLAKE2b-256 | bd13eb9748d96d6fc311ad8763a17bf08e806fabee0a82535cda3938458eccf3 |
Hashes for pillow_jpls-1.3.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f316c5e95d91bf43e9b0d84ae798b39cc4fb6f0fc85fb9702a9708416e7473a |
|
MD5 | 61ce29a8fdf06a79c39108cb83679652 |
|
BLAKE2b-256 | 1ec2934069bcf54659240701d3ce3cc62c1a2e8ce804167cc9f02cd20f9ba630 |
Hashes for pillow_jpls-1.3.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 369fecefdc81b2849356aba8d62bccbed18e11af1ed1b9350594daa911dba984 |
|
MD5 | 06fab3cd62e563b7803c8869dbe942db |
|
BLAKE2b-256 | ccd2696f9a362592833f77903c3b81105295379521b22d4e9fb63f20b24ad16c |
Hashes for pillow_jpls-1.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5573c9adf98a01df3f37018d401b1f5ad2b1aaea73bd46fc6554774c515fbe1e |
|
MD5 | 27343bc7503422630197734b9da4e972 |
|
BLAKE2b-256 | c44be3d8866cdedc863c646c152d95cb13c87695211564cb22fbf3e2629235b2 |
Hashes for pillow_jpls-1.3.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcb7f5541df910e6fec6faa21e4367b82b34b1612667ada2aebb1ff9b8fa3569 |
|
MD5 | 15d68b3e5e3f7f156f126e3cc1fb8c75 |
|
BLAKE2b-256 | 4057e5126aa90230d6c65dcbfdeb43c7b77dd6eaca82e3db867cac751c020983 |
Hashes for pillow_jpls-1.3.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a186e54a71f5c15bfaae1163326a56002cceef186a3c9263b2ba9c1120a6709c |
|
MD5 | 7097760c988d1ec5d2ee86084a74e656 |
|
BLAKE2b-256 | 7c4953ffd8e89dd535fd4e2812165cf1c43fea033f62e301beade3e665bce82d |
Hashes for pillow_jpls-1.3.0-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb14d0c9b9a1043b3656ee8a48836aaa94597bca2234d2d8f52562c092adc2a6 |
|
MD5 | 626dcf0beb085141c0b0b90a7dec1859 |
|
BLAKE2b-256 | 833357a2c1c2121eb80c2c50f76620adc1c3eee46ed33195808d40546cc62628 |
Hashes for pillow_jpls-1.3.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a94996aa79c74aaf2cd46ad5941cafe26d09989dcd799af9ada34196dbcb4e2 |
|
MD5 | 4b813df89f2601626c08eab5318200fb |
|
BLAKE2b-256 | 4630ad093a8fd62b15544355587a011725591b3cf83c01d1a3ee0827ccadbb33 |
Hashes for pillow_jpls-1.3.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5df14e706d7f4b2c00bd72cfadee2b4a629e6466558fb44f15df859a7e8d97a |
|
MD5 | 5cad0639ebd59807d5150a69f7d27bfe |
|
BLAKE2b-256 | 7d60b176b5a8fade9e9f84e9e4988187a2834dda37c00e7020eb93a9fd8cd28a |
Hashes for pillow_jpls-1.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be2c476a72c6d105ec46e617da5f80e913831898547612e58b10d733cadb6257 |
|
MD5 | f699e58d989b42cd833635b42bde73f4 |
|
BLAKE2b-256 | 38081707a0e877d5cd967c80a259d98f26a6f3f58fb3bab3af1f73ed2898ac22 |
Hashes for pillow_jpls-1.3.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c86778a89dd92878eca8a99f892019c08be3b5ce29db2a2e23ac697c54e23c35 |
|
MD5 | 5e8810f6c726bec752796bed2c44386d |
|
BLAKE2b-256 | a23f467ea2275efa5ce82929b49f44a18b30f306db5e19ad37739f83ff6e5279 |
Hashes for pillow_jpls-1.3.0-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ddf10e655f550c4fe484f41529d01e28c5dc11557f5ad21eeb810876d7f9e561 |
|
MD5 | ef72532ec858e65cc647a0414dff2fa0 |
|
BLAKE2b-256 | 71ca68fdd6a85996be714417f80ce965710571e935f74fb2c6743e64843790fa |
Hashes for pillow_jpls-1.3.0-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 189c85ec95c0e15b51def58e3234c8e423e8a037df28a27570a1f3a90866f533 |
|
MD5 | 589dc8463374676d6960a5f86c2e5b92 |
|
BLAKE2b-256 | b64ecbe63508c662a261529ed2add4fbb02d8dc6634b6f3ca4c5a72c0e9c8ba4 |
Hashes for pillow_jpls-1.3.0-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c52fb2b7540a9dda2c3a4c6c69912c261abef2a22797af898542c9c1ad5b81d |
|
MD5 | 3eaed6a390e3d07e6089943db35fff15 |
|
BLAKE2b-256 | 09d650397e981b889156cef59f188be107985eb72b89d59604359da2631acee5 |
Hashes for pillow_jpls-1.3.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 708c7eb9001783c9e325597493f2f098a3e85d3ea058585e94a75907f01868c9 |
|
MD5 | b1772505a38187a4d013b4f939a4618e |
|
BLAKE2b-256 | 8e8fd13697d01ccaf386ee6cbe5b4fd998fab8bd999f43bd51724376acd13bd9 |
Hashes for pillow_jpls-1.3.0-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58f196cde78c32561a1a93811f1e1f148e0ab9c6efbfad2c65167f3c588a2c96 |
|
MD5 | ac0d0da60481c688ab62e34f507c4220 |
|
BLAKE2b-256 | bdd3afda0b08b2f490d97ffed941f4f1be1a075f5b6e5f3d8836841faadd3dcf |
Hashes for pillow_jpls-1.3.0-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 364137347b3194e69c96bb50a6c16a9dc128d3688724455434e188dd7afe72f5 |
|
MD5 | 73daf8987f7fef7e83a7271863b0aaf4 |
|
BLAKE2b-256 | 0967c3f2b4746ad9d2a829887dc000dc803b78fa49441cef07e50645d6203875 |