Skip to main content

JPEG-LS for Python via CharLS C++ Library

Project description

pyjpegls

Note
This is a fork of the original CharPyLS repository created to be able to add fixes and adaptions, as that repo is not maintained anymore. The rest of this file is unchanged from the original readme.

JPEG-LS for Python via CharLS C++ Library

I wrote this interface to enable easy access to the awesome JPEG-LS lossless image compression algorithm from within my Python application. I had no need to read/write anyone else's JPEG-LS image files, but rather I needed to compress some data structures internal to my application. This data was similar in nature to greyscale imagery such that it was an easy choice to leverage the existing CharLS C++ library I found on codeplex.com. I did eventually incorporate some basic file I/O functionality for my unit tests, and that's why I list Pillow below as a dependency.

I have tested this code on Windows 7 x64, Windows 8 x64, and Ubuntu x64. Note, even though this package has the odd name "CharPyLS", you will import it into your module as "jpeg_ls". Here is a quick example of using this tool to compress an image to a buffer in memory. For more details, check out the examples included within the source code.

    # Read in an image from an existing PNG file.
    fname_img = 'test/image.png'
    data_image = data_io.read_PIL(fname_img)

    # Compress image data to a sequence of bytes.
    data_buffer = jpeg_ls.encode(data_image)

    # Sizes.
    size_png = os.path.getsize(fname_img)
    print('Size of RGB 8-bit image data:  {:n}'.format(len(data_image.tostring())))
    print('Size of PNG encoded data file: {:n}'.format(size_png))
    print('Size of JPEG-LS encoded data:  {:n}'.format(len(data_buffer)))

    # Decompress.
    data_image_b = jpeg_ls.decode(data_buffer)

    # Compare.
    is_same = (data_image == data_image_b).all()
    print('Restored data is identical to original: {:s}'.format(str(is_same)))

The output generated by the above example should look like the following:

Size of RGB 8-bit image data:  5038848
Size of PNG encoded data file: 2409950
Size of JPEG-LS encoded data:  2088357
Restored data is identical to original: True

About JPEG-LS

  • From Wikipedia article: JPEG-LS (ISO-14495-1/ITU-T.87) is an accepted lossless image compression standard derived from the Hewlett Packard LOCO algorithm.
  • From CharLS codeplex site: CharLS is an optimized implementation of the JPEG-LS standard for lossless and near-lossless image compression. JPEG-LS is a low-complexity standard that matches JPEG 2000 compression ratios. In terms of speed, CharLS outperforms open source and commercial JPEG LS implementations.

Dependencies

  • Numpy
  • Cython (only for building and installing, not for everyday use)
  • Pillow (friendly fork of PIL, used here for file I/O with the example and during unit tests)
  • CharLS (source included as subfolder)

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

pyjpegls-1.5.1.tar.gz (1.1 MB view details)

Uploaded Source

Built Distributions

pyjpegls-1.5.1-cp313-cp313-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.13 Windows x86-64

pyjpegls-1.5.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

pyjpegls-1.5.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ ARM64

pyjpegls-1.5.1-cp313-cp313-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.13 macOS 11.0+ ARM64

pyjpegls-1.5.1-cp313-cp313-macosx_10_13_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13 macOS 10.13+ x86-64

pyjpegls-1.5.1-cp312-cp312-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.12 Windows x86-64

pyjpegls-1.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pyjpegls-1.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

pyjpegls-1.5.1-cp312-cp312-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

pyjpegls-1.5.1-cp312-cp312-macosx_10_13_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12 macOS 10.13+ x86-64

pyjpegls-1.5.1-cp311-cp311-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.11 Windows x86-64

pyjpegls-1.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pyjpegls-1.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

pyjpegls-1.5.1-cp311-cp311-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

pyjpegls-1.5.1-cp311-cp311-macosx_10_9_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

pyjpegls-1.5.1-cp310-cp310-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.10 Windows x86-64

pyjpegls-1.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pyjpegls-1.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

pyjpegls-1.5.1-cp310-cp310-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

pyjpegls-1.5.1-cp310-cp310-macosx_10_9_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

pyjpegls-1.5.1-cp39-cp39-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.9 Windows x86-64

pyjpegls-1.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pyjpegls-1.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

pyjpegls-1.5.1-cp39-cp39-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

pyjpegls-1.5.1-cp39-cp39-macosx_10_9_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

File details

Details for the file pyjpegls-1.5.1.tar.gz.

File metadata

  • Download URL: pyjpegls-1.5.1.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pyjpegls-1.5.1.tar.gz
Algorithm Hash digest
SHA256 d0fe09dfb7f75ce78e3b1e0519912a42f1827d68bbc3609652f4f8743c956025
MD5 9e906b026ac4654e69d4f000e97f5c5e
BLAKE2b-256 2c5998f5e19752ae8ffea9b0d15b4ad3b20022d96479201b9674d4708e3293d1

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyjpegls-1.5.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pyjpegls-1.5.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5812655f1fbb93bd2666ff05616bf3c7eae2474c6c4f8bf8afb6d5e5c0d6e9cf
MD5 0a6f17ad52c8574bc23e417663d77797
BLAKE2b-256 d88a98c33dae7a420fdd0078df7eed406748abe68eed43622258e03da9049c77

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyjpegls-1.5.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fb56f056868561a1e49995bcbbe7ba8c38d56838d5c975ef5a0ff887d9189230
MD5 1e6d1af7124679a1ff24102ec7e6a6d8
BLAKE2b-256 48db08ce5743ca250750776bf39729d495442966a2ddb23017e61ac43567c5bf

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyjpegls-1.5.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dfecd3ea08ff2df367eb90791e3ff5288ccc0293fc13e99adc5542629a97a493
MD5 044cd6534a971bb9bc19544a23758805
BLAKE2b-256 f19d219cd41b62aec45f8f635c0f2175abcbc6642f334d94276da852d077b0d4

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyjpegls-1.5.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0080024c9e9e6be7bb0276ea54510488c28c8c9f2c0841049c64ab8b66d899f2
MD5 15365eb17bde546b7146fd71e38b1b60
BLAKE2b-256 6d9159f22460a9f64b38bbd83de859963a4b5688f9cfac9e67c7d7a33b54373e

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyjpegls-1.5.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 bba892f411091a0de0736f39ac8da11e667a929fbc1e474657f1291d5e303d37
MD5 16681f59ed330054c894d6f7cb824e90
BLAKE2b-256 2df7c3e0e7d5067ce71930b757e61d82aef129b69e7c95ad881adae571ee49b1

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyjpegls-1.5.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pyjpegls-1.5.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 14d7cf5e61ffdb9343a888dde5e3f9b7e527cc805c31c7f48a1e2cdb73d9d9fa
MD5 bf7b8d2b510474fe4bd36c3d6080dd9a
BLAKE2b-256 5032b011c2c33850c8d6f7815cf30257e0e00d9fcb70e0a8052448257636bf19

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyjpegls-1.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5e8c7257bfd1700d563c4fdc60a8794519e00da21798221d964271bc5a027a49
MD5 9f6f6019a6430f8604a651543fcf055a
BLAKE2b-256 4df6597cd0566f90b33428d6979f2967ac7ff1f7be0631e72c3a170dd966a98a

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyjpegls-1.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 45630167eb37990701854f882455f4611c24902a2de1d27635076c3fed4a04a7
MD5 7643b8494e45c6ee51f822f38b069886
BLAKE2b-256 bc83153aedc15c9064091b2251fba99998866e4a2c0624905b9bae1c31644e5e

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyjpegls-1.5.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c3e6355a4bc9d3da46f7d4377793576b261bf60df297cea7167b3556adb98eb7
MD5 f663e1bb532e5de3dec980ba2ac532df
BLAKE2b-256 845f08760f98d1a49bee3046a2da6af4c1da339b49c8ebcbd976e36177af0c89

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyjpegls-1.5.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 a5430dcd735bc4c0c1eb478510d73a5178a4743cbad1d72113926accdd738921
MD5 69e57199ecab61cfa41bac101094b94f
BLAKE2b-256 d3639e65815ea2c1b8abefda341d8fadb7d4d19c4fc9e7f3eb4bff1706a95371

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyjpegls-1.5.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pyjpegls-1.5.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 acbe5ba2dde9b97bb98571a17a949bfbba7c9e40e78dfb79c08ecc568db50cee
MD5 7603e126e78f37b171e78431f84418dc
BLAKE2b-256 3d2a64057a0a464105e40e22adc7a527b1c5453fe374b4002c214123abba6ff5

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyjpegls-1.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8ec9eb9f7bd5332f86b3c9749f17aa8429a7965acfa7f2ab568eb11b70631472
MD5 c06c51988ab8567f1a312fee317582ed
BLAKE2b-256 ee67a42ff2401f9accf8b245c7b503e6d71bba3ebdb95cd185a053aa7deedca7

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyjpegls-1.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 496ae75dc1b06a5e3fb6893593665fa40093e18a162de518ee0609c77cb7d4fe
MD5 a49943cb7b091276351290e681c95642
BLAKE2b-256 dc50cb385d00b028037e2b814936bc77e3992a921f40e0d6855e8ef1b171dfef

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyjpegls-1.5.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e206e4ade507f6a3066a134d04a68b7c2570a2365f18e43ee2b01a08f3efcd30
MD5 cb6107a29f0fc3ea43df56b263acf0a7
BLAKE2b-256 e11d058786659fdb8ffa38a50949c8ba91dc41606269868e88d409ec7e08bac7

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyjpegls-1.5.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 14b870392e6796ea0e2fac226e97ac730a634549923c475d173bc9c291f02658
MD5 9778e126e1bc2f58662852b56a2e7060
BLAKE2b-256 97ca32f520feb652c78359c96b2603c7cd2e7bf87600e8239c78e19c86af56c1

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyjpegls-1.5.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pyjpegls-1.5.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3fa5009833bb5234698d8d77b3e693810a8ef740eadceebb5650164618f4b2c1
MD5 668b291e98e86caf865a071d933713db
BLAKE2b-256 461903cb8a7caf3d204255c35a986d8b4186807611fbc848dbcd4989a7e11000

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyjpegls-1.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 29bbb8be9193cc88d8bb442d9459da31119dcf76c07b10f44e0926d48620c33b
MD5 e79664652942efd73f0f52662abc6d32
BLAKE2b-256 50c3a7edcbd8c4628d81a2c90674d3835bbf6f1a4ab0d54cfc315de452c4f8e0

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyjpegls-1.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 261c6dc80fe1071631b1c42b877ecb8d9cf9c5d5c8189a18eaa96349ab42fde3
MD5 b3ef7223b416a308c8d0cd92ef250424
BLAKE2b-256 af9cd5fd4835ef18cb681fc5a423d6766b5ce24182c6da88637e87a619fcdb84

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyjpegls-1.5.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0eadf1c7adc934361dad2d0a9e22b14271b22067063568c85e71e4e752be0521
MD5 55e78dcbbe70d0774bdffd281fb1d276
BLAKE2b-256 f87a12068c4c53194e05e7fbf00e075e1c87305c70c888fb67be2df36ab93d4c

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyjpegls-1.5.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2efb0cd87f4fea1b4a58649b92dc64d7290424e08374f4ef7bc19caf99370584
MD5 e188787c0554ac04f36189fd3413f97a
BLAKE2b-256 26fc99d5a30ccaeca7cf2933b09808e4ef09e313badbb1ee96c9452421d5c4dd

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pyjpegls-1.5.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pyjpegls-1.5.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 51579d55f38ce96e593f14168fb2df062b5101e55ffd7ec59e0d8b926d9a3122
MD5 793b2a7d46a19b09129bf85d4ace02f6
BLAKE2b-256 a45aa190c2b4cf04038df02d1d04afb095dd1cff7544b512b316b0c66f916510

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyjpegls-1.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 747919893b160ff61f67dfb69593f9653c2597bb5b481baa2a7a315ea26c588e
MD5 65504577339077aa53b950a13f51f8ed
BLAKE2b-256 2aa115de07dea9e291326944c921eaf020c778136f24b22b8f94f292a85a4ca4

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyjpegls-1.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ef8c9a18b7c2b512a9b665cf3407b8403938263fced4933a997a558c24e2750d
MD5 ddc0b0d378ded3243377a4388f9e3960
BLAKE2b-256 8f20510f4a3f9c98ec723ba3433ae89e69002b8a868cbd1841729068a2b34765

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyjpegls-1.5.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 80531a7a6c57ac85ee4e0f39c98097d4e8cac28a7fb897f26ad1571f85f0b512
MD5 4d5c1b488c87e08f09fa61434391267c
BLAKE2b-256 db248af5ed6fca83ca6250b517ca96b0db07b8b8c05448d1e7fef06a0e08c06a

See more details on using hashes here.

File details

Details for the file pyjpegls-1.5.1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyjpegls-1.5.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a3cd66a6435c6cc27ab287997f966304b17b55a371beb11ed267e0874133668a
MD5 9af6a4fd1e6892c7d64c395ff91aa58b
BLAKE2b-256 1cc98b5302fa58372c28616d110e1537ba1ca8d1d9652ebfc7d6d5d3303f70ff

See more details on using hashes here.

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