Skip to main content

Image transformation, compression, and decompression codecs

Imagecodecs is a Python library that provides block-oriented, in-memory buffer transformation, compression, and decompression functions for use in tifffile, liffile, czifile, zarr, and other scientific image input/output packages.

Decode and/or encode functions are implemented for Byte compressors: AEC, Blosc, Blosc2, Brotli, BZ2, CZI ZSTD1 and CHUNKED (with hilo filter), DEFLATE (zlib, isa-l, libdeflate, zlib-ng), GZIP, LZ4, LZ4F, LZ4H5, LZF, LZFSE, LZHAM, LZMA, LZO, LZW, OpenZL, PackBits, PGLZ (PostgreSQL LZ), Snappy, Szip, Zopfli, and ZStandard (ZSTD); Image formats: APNG, AVIF, BCn, BMP, DDS, EXR, GIF, HEIF, High-throughput JPEG 2000 (HTJ2K, JPH), JPEG (2 to 16-bit), JPEG 2000 (JP2, J2K), JPEG LS, JPEG XR, JPEG XS, Lossless JPEG (LJPEG, LJ92, JPEGLL), JPEGLI, MOZJPEG, PCX, PNG, QOI, RGBE (HDR), TGA (TARGA), TIFF, Ultra HDR (JPEG_R), WebP, and WIC (Windows Imaging Component); Image compressors: CCITT (RLE, T.4 and T.6), DICOM RLE, and PixarLog; Scientific compressors: B2ND, EER, HCOMP, Jetraw, LERC, NPZ, Pcodec, PLIO, RCOMP (Rice), SPERR, SZ3, and ZFP; Filters: Bitorder reversal, CMS (color space transformations), Delta, Quantize (Scale, BitGroom, BitRound, GranularBR), and XOR Delta; Shufflers: Bitshuffle, Byteshuffle, Floating Point Predictor, Meshopt, Packed Integers (TIFF, MONO p and packed), and WavPack, Type conversions: Bfloat16 (brain floating point), and Float24 (24-bit floating point); and Checksums: CRC-32, Adler-32, Fletcher-32, and Jenkins lookup3.

Author:

Christoph Gohlke

License:

BSD-3-Clause

Version:

2026.11.11

DOI:

10.5281/zenodo.6915978

Quickstart

Install the imagecodecs package and all dependencies from the Python Package Index:

python -m pip install -U "imagecodecs[all]"

Imagecodecs is also available in other package repositories such as Anaconda, MSYS2, and MacPorts.

See Requirements and Notes for building from source.

See Programming interface and Examples for using the library.

Source code and support are available on GitHub.

Requirements

This revision was tested with the following requirements and dependencies (other versions may work):

  • CPython 3.12.10, 3.13.17, 3.14.10, 3.15.2 64-bit

  • numpy 2.5.4

  • zarr 3.4.2 (optional, for Zarr 3 compatible codecs)

  • numcodecs 0.17.1 (optional, for Zarr file format 2 compatible codecs)

Build requirements:

Unmaintained or discontinued build requirements:

Bundled source files:

Test requirements:

Revisions

2026.11.11

  • Rename JPEG8 codec to JPEG and deprecate JPEG8 alias (breaking).

  • Rename codec parameter of imread and imwrite to imagecodec (breaking).

  • Rename ultrahdr_encode_jpeg parameters and metadata keys (breaking).

  • Move Brunsli JPEG transcoding to brunsli_encode_jpeg/decode_jpeg (breaking).

  • Remove LJPEG fallback from jpeg_decode and jpeg_encode (breaking).

  • Remove Python bz2 module fallback from bz2_encode and bz2_decode.

  • Remove RGB565 color spaces from JPEG and MOZJPEG codecs (breaking).

  • Remove planar auto-detection in jpeg2k_encode and htj2k_encode (breaking).

  • Reject read-only output arrays in decoders (breaking).

  • Return 1D uint8 view or byte memoryview of user-provided out (breaking).

  • Reject bitspersample > 26 in jpeg2k_encode (breaking).

  • Reject invalid colorspace and subsampling in JPEG encoders (breaking).

  • Reject non-identity cICP matrix coefficients in PNG/APNG encoders (breaking).

  • Reject non-contiguous output arrays in cms_transform (breaking).

  • Reject unused whitepoint and primaries arguments in cms_profile (breaking).

  • Reject unknown codec names in register_codecs.

  • Reject object and zero itemsize dtypes in array codecs.

  • Change imread return_codec parameter to info (breaking).

  • Change integer out parameter to exact output size in all encoders (breaking).

  • Change mozjpeg_decode to alias of jpeg_decode (breaking).

  • Change jpegxl_encode/decode_jpeg options to keyword-only (breaking).

  • Change BLOSC2/B2ND parameters and enums to match python-blosc2 (breaking).

  • Change packints to pack 16, 32, and 64-bit integers big-endian (breaking).

  • Change webp_encode default to lossy if level is specified (breaking).

  • Change htj2k_encode resolutions to number of resolution levels (breaking).

  • Change ISAL.COMPRESSION.SPEED to level 0 (breaking).

  • Change numcodecs Jpegxl lossless default to None (breaking).

  • Change meshopt_encode default level to 2 and use vertex codec v1.

  • Change ultrahdr_encode default gainmap scale to library default.

  • Change b2nd_decode to disable threading.

  • Change BMP, PCX, and TGA codecs to thread-safe C libraries.

  • Change imread to try APNG for PNG and WIC for camera raw files.

  • Change AVIF creation times and cms_profile creation date to constant.

  • Derive jpeg2k_encode default colorspace from image layout (breaking).

  • Derive jpeg2k_encode color samples from colorspace parameter.

  • Derive JPEG default color space from CMYK and extended RGB input.

  • Convert CIELab to RGB in jpeg2k_decode (breaking).

  • Add JPEGLI codec based on jpegli library (Windows only).

  • Add iminfo function and info functions to many codecs.

  • Add imagecodecs.typing module with type aliases.

  • Add JpegCodec implementing the zarr-extensions jpeg spec.

  • Add more filters and codecs to BLOSC2/B2ND (#163).

  • Add jpeg_transcode and jpeg_merge functions (#160).

  • Add scale parameter to jpeg_decode (#159).

  • Add iccprofile parameter to JPEG, MOZJPEG, AVIF, and HEIF encoders.

  • Add hasalpha parameter to HEIF and JPEGXL encoders.

  • Add whitepoint and gamma parameters to jpegxl_encode.

  • Add primaries, transfer, whitepoint, and gamma parameters to jpegxl_decode.

  • Add planar parameter to jpegls_encode and jpegls_decode functions.

  • Add pixelformat parameter to jpegxr_decode.

  • Add extrasample parameter to jpeg2k_encode and write JP2 alpha channels.

  • Add option to create wavpack correction data.

  • Add hc parameter to lz4h5_encode.

  • Add byteorder parameter to PixarLog codecs.

  • Add displayp3, rec2020, sgray profiles and named curves to cms_profile.

  • Add new encoder parameters to numcodecs and zarr codecs.

  • Support typed contiguous output buffers in byte decompressors.

  • Support negative index in AVIF, HEIF, APNG, and EXR decoders (breaking).

  • Support non-native byte order input in most array codecs.

  • Support non-native byte order output in PCODEC, SPERR, and SZ3 decoders.

  • Support bytes-like ICC profiles in CMS functions.

  • Support short and prefixed codec names in register_codecs.

  • Support LERC blobs that use noData values (via lerc_decode_4D).

  • Support interrupting zopfli_encode.

  • Support zero delay and combined filters in APNG/PNG.

  • Support more DDS DX10 formats.

  • Support multi-member and padded GZIP streams and raw DEFLATE without size.

  • Support uniformly subsampled components in jpeg2k_decode.

  • Support 16-bit gray, 16-bit RGB, and gray-alpha images in spng_decode.

  • Support 15/16-bit colormaps and right-to-left images in tga_decode.

  • Support negative minexp, non-native byte order, and dtype strings in ZFP.

  • Improve parameter validation, error messages, and check functions.

  • Improve documentation.

  • Improve type hints.

  • Fix image layout of samples misinterpreted as frames.

  • Fix zarr/numcodecs codecs shape handling, serialization, and Cms metadata.

  • Fix photometric enum handling in HEIF, JPEGXL, APNG, and TIFF encoders.

  • Fix RGBE, ULTRAHDR, QUANTIZE, and TIFF colormap with non-native byte order.

  • Fix silent truncation and wrong checksums with data larger than 4 GB.

  • Fix silent data truncation in LZMA, LZ4F, LZ4H5, BZ2, SZIP, and AEC codecs.

  • Fix JPEGXR, JPEGXS, LJPEG encoders silently truncating output to small out.

  • Fix decoding concatenated streams in LZMA and BZ2 codecs.

  • Fix decoding highly compressible data in LZ4, Brotli, and AEC codecs.

  • Fix crashes, out-of-bounds access, and writes to read-only buffers in IMCD.

  • Fix aec_encode signedness of int8 and byte-order prefixed buffers.

  • Fix apng_decode alpha compositing and apng_encode delays > 65535 ms.

  • Fix (a)png_decode accepting truncated input or missing IEND chunk.

  • Fix interlace handling in png_decode and apng_decode.

  • Fix bitshuffle codecs ignoring itemsize of numpy arrays (breaking).

  • Fix bmp_decode of bitfields not 8 bits and segfaults with zero channel mask.

  • Fix CCITT decoders with 1D, ND, or buffer output.

  • Fix ccittfax4_decode infinite loop on crafted input (#158).

  • Fix cms_transform of gray volumes and big-endian floats, cms_info of v4.

  • Fix thread-safety of error logging in cms_transform and cms_profile_validate.

  • Fix decoding DDS cubemaps, texture arrays, and odd-sized textures.

  • Fix eer_decode dropping last code and with invalid parameters (#162).

  • Fix exr_encode default DWA and LJ2K compression levels.

  • Fix float24_encode rounding overflow and directed rounding of large values.

  • Fix gif_encode color resolution and gif_decode disposal and frame index.

  • Fix h5checksum functions ignoring value and racing CRC table (breaking).

  • Fix heif_decode of monochrome images.

  • Fix isal_decode ignoring checksum errors and isal_crc32c non-standard values.

  • Fix jpegsof3_decode OOB reads, uint8 wraparound, zero dimensions (#157).

  • Fix ljpeg_decode and jpegsof3_decode ignoring point transform.

  • Fix ljpeg_decode returning wrong samples with restart intervals.

  • Fix jpegxl_decode returning uninitialized frames with invalid index.

  • Fix jpegxs_decode hanging on truncated codestreams.

  • Fix jpegxs_encode silently corrupting data deeper than 14 bits (breaking).

  • Fix lzham_encode, lzfse_decode, and lzf_decode failing on specific data.

  • Fix lzw_decode output truncation beyond 4 GB.

  • Fix meshopt_decode ignoring shape and dtype if out is specified.

  • Fix quanttable and progressive parameters of mozjpeg_encode.

  • Fix packbits_encode quadratic runtime and silently truncated output.

  • Fix pcodec_encode failing with small pagesize.

  • Fix pglz_decode truncating output and reading past input (breaking).

  • Fix pixarlog_decode returning uninitialized rows and failing on long strips.

  • Fix plio_encode silently truncating floats.

  • Fix quantize_encode corrupting non-finite values and with too large nsd.

  • Fix rcomp_encode crash with nblock <= 0 and too small output estimate.

  • Fix rgbe_encode/decode output size and dtype, read-only out, invalid values.

  • Fix snappy_encode requiring level argument.

  • Fix sperr_decode of single-slice 3D data, short headers, and ignored dtype.

  • Fix sz3_decode heap overflow and uninitialized output with mismatched shape.

  • Fix tiff_encode writing non-deterministic gap bytes.

  • Fix tiff_decode silently accepting incomplete strip data.

  • Fix wavpack_encode of unsigned and non-native byte order data (breaking).

  • Fix webp_encode out-of-bounds reads with leading frame dimensions.

  • Fix WIC pixel formats, frame shapes, and conversion crashes (breaking).

  • Fix zfp_decode of data with full header when shape and dtype are specified.

  • Fix ZSTD1 and CHUNKED codecs with empty, truncated, or plain Zstd data.

  • Fix memory safety issues (buffer overflow, memory leaks, etc).

  • Fix many other issues.

2026.10.10

  • Reject 0-D input to array codecs (#151, breaking).

  • Reject bitspersample outside dtype range (breaking).

  • Reject dtype too wide for bitspersample (#153, breaking).

  • Reject big-endian arrays in many codecs.

  • Add skipres parameter to jpeg2k_decode (#155).

  • Add bitspersample parameter to htj2k_encode (#153).

  • Add bitspersample and color transformation parameter to jpegls_encode (#150).

  • Add option to write SPIFF header in jpegls_encode (breaking).

  • Add perceptualheuristics parameter to jpegxl_encode (#149).

  • Add numthreads parameter to zstd_encode and zstd1_encode.

  • Add gainmap_gamma, gainmap_level, and multichannel to ultrahdr_encode.

  • Add ultrahdr_encode_jpeg and ultrahdr_decode_jpeg functions.

  • Add colorinteropid parameter to exr_encode.

  • Add compression level parameter to snappy_encode (require Snappy 1.3).

  • Add contentsize parameter to lz4f_encode.

  • Add chunked decoder to lz4f_decode, used when content size not in header.

  • Add ZSTD and LJ2K compression to EXR codec (require OpenEXR 3.5).

  • Add colorspace parameter to qoi_encode.

  • Add codec parameter to avif_decode.

  • Add numthreads parameter to heif_encode and heif_decode.

  • Add rgbe_info function, and orientation field to rgbe_header_info C struct.

  • Set GIF background alpha to 0 when alpha channel is present (breaking).

  • Set JPEG8 lossless data precision to 16 for uint16 by default.

  • Set AVIF encoder default speed to match avifenc (breaking).

  • Enable writing lossy monochrome AVIF images.

  • Update OPENZL codec to FrameInfo API (require OpenZL 0.3.0).

  • Support more pixelformats in jpegxr_decode.

  • Avoid copy of non-planar input in jpeg2k_encode.

  • Avoid extra copy in CZI hilo unpacking.

  • Avoid memset on CLEAR in lzw_encode.

  • Improve lzw_decode using literal table.

  • Improve inner loops in bmp_encode.

  • Improve HTJ2K error handling.

  • Use uint64 accumulators in imcd_delta, imcd_xor, and imcd_packints_decode.

  • Fix issues in static Pyodide builds.

2026.8.16

  • …

Refer to the CHANGES file for older revisions.

Notes

This library is largely a work in progress.

The API is not stable yet and might change between revisions.

Works on little-endian platforms only.

Supported platforms are win_amd64, win_arm64, win32, macosx_arm64, manylinux_x86_64, and manylinux_aarch64.

Wheels may not be available for all platforms and all releases.

Not all features are available on all platforms.

The bcn, ccittfax3, ccittfax4, ccittrle, dds, dicomrle, eer, jpegsof3, lzo, and openzl codecs are currently decode-only.

The brunsli codec is distributed as source code only because the underlying library is unstable.

The heif, jetraw, and jpegxs codecs are distributed as source code only due to license and possible patent usage issues.

The latest Microsoft Visual C++ Redistributable for Visual Studio 2017-2026 is required on Windows.

Refer to the imagecodecs/licenses folder for 3rd-party library licenses.

Bundled source files in the 3rdparty folder are distributed under their own licenses.

This software is based in part on the work of the Independent JPEG Group.

When building against libjpeg or libjpeg_turbo < 3, set the environment variable IMAGECODECS_JPEG_LEGACY=1 to enable legacy API support.

Before building imagecodecs from source code, install required tools and libraries. For example, on latest Ubuntu Linux distributions:

sudo apt-get install build-essential python3-dev cython3 python3-pip \
python3-setuptools python3-wheel python3-numpy \
libbrotli-dev libcharls-dev libdeflate-dev liblerc-dev libjpeg-dev \
libjxr-dev liblcms2-dev liblz4-dev liblzma-dev libopenjp2-7-dev \
libpng-dev libtiff-dev libwebp-dev libz-dev libzstd-dev

To build and install imagecodecs from source code, run:

python -m pip install .

Many extensions are disabled by default when building from source.

To define which extensions are built, or to modify build settings such as library names and compiler arguments, provide a imagecodecs_distributor_setup.customize_build function, which is imported and executed during setup. See setup.py for pre-defined customize_build functions.

Objectives

Many scientific image storage formats, such as TIFF, CZI, XLIF, DICOM, HDF, and Zarr are containers that store numerous small data segments (chunks, tiles, stripes). These segments are encoded using various compression and pre-filtering methods. Metadata common to all data segments are typically stored separately from the segments.

The purpose of the Imagecodecs library is to support Python modules in encoding and decoding such data segments. The specific aims are:

  • Provide functions for encoding and decoding small image data segments in-memory (as opposed to in-file) from and to bytes or numpy arrays for many compression and filtering methods.

  • Support image formats and compression methods that are not available elsewhere in the Python ecosystem.

  • Reduce the runtime dependency on numerous, large, inapt, or unmaintained Python packages. The Imagecodecs package only depends on numpy.

  • Implement codecs as Cython wrappers of third-party libraries with a C API and permissive license if available; otherwise use own C library. Provide Cython definition files for the wrapped C libraries.

  • Release the Python global interpreter lock (GIL) during extended native/C function calls for multi-threaded use.

Random access to parts of large segments is generally not supported.

Programming interface

Each codec is exposed through a set of module attributes, where CODEC and codec stand for the upper and lower case codec name, for example, JPEG2K and jpeg2k:

  • CODEC: class with an available attribute indicating whether the codec is available in the build, and enums of codec constants.

  • CodecError: exception raised by the codec functions.

  • codec_version(): return version of the underlying library.

  • codec_check(data): return whether data likely are encoded by the codec, or None if unknown.

  • codec_info(data): return information about encoded data, such as shape and dtype, without decoding (not supported by all codecs).

  • codec_encode(data, ..., out): return encoded data.

  • codec_decode(data, ..., out): return decoded data.

The encode, decode, and info functions of codecs not available in the build raise DelayedImportError. Functions not implemented by a codec raise NotImplementedError.

Encode functions take numpy arrays or bytes-like objects and return bytes-like encoded data. Decode functions take bytes-like encoded data and return numpy arrays (image and array codecs) or bytes-like objects (byte compressors and filters).

The optional out parameter of encode and decode functions controls the output: None lets the codec allocate the output; bytes or bytearray select the type of the allocated output; an integer specifies the output size; a writable, contiguous buffer receives the output directly. Functions returning numpy arrays return a new array, or out or a view of it with the decoded shape and dtype. Functions returning bytes-like objects return a new bytes or bytearray object, or a view of the provided out buffer: a 1D uint8 view of a numpy array, a byte memoryview of other buffers, or the bytearray itself if completely filled. The length of the returned object is the number of bytes written.

Some codecs deviate from these rules, for example, filters and shufflers may return numpy arrays from encode functions, and some functions return tuples. Refer to the docstrings and type hints of individual functions.

Additional functions, such as checksums (zlib_crc32), color management (cms_transform, cms_profile), JPEG transcoding (jpeg_transcode, jpeg_merge, jpegli_transcode, jpegxl_encode_jpeg), codec initialization (htj2k_init), and the high level imread, imwrite, and iminfo functions do not follow the codec schema.

Examples

Import the JPEG2K codec used in these examples:

>>> from imagecodecs import (
...     JPEG2K,
...     jpeg2k_check,
...     jpeg2k_decode,
...     jpeg2k_encode,
...     jpeg2k_info,
...     jpeg2k_version,
... )

Check that the JPEG2K codec is available in the imagecodecs build:

>>> JPEG2K.available
True

Print the version of the JPEG2K codec’s underlying OpenJPEG library:

>>> jpeg2k_version()
'openjpeg 2.5.4'

Encode a numpy array in lossless JP2 format:

>>> import numpy
>>> array = numpy.random.randint(100, 200, (256, 256, 3), numpy.uint8)
>>> encoded = jpeg2k_encode(array, level=0)
>>> bytes(encoded[:12])
b'\x00\x00\x00\x0cjP  \r\n\x87\n'

Check that the encoded bytes contain a JPEG 2000 stream:

>>> jpeg2k_check(encoded)
True

Obtain information about the encoded image:

>>> jpeg2k_info(encoded)
{..., 'shape': (256, 256, 3), 'dtype': dtype('uint8'), ...}

Decode the JP2 encoded bytes to a numpy array:

>>> decoded = jpeg2k_decode(encoded)
>>> numpy.array_equal(decoded, array)
True

Decode the JP2 encoded bytes to an existing numpy array:

>>> out = numpy.empty_like(array)
>>> _ = jpeg2k_decode(encoded, out=out)
>>> numpy.array_equal(out, array)
True

Transform the decoded image from sRGB to linear RGB:

>>> from imagecodecs import cms_transform, cms_profile
>>> transformed = cms_transform(
...     decoded, cms_profile('srgb'), cms_profile('linearrgb')
... )
>>> transformed.shape
(256, 256, 3)

Not all codecs are fully implemented, raising exceptions at runtime:

>>> from imagecodecs import dicomrle_encode
>>> dicomrle_encode(array)
Traceback (most recent call last):
 ...
NotImplementedError: dicomrle_encode

Write the numpy array to a JP2 file:

>>> from imagecodecs import imwrite, imread
>>> imwrite('_test.jp2', array)

Read the image from the JP2 file as numpy array:

>>> image = imread('_test.jp2')
>>> numpy.array_equal(image, array)
True

Create a JPEG 2000 compressed Zarr format 2 (legacy) array using numcodecs:

>>> import zarr
>>> from imagecodecs.numcodecs import register_codecs, Jpeg2k
>>> register_codecs(['jpeg2k'])
>>> zarr.zeros(
...     (4, 5, 512, 512, 3),
...     chunks=(1, 1, 256, 256, 3),
...     dtype='u2',
...     compressor=Jpeg2k(bitspersample=10),
...     zarr_format=2,
... )
<Array ... shape=(4, 5, 512, 512, 3) dtype=uint16>

Create a Delta-LZW compressed Zarr format 3 array using native zarr codecs:

>>> from imagecodecs.zarr import register_codecs, Delta, Lzw
>>> register_codecs(['delta', 'lzw'])
>>> zarr.zeros(
...     (4, 5, 512, 512, 3),
...     chunks=(1, 1, 256, 256, 3),
...     dtype='u1',
...     codecs=[Delta(), zarr.codecs.BytesCodec(), Lzw()],
... )
<Array ... shape=(4, 5, 512, 512, 3) dtype=uint8>

Access image data in a sequence of JP2 files via tifffile.FileSequence and dask.array:

>>> import tifffile
>>> import dask.array
>>> def jp2_read(filename):
...     with open(filename, 'rb') as fh:
...         data = fh.read()
...     return jpeg2k_decode(data)
...
>>> with tifffile.FileSequence(jp2_read, '*.jp2') as ims:
...     with ims.aszarr() as store:
...         dask.array.from_zarr(store)
...
dask.array<from-zarr, shape=(1, 256, 256, 3)...chunksize=(1, 256, 256, 3)...

Write the Zarr store to a fsspec ReferenceFileSystem in JSON format and open it as a Zarr array using kerchunk:

>>> store.write_fsspec(
...     'temp.json',
...     url='file://',
...     codec_id='imagecodecs_jpeg2k',
...     zarr_format=3,
... )
>>> register_codecs(['jpeg2k'])
>>> from kerchunk.utils import refs_as_store
>>> zarr.open(refs_as_store('temp.json'), mode='r')
<Array <FsspecStore(ReferenceFileSystem, /)> shape=(1, 256, 256, 3)...

View the image in the JP2 file from the command line:

python -m imagecodecs _test.jp2

Metadata

Release files for imagecodecs 2026.11.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for imagecodecs 2026.11.11
File Size Uploaded Provenance Actions
imagecodecs-2026.11.11.tar.gz 9.8 MB Without provenance Details for imagecodecs-2026.11.11.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for imagecodecs 2026.11.11
File Actions
imagecodecs-2026.11.11-cp315-cp315t-win_arm64.whl CPython 3.15 CPython 3.15 free-threading Windows ARM64 Details for imagecodecs-2026.11.11-cp315-cp315t-win_arm64.whl
imagecodecs-2026.11.11-cp315-cp315t-win_amd64.whl CPython 3.15 CPython 3.15 free-threading Windows x86-64 Details for imagecodecs-2026.11.11-cp315-cp315t-win_amd64.whl
imagecodecs-2026.11.11-cp315-cp315t-win32.whl CPython 3.15 CPython 3.15 free-threading Windows x86-32 Details for imagecodecs-2026.11.11-cp315-cp315t-win32.whl
imagecodecs-2026.11.11-cp315-cp315t-manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ x86-64 Details for imagecodecs-2026.11.11-cp315-cp315t-manylinux_2_28_x86_64.whl
imagecodecs-2026.11.11-cp315-cp315t-manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ ARM64 Details for imagecodecs-2026.11.11-cp315-cp315t-manylinux_2_28_aarch64.whl
imagecodecs-2026.11.11-cp315-cp315t-macosx_12_0_x86_64.whl CPython 3.15 CPython 3.15 free-threading macOS 12.0+ x86-64 Details for imagecodecs-2026.11.11-cp315-cp315t-macosx_12_0_x86_64.whl
imagecodecs-2026.11.11-cp315-cp315t-macosx_12_0_arm64.whl CPython 3.15 CPython 3.15 free-threading macOS 12.0+ ARM64 Details for imagecodecs-2026.11.11-cp315-cp315t-macosx_12_0_arm64.whl
imagecodecs-2026.11.11-cp314-cp314t-win_arm64.whl CPython 3.14 CPython 3.14 free-threading Windows ARM64 Details for imagecodecs-2026.11.11-cp314-cp314t-win_arm64.whl
imagecodecs-2026.11.11-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details for imagecodecs-2026.11.11-cp314-cp314t-win_amd64.whl
imagecodecs-2026.11.11-cp314-cp314t-win32.whl CPython 3.14 CPython 3.14 free-threading Windows x86-32 Details for imagecodecs-2026.11.11-cp314-cp314t-win32.whl
imagecodecs-2026.11.11-cp314-cp314t-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64 Details for imagecodecs-2026.11.11-cp314-cp314t-manylinux_2_28_x86_64.whl
imagecodecs-2026.11.11-cp314-cp314t-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64 Details for imagecodecs-2026.11.11-cp314-cp314t-manylinux_2_28_aarch64.whl
imagecodecs-2026.11.11-cp314-cp314t-macosx_12_0_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 12.0+ x86-64 Details for imagecodecs-2026.11.11-cp314-cp314t-macosx_12_0_x86_64.whl
imagecodecs-2026.11.11-cp314-cp314t-macosx_12_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 12.0+ ARM64 Details for imagecodecs-2026.11.11-cp314-cp314t-macosx_12_0_arm64.whl
imagecodecs-2026.11.11-cp314-cp314-pyemscripten_2026_0_wasm32.whl CPython 3.14 CPython 3.14 PyEmscripten 2026.0+ WebAssembly Details for imagecodecs-2026.11.11-cp314-cp314-pyemscripten_2026_0_wasm32.whl
imagecodecs-2026.11.11-cp313-cp313-pyemscripten_2025_0_wasm32.whl CPython 3.13 CPython 3.13 PyEmscripten 2025.0+ WebAssembly Details for imagecodecs-2026.11.11-cp313-cp313-pyemscripten_2025_0_wasm32.whl
imagecodecs-2026.11.11-cp312-abi3-win_arm64.whl CPython 3.12 abi3 Windows ARM64 Details for imagecodecs-2026.11.11-cp312-abi3-win_arm64.whl
imagecodecs-2026.11.11-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details for imagecodecs-2026.11.11-cp312-abi3-win_amd64.whl
imagecodecs-2026.11.11-cp312-abi3-win32.whl CPython 3.12 abi3 Windows x86-32 Details for imagecodecs-2026.11.11-cp312-abi3-win32.whl
imagecodecs-2026.11.11-cp312-abi3-manylinux_2_28_x86_64.whl CPython 3.12 abi3 Linux glibc 2.28+ x86-64 Details for imagecodecs-2026.11.11-cp312-abi3-manylinux_2_28_x86_64.whl
imagecodecs-2026.11.11-cp312-abi3-manylinux_2_28_aarch64.whl CPython 3.12 abi3 Linux glibc 2.28+ ARM64 Details for imagecodecs-2026.11.11-cp312-abi3-manylinux_2_28_aarch64.whl
imagecodecs-2026.11.11-cp312-abi3-macosx_12_0_x86_64.whl CPython 3.12 abi3 macOS 12.0+ x86-64 Details for imagecodecs-2026.11.11-cp312-abi3-macosx_12_0_x86_64.whl
imagecodecs-2026.11.11-cp312-abi3-macosx_12_0_arm64.whl CPython 3.12 abi3 macOS 12.0+ ARM64 Details for imagecodecs-2026.11.11-cp312-abi3-macosx_12_0_arm64.whl

Total release size: 445.2 MB

Release files / imagecodecs-2026.11.11.tar.gz

Download URL imagecodecs-2026.11.11.tar.gz
Size 9.8 MB
Tags Source
SHA-256 checksum
How to use checksums
f3d0762f3676a2e7caca7d50825b06ec5865c00f18c2b367bb02797aec4e10d8
BLAKE2b-256 checksum
How to use checksums
b4a5f9822d9484b561447bc11e655f13eb3dc690516036ee4d25a57539d0b950
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / imagecodecs-2026.11.11-cp315-cp315t-win_arm64.whl

Download URL imagecodecs-2026.11.11-cp315-cp315t-win_arm64.whl
Size 16.4 MB
Tags CPython 3.15 CPython 3.15 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
6dbcc068200f9ea0a059b322cbd60f1ccbc0eb9f81d96b311349f83ce68a23b6
BLAKE2b-256 checksum
How to use checksums
9cb124cb5084dd81f351b62fd209fbc32096595d88d815a544d5d5f8167f4ccf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / imagecodecs-2026.11.11-cp315-cp315t-win_amd64.whl

Download URL imagecodecs-2026.11.11-cp315-cp315t-win_amd64.whl
Size 20.1 MB
Tags CPython 3.15 CPython 3.15 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
2afba984d86afb3e5de75a096fcb7280565e1b41c3f79f07c14f488470f56e70
BLAKE2b-256 checksum
How to use checksums
5df31b5fb89ece29ef757522ced4d736a43cb4a1848923a2dc0c90a9d2b8262b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / imagecodecs-2026.11.11-cp315-cp315t-win32.whl

Download URL imagecodecs-2026.11.11-cp315-cp315t-win32.whl
Size 14.8 MB
Tags CPython 3.15 CPython 3.15 free-threading Windows x86-32
SHA-256 checksum
How to use checksums
13e3ec3a29d705d98e69d9dc3198e733106261d4e304cdea86f1045796239b37
BLAKE2b-256 checksum
How to use checksums
80f640fa3a6237258c4528d6d3c0806ebad4930d3fdd815b9e6b2a83da4e90d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / imagecodecs-2026.11.11-cp315-cp315t-manylinux_2_28_x86_64.whl

Download URL imagecodecs-2026.11.11-cp315-cp315t-manylinux_2_28_x86_64.whl
Size 32.5 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b6d99311091caf580bdd5310effa49948f2b4c58642f2dd697716a717c7e33ea
BLAKE2b-256 checksum
How to use checksums
2c3cff03505f820e1b60b88111288ba0aa68a3e8b6b8a0b3ed48ba857004579d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / imagecodecs-2026.11.11-cp315-cp315t-manylinux_2_28_aarch64.whl

Download URL imagecodecs-2026.11.11-cp315-cp315t-manylinux_2_28_aarch64.whl
Size 33.3 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d6e2c6db59d1c1e8b97a9b86065267244dbf05b243074144002ad23909fd768d
BLAKE2b-256 checksum
How to use checksums
c5bad6d0812ba7165d4a4b3e743e3cd2828565b1e4375305113e18676d289b02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / imagecodecs-2026.11.11-cp315-cp315t-macosx_12_0_x86_64.whl

Download URL imagecodecs-2026.11.11-cp315-cp315t-macosx_12_0_x86_64.whl
Size 15.5 MB
Tags CPython 3.15 CPython 3.15 free-threading macOS 12.0+ x86-64
SHA-256 checksum
How to use checksums
73fd61f02ae19131f7542419ebc086051cee61cafc20a42036a76672b9a46361
BLAKE2b-256 checksum
How to use checksums
4f2379acfbfb09d9c650362fc2a678ffeec81170c73536d277cef7e3494bae5a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / imagecodecs-2026.11.11-cp315-cp315t-macosx_12_0_arm64.whl

Download URL imagecodecs-2026.11.11-cp315-cp315t-macosx_12_0_arm64.whl
Size 13.9 MB
Tags CPython 3.15 CPython 3.15 free-threading macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
f9ad3a567d51498a08fc211706f3f6820c89f6d60b350bdc9799264a739a6a9e
BLAKE2b-256 checksum
How to use checksums
6ce3541104e72e3916cceef38aab2748832770c63ca02102a639a765dddd3f6d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / imagecodecs-2026.11.11-cp314-cp314t-win_arm64.whl

Download URL imagecodecs-2026.11.11-cp314-cp314t-win_arm64.whl
Size 16.4 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
38c483fbc0ded1e2125bc5da44f2029efc46156373a06ada5900853792bb1883
BLAKE2b-256 checksum
How to use checksums
fc37339ad5efd4ab3f07833ab967f8a5ea4d4263f0ebd17e9bef038118199427
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / imagecodecs-2026.11.11-cp314-cp314t-win_amd64.whl

Download URL imagecodecs-2026.11.11-cp314-cp314t-win_amd64.whl
Size 20.1 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
cd4c0d870300e16caa61004c2f193f05d2efcbdb8cd62ab3068b86445810a7ef
BLAKE2b-256 checksum
How to use checksums
4dfffa428991237c22f5432c2f211ea3245d017025036d2aeb2545955a065eb8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / imagecodecs-2026.11.11-cp314-cp314t-win32.whl

Download URL imagecodecs-2026.11.11-cp314-cp314t-win32.whl
Size 14.8 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-32
SHA-256 checksum
How to use checksums
e0762c0ffc00ef0012c4af65f22a8e577cd0ae3e8992392a5b82834bc5b17580
BLAKE2b-256 checksum
How to use checksums
d86a39d8817296b3b87b15f17ae716d0f353653f4cf73e957f6bc9a4e079021a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / imagecodecs-2026.11.11-cp314-cp314t-manylinux_2_28_x86_64.whl

Download URL imagecodecs-2026.11.11-cp314-cp314t-manylinux_2_28_x86_64.whl
Size 32.6 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
929d04191cabd9ab14973b6db320db64df1787531ce097ca61bb5dac70f5c51d
BLAKE2b-256 checksum
How to use checksums
63886d6f46f3a3c30b5e0b4a7a959acc0f24bb61312f3257d327a81dfc0768b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / imagecodecs-2026.11.11-cp314-cp314t-manylinux_2_28_aarch64.whl

Download URL imagecodecs-2026.11.11-cp314-cp314t-manylinux_2_28_aarch64.whl
Size 33.5 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
9b43ca6af75eb8b0f5c121e57c7466125ac38623a6c4ab35949989d422d9b8b9
BLAKE2b-256 checksum
How to use checksums
c2e314ee4e023eb1cfd8efb4096397c706b8b3f8b006d9bdc1eb207edfa69555
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / imagecodecs-2026.11.11-cp314-cp314t-macosx_12_0_x86_64.whl

Download URL imagecodecs-2026.11.11-cp314-cp314t-macosx_12_0_x86_64.whl
Size 15.5 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 12.0+ x86-64
SHA-256 checksum
How to use checksums
7a8dc2e5e77fccd7f52a2d6de3cc2aec52c289a7c8932f8d499a025cfc5997a3
BLAKE2b-256 checksum
How to use checksums
a4781b9c45fd6ceabbba697d9e9476595cc59bf8d7d14f5163b77db3fd16a62a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / imagecodecs-2026.11.11-cp314-cp314t-macosx_12_0_arm64.whl

Download URL imagecodecs-2026.11.11-cp314-cp314t-macosx_12_0_arm64.whl
Size 13.9 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
107a87b65c6da222c958ad88a3a3780d285bbc9f740bb56a871825d843a0cb9e
BLAKE2b-256 checksum
How to use checksums
fd38ab2b150be62d00a7dba8f928b4a0185165a9e4f6febd10dd423d0fec5936
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / imagecodecs-2026.11.11-cp314-cp314-pyemscripten_2026_0_wasm32.whl

Download URL imagecodecs-2026.11.11-cp314-cp314-pyemscripten_2026_0_wasm32.whl
Size 4.4 MB
Tags CPython 3.14 PyEmscripten 2026.0+ WebAssembly
SHA-256 checksum
How to use checksums
0680d363504698c2d034e75c0b70d9718737596bd43c9cf80adcdae1aa5c0811
BLAKE2b-256 checksum
How to use checksums
b3eb78da623a78d3209f4a437d0e87aed43ac1cc6b1ad139890734e297a3ef1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / imagecodecs-2026.11.11-cp313-cp313-pyemscripten_2025_0_wasm32.whl

Download URL imagecodecs-2026.11.11-cp313-cp313-pyemscripten_2025_0_wasm32.whl
Size 4.4 MB
Tags CPython 3.13 PyEmscripten 2025.0+ WebAssembly
SHA-256 checksum
How to use checksums
2da76bdbc91f38ad006441b486886824f080fc74d7baa21aa2fe7bc7c75ec37e
BLAKE2b-256 checksum
How to use checksums
ae85c6eb9d1217874149bdfadc2f28f8815302175d6d0c59b83de5487c7a0107
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / imagecodecs-2026.11.11-cp312-abi3-win_arm64.whl

Download URL imagecodecs-2026.11.11-cp312-abi3-win_arm64.whl
Size 15.6 MB
Tags CPython 3.12 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
65169391fe7694c9534d9d228d988c3c6f6dd0dae9a94ee06ea1de91b62de1a0
BLAKE2b-256 checksum
How to use checksums
12ed6d2e150fc41099c6135dc240ae5518eb19dc1d4b88f31fc8725c63693517
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / imagecodecs-2026.11.11-cp312-abi3-win_amd64.whl

Download URL imagecodecs-2026.11.11-cp312-abi3-win_amd64.whl
Size 19.3 MB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
7a46ef92db4f3bffafd46abd14edc214198ce04c1db5f9b80a01e33c71eea455
BLAKE2b-256 checksum
How to use checksums
0d096d51984f6b82ea558489cb7b5ecb6595d15fd384d01752d250cf568c5004
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / imagecodecs-2026.11.11-cp312-abi3-win32.whl

Download URL imagecodecs-2026.11.11-cp312-abi3-win32.whl
Size 14.1 MB
Tags CPython 3.12 Windows x86-32 abi3
SHA-256 checksum
How to use checksums
9305f5d6f5489576faf5f66d99390d425f51678813e6e269af45252c46ef0229
BLAKE2b-256 checksum
How to use checksums
2c7e8c1d252daa52ce285dbacaaf2c91aa9b0d8e9a3ac0e1cdfa79aa5c9ab653
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / imagecodecs-2026.11.11-cp312-abi3-manylinux_2_28_x86_64.whl

Download URL imagecodecs-2026.11.11-cp312-abi3-manylinux_2_28_x86_64.whl
Size 27.7 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
5d0869fa162667dbebc38e240dc488d23dd2d59ac2007fa0b002adf658b8fa04
BLAKE2b-256 checksum
How to use checksums
efec1de885257979fd92a560f31b9ec2774983d29a204fca05584cc41a211f19
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / imagecodecs-2026.11.11-cp312-abi3-manylinux_2_28_aarch64.whl

Download URL imagecodecs-2026.11.11-cp312-abi3-manylinux_2_28_aarch64.whl
Size 28.1 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
6966462215f90ea649d3809eb1d0ebf096511320ddb2ca6f7a108102f1da96e3
BLAKE2b-256 checksum
How to use checksums
049da2dacd23457bf3ac7676c9956d7d0fd45934fa424a9e54866b5f9256e411
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / imagecodecs-2026.11.11-cp312-abi3-macosx_12_0_x86_64.whl

Download URL imagecodecs-2026.11.11-cp312-abi3-macosx_12_0_x86_64.whl
Size 15.1 MB
Tags CPython 3.12 abi3 macOS 12.0+ x86-64
SHA-256 checksum
How to use checksums
25d2f5661a50e0d13eade7127cb0a49ea01e8da49cae0db839da09e8476e0c7c
BLAKE2b-256 checksum
How to use checksums
5652af674a9e77a3e95185033326faff3fdd4f7e365f42d51e82e5dc5ffa51fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / imagecodecs-2026.11.11-cp312-abi3-macosx_12_0_arm64.whl

Download URL imagecodecs-2026.11.11-cp312-abi3-macosx_12_0_arm64.whl
Size 13.4 MB
Tags CPython 3.12 abi3 macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
6646dc52c1ebd8ae857c49fb112e0058c4a93e38af3eb22e8948fa9f76e521cb
BLAKE2b-256 checksum
How to use checksums
6b0de7484677015f47a80896890c430f7bc475d544a64a4cda88b3a781c8761a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Security for imagecodecs 2026.11.11

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2026.11.11 This release

24 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page