Skip to main content

Iris Codec Python API

Conda Version PyPI Version Python CI

Copyright © 2025 Iris Developers; MIT Software License

The Iris Codec Community module is a part of the Iris Digital Pathology project. This module allows for:

  • Reading and writing of Iris whole slide image (WSI) digital slide files (.iris)
  • Decoding Iris Codec-type compressed tile image data.

This module was designed to allow for extremely fast slide access using a simple API. We want to simplify access to these files for you.

Iris Codec for Python is available via the Anaconda and PyPi package managers. We prefer the Anaconda enviornment as it includes dynamic libraries. In a true package manager sense, if you choose to develop C/C++ applications with Python bindings Anaconda will allow you to dynamically link the C++ Iris-Codec in addition to Python modules.

Installation

Conda-Forge (Recommended)

Static Badge Conda Downloads Conda Platforms

We prefer the Anaconda environment as it includes optimized dynamic libraries and better dependency management for scientific computing environments, particularly for OpenSlide integration on Linux and macOS.

Quick Installation:

conda install -c conda-forge iris-codec

Or with mamba (faster):

mamba install iris-codec

Environment Setup:

# Configure conda-forge channel permanently
conda config --add channels conda-forge
conda config --set channel_priority strict

# Then install
conda install iris-codec

PyPI

PyPI - Status PyPI - Python Version PyPI - Wheel PyPI - Downloads Supported Platforms

Basic Installation:

pip install iris-codec

With Encoder Support:

# For slide encoding capabilities (requires OpenSlide)
pip install iris-codec openslide-bin

[!NOTE] Windows Limitation: The Conda-Forge encoder does not support OpenSlide on Windows as OpenSlide lacks official Windows support in Conda-Forge. We're developing native vendor format support to eliminate this dependency.

Key Features

  • High-Performance Slide Reading: Optimized C++ backend with Python bindings
  • Multiple Format Support: Read Iris files and encode from 40+ vendor formats
  • Memory Efficient: Tiles loaded on-demand with automatic memory management
  • Research-Friendly: NumPy array output, PIL/Pillow integration
  • Metadata Rich: Full access to slide properties, annotations, and associated images
  • Encoding Pipeline: Convert vendor formats (SVS, NDPI, VSI, MRXS) to optimized Iris format
  • Privacy Controls: Metadata stripping and anonymization for research workflows

Quick Start

Basic Slide Reading

from Iris import Codec

# Open and validate slide
slide_path = 'path/to/slide.iris'
result = Codec.validate_slide_path(slide_path)
if not result.success():
    raise Exception(f'Validation failed: {result.message}')

slide = Codec.open_slide(slide_path)
if not slide:
    raise Exception('Failed to open slide')

# Get slide information
result, info = slide.get_info()
if not result.success():
    raise Exception(f'Failed to read slide info: {result.message}')

print(f"Slide: {info.extent.width}x{info.extent.height}px")
print(f"Layers: {len(info.extent.layers)}")
print(f"Encoding: {info.encoding}")

Slide Encoding

from Iris import Encoder, Codec

# Convert vendor format to Iris
result = Encoder.encode_slide_file(
    source='input.dcm',
    outdir='./output/',
    desired_encoding=Codec.Encoding.TILE_ENCODING_JPEG,
    derivation=Encoder.EncoderDerivation.layer_2x,
    concurrency=8
)

if not result.success():
    raise Exception(f'Encoding failed: {result.message}')
print('Encoding completed successfully!')

API Reference

Core Reading Functions

Import the Iris Codec module and basic validation:

from Iris import Codec

# File validation (recommended before opening)
slide_path = 'path/to/slide_file.iris'
result = Codec.validate_slide_path(slide_path)
if not result.success():
    raise Exception(f'Invalid slide file: {result.message}')
print(f"Slide '{slide_path}' passed validation")

Opening Slides

Deep validation performs comprehensive checks of the internal offset chain and IFE standard compliance:

# Open slide file
slide = Codec.open_slide(slide_path)
if not slide: 
    raise Exception('Failed to open slide file')

Slide Information and Metadata

Get comprehensive slide information including dimensions, layers, and metadata:

# Get slide abstraction
result, info = slide.get_info()
if not result.success():
    raise Exception(f'Failed to read slide information: {result.message}')

# Basic slide properties
extent = info.extent
print(f"Slide: {extent.width}x{extent.height}px")
print(f"Encoding: {info.encoding}")
print(f"Format: {info.format}")

# Layer information
print(f"Layers: {len(extent.layers)}")
for i, layer in enumerate(extent.layers):
    print(f"  Layer {i}: {layer.x_tiles}x{layer.y_tiles} tiles, {layer.scale}x scale, {layer.downsample}x downsample")

# Metadata access
metadata = info.metadata
print(f"Codec Version: {metadata.codec_version.major}.{metadata.codec_version.minor}.{metadata.codec_version.build}")
print(f"Microns Per Pixel: {metadata.microns_per_pixel}")
print(f"Magnification: {metadata.magnification}")

# Slide attributes
print("Slide attributes:")
for key in metadata.attributes:
    value = metadata.attributes[key]
    print(f"  {key}: {value}")

Reading Tile Data

Read individual tiles as NumPy arrays for analysis:

import numpy as np
from PIL import Image

# Read a specific tile
layer_index = 0  # Lowest resolution layer
tile_index = 0   # First tile

# Get tile as NumPy array (RGBA format)
tile_array = slide.read_slide_tile(layer_index, tile_index)
print(f"Tile shape: {tile_array.shape}")  # Should be (256, 256, 4)
print(f"Tile dtype: {tile_array.dtype}")  # Should be uint8

# Convert to PIL Image for display/processing
tile_image = Image.fromarray(tile_array)
tile_image.show()

# Access raw pixel data
red_channel = tile_array[:, :, 0]
alpha_channel = tile_array[:, :, 3]

Creating Composite Images

Generate overview images by stitching tiles together:

from PIL import Image

def create_layer_composite(slide, layer_index=0):
    """Create a composite image from all tiles in a layer"""
    
    # Get layer information
    result, info = slide.get_info()
    if not result.success():
        raise Exception(f'Failed to read slide info: {result.message}')
    
    layer = info.extent.layers[layer_index]
    scale = int(layer.scale)
    
    # Create composite image
    composite_width = info.extent.width // scale
    composite_height = info.extent.height // scale
    composite = Image.new('RGBA', (composite_width, composite_height))
    
    # Stitch tiles together
    tile_size = 256  # Iris tiles are always 256x256
    for y in range(layer.y_tiles):
        for x in range(layer.x_tiles):
            tile_index = y * layer.x_tiles + x
            tile_array = slide.read_slide_tile(layer_index, tile_index)
            tile_image = Image.fromarray(tile_array)
            
            # Paste tile into composite
            paste_x = x * tile_size
            paste_y = y * tile_size
            composite.paste(tile_image, (paste_x, paste_y))
    
    return composite

# Create and display low-resolution overview
overview = create_layer_composite(slide, layer_index=0)
overview.show()

[!CAUTION] Memory Warning: Despite Iris's fast read speeds, creating composite images of high-resolution layers requires substantial memory and processing time. PIL.Image creates full in-memory images rather than tiled representations. Limit composite creation to layer 0 or 1 for practical performance.

Associated Images and Thumbnails

Access embedded thumbnails and associated images:

from PIL import Image

# Get slide info first
result, info = slide.get_info()
if not result.success():
    raise Exception(f'Failed to read slide information: {result.message}')

# List available associated images
print("Available associated images:")
for image_name in info.metadata.associated_images:
    print(f"  - {image_name}")

# Read and display thumbnail if available
if 'thumbnail' in info.metadata.associated_images:
    thumbnail_array = slide.read_associated_image('thumbnail')
    thumbnail_image = Image.fromarray(thumbnail_array)
    thumbnail_image.show()
    print(f"Thumbnail size: {thumbnail_image.size}")

# Read other associated images
if 'label' in info.metadata.associated_images:
    label_array = slide.read_associated_image('label')
    label_image = Image.fromarray(label_array)
    label_image.show()

Advanced Reading Patterns

Efficient patterns for large-scale analysis:

Encoding API

The Python module includes comprehensive encoding capabilities for converting vendor WSI formats to optimized Iris files.

Basic Encoding

from Iris import Encoder, Codec

# Simple encoding with default settings
result = Encoder.encode_slide_file(
    source='path/to/input.dcm',  # SVS, NDPI, VSI, MRXS, DCM, etc.
    outdir='./output/'           # Output directory
)

if not result.success():
    raise Exception(f'Encoding failed: {result.message}')
print('Encoding completed successfully!')

Advanced Encoding Options

from Iris import Encoder, Codec, iris_core

# Comprehensive encoding configuration
result = Encoder.encode_slide_file(
    source='input.dcm',                                    # DICOM with byte-stream preservation
    outdir='./encoded/',                                   # Output directory
    desired_encoding=Codec.Encoding.TILE_ENCODING_AVIF,   # Modern AVIF compression
    desired_byte_format=iris_core.Format.FORMAT_R8G8B8,   # RGB format
    derivation=Encoder.EncoderDerivation.layer_4x,        # 4x downsampling pyramid
    strip_metadata=True,                                   # Remove patient identifiers
    anonymize=True,                                        # Additional anonymization
    concurrency=8                                          # Use 8 threads
)

if not result.success():
    raise Exception(f'Advanced encoding failed: {result.message}')

Encoding Options Reference

Compression Formats:

  • TILE_ENCODING_JPEG (default): High compatibility, excellent compression
  • TILE_ENCODING_AVIF: Modern format, superior compression at higher quality

Pyramid Derivation:

  • layer_2x: Generate 2x downsampled layers (recommended for most use cases)
  • layer_4x: Generate 4x downsampled layers (good for very large slides)
  • use_source: Use existing pyramid structure from source file

Byte Formats:

  • FORMAT_R8G8B8: Standard RGB (3 bytes per pixel)
  • FORMAT_R8G8B8A8: RGBA with alpha channel (4 bytes per pixel)
  • FORMAT_B8G8R8: BGR format for specific applications
  • FORMAT_B8G8R8A8: BGRA format

Privacy Options:

  • strip_metadata=True: Remove patient identifiers and PHI

Progress Monitoring

The encoder automatically displays progress during encoding operations:

# The encode_slide_file function includes built-in progress display
result = Encoder.encode_slide_file(
    source='large_slide.dcm',
    outdir='./output/',
    concurrency=8
)

# Output shows real-time progress:
# [████████████████████████████████████████] 100.0% ETA: 00:00
# Iris Encoder completed successfully
# Slide written to ./output/large_slide.iris

Integration Examples

Channel-Separated Data with PyTorch

Iris provides read_slide_tile_channels which returns data in [4,256,256] format with separate channel arrays, useful for advanced image processing:

import numpy as np
import torch
from Iris import Codec

def create_channel_separated_dataset(slide_path, layer_index=0):
    """Demonstrate channel-separated tile reading with PyTorch tensors"""
    
    slide = Codec.open_slide(slide_path)
    if not slide:
        raise Exception(f'Failed to open slide: {slide_path}')
    
    result, info = slide.get_info()
    if not result.success():
        raise Exception('Failed to read slide info')
    
    layer = info.extent.layers[layer_index]
    print(f"Processing layer {layer_index}: {layer.x_tiles}x{layer.y_tiles} tiles")
    
    # Read first tile using channel-separated format
    tile_channels = slide.read_slide_tile_channels(layer_index, tile_index=0)
    print(f"Channel-separated shape: {tile_channels.shape}")  # Should be [4, 256, 256]
    
    # Convert to PyTorch tensor
    tensor = torch.from_numpy(tile_channels).float()
    
    # Access individual channels
    red_channel = tensor[0]      # Red channel [256, 256]
    green_channel = tensor[1]    # Green channel [256, 256] 
    blue_channel = tensor[2]     # Blue channel [256, 256]
    alpha_channel = tensor[3]    # Alpha channel [256, 256]
    
    print(f"Red channel shape: {red_channel.shape}")
    print(f"Alpha channel mean: {alpha_channel.mean():.2f}")
    
    # Example: Create a custom RGB combination
    # Emphasize red channel, reduce blue
    enhanced_rgb = torch.stack([
        red_channel * 1.2,      # Enhance red
        green_channel,          # Keep green
        blue_channel * 0.8      # Reduce blue
    ], dim=0)
    
    return enhanced_rgb, tensor

# Usage example
enhanced_rgb, original_tensor = create_channel_separated_dataset('slide.iris', layer_index=1)
print(f"Enhanced RGB shape: {enhanced_rgb.shape}")  # [3, 256, 256]
print(f"Original RGBA shape: {original_tensor.shape}")  # [4, 256, 256]

This channel-separated format is particularly useful for:

  • Custom color space transformations
  • Advanced image augmentations
  • Channel-specific analysis (e.g., studying alpha transparency patterns)
  • Memory-efficient processing when you only need specific channels

For additional support and examples, visit the Iris-Codec GitHub repository.

Release files for Iris-Codec 2025.3.1

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

Source distribution (sdist)

Source distribution for Iris-Codec 2025.3.1
File Size Uploaded
iris_codec-2025.3.1.tar.gz 104.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for Iris-Codec 2025.3.1
File
iris_codec-2025.3.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
iris_codec-2025.3.1-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details
iris_codec-2025.3.1-cp313-cp313-manylinux_2_34_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.34+ x86-64 Details
iris_codec-2025.3.1-cp313-cp313-manylinux_2_34_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.34+ ARM64 Details
iris_codec-2025.3.1-cp313-cp313-macosx_15_0_arm64.whl CPython 3.13 CPython 3.13 macOS 15.0+ ARM64 Details
iris_codec-2025.3.1-cp313-cp313-macosx_13_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 13.0+ x86-64 Details
iris_codec-2025.3.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
iris_codec-2025.3.1-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
iris_codec-2025.3.1-cp312-cp312-manylinux_2_34_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.34+ x86-64 Details
iris_codec-2025.3.1-cp312-cp312-manylinux_2_34_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.34+ ARM64 Details
iris_codec-2025.3.1-cp312-cp312-macosx_15_0_arm64.whl CPython 3.12 CPython 3.12 macOS 15.0+ ARM64 Details
iris_codec-2025.3.1-cp312-cp312-macosx_13_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 13.0+ x86-64 Details
iris_codec-2025.3.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
iris_codec-2025.3.1-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details
iris_codec-2025.3.1-cp311-cp311-manylinux_2_34_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.34+ x86-64 Details
iris_codec-2025.3.1-cp311-cp311-manylinux_2_34_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.34+ ARM64 Details
iris_codec-2025.3.1-cp311-cp311-macosx_15_0_arm64.whl CPython 3.11 CPython 3.11 macOS 15.0+ ARM64 Details
iris_codec-2025.3.1-cp311-cp311-macosx_13_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 13.0+ x86-64 Details

Total release size: 156.5 MB

Release files / iris_codec-2025.3.1.tar.gz

Download URL iris_codec-2025.3.1.tar.gz
Size 104.7 kB
Tags Source
SHA-256 checksum
How to use checksums
222f470fbd5202835c70cf34655cead7f424eadd554cf0bf062f4f0db5454fae
BLAKE2b-256 checksum
How to use checksums
01a8687e10f4ae3c5d609b5f07baaa44f4a4e393165557d10b1bf9e514311bb7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log

Release files / iris_codec-2025.3.1-cp313-cp313-win_amd64.whl

Download URL iris_codec-2025.3.1-cp313-cp313-win_amd64.whl
Size 10.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
87a44acdeb965d9ad5f1431911265ffc70307650502f9afe6d4a8c0b848d8834
BLAKE2b-256 checksum
How to use checksums
4ddb3ca30982f1fd062e578b40067f9e32a548d413e4ce9bea662d6184fd4f19
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log

Release files / iris_codec-2025.3.1-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL iris_codec-2025.3.1-cp313-cp313-musllinux_1_2_aarch64.whl
Size 9.9 MB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
104de251c4b6d45796444eb641022d29b3d5b9bf84bee1d412c8d3162f356739
BLAKE2b-256 checksum
How to use checksums
f0b76fa96949b052a7dba450f9df859727ec0f995576999b2b3a6e15ccd52162
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log

Release files / iris_codec-2025.3.1-cp313-cp313-manylinux_2_34_x86_64.whl

Download URL iris_codec-2025.3.1-cp313-cp313-manylinux_2_34_x86_64.whl
Size 8.8 MB
Tags CPython 3.13 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
451d0982f9fb4f8a8e56577621761a18f200d467944e37a8a812f80e933b599e
BLAKE2b-256 checksum
How to use checksums
a35cecec98d12f82a7b87b26b98f755f8afeaf43a517613a0539fbef47388dd5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log

Release files / iris_codec-2025.3.1-cp313-cp313-manylinux_2_34_aarch64.whl

Download URL iris_codec-2025.3.1-cp313-cp313-manylinux_2_34_aarch64.whl
Size 8.6 MB
Tags CPython 3.13 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
7c665a0be201487b091a139f426e63ba0adcdc14e5c3888821bb16c91c25dae6
BLAKE2b-256 checksum
How to use checksums
111a6e524f95d51e42cdb94e1b89f26b2369ca5f3e6e7d110a8f3f9d7015fe90
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log

Release files / iris_codec-2025.3.1-cp313-cp313-macosx_15_0_arm64.whl

Download URL iris_codec-2025.3.1-cp313-cp313-macosx_15_0_arm64.whl
Size 6.5 MB
Tags CPython 3.13 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
f7ee21d277682df79ff70cfd75b3bcecd860f2e7e27f9ac74e00885704d1859d
BLAKE2b-256 checksum
How to use checksums
9bfa8373746a97dbaa973aed103f7283d2d136a6f93b70e1214020e6c29bbca3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log

Release files / iris_codec-2025.3.1-cp313-cp313-macosx_13_0_x86_64.whl

Download URL iris_codec-2025.3.1-cp313-cp313-macosx_13_0_x86_64.whl
Size 8.0 MB
Tags CPython 3.13 macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
42202fc68c9ce86ead7bce6857efadc902286a6e97e946a4d4e72001cd98f8ee
BLAKE2b-256 checksum
How to use checksums
96d34d5c8d97c32adca513d0cf549cee98e60b1d484ab06fe787f7b0597a86c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log

Release files / iris_codec-2025.3.1-cp312-cp312-win_amd64.whl

Download URL iris_codec-2025.3.1-cp312-cp312-win_amd64.whl
Size 10.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
4f890c3fe872354241721cd39b21cbfb7eec60a96081ed122ce8c2412b4ff4f3
BLAKE2b-256 checksum
How to use checksums
6fdec482109d3894400ce7061e078c36f42f96413389d62d9197c777533e755f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log

Release files / iris_codec-2025.3.1-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL iris_codec-2025.3.1-cp312-cp312-musllinux_1_2_aarch64.whl
Size 9.9 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
7a8378dcec4d076bba18dd032859e986194a85f69b70e507f0683d92ec345bdd
BLAKE2b-256 checksum
How to use checksums
216c3b34f479e90508a8791badd270c7629ef7237cf752f84a11c801a2a881fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log

Release files / iris_codec-2025.3.1-cp312-cp312-manylinux_2_34_x86_64.whl

Download URL iris_codec-2025.3.1-cp312-cp312-manylinux_2_34_x86_64.whl
Size 8.8 MB
Tags CPython 3.12 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
8af8ba9eb4c8676831ac7675dd60a570e67b60af771a8d11b686ade72663a325
BLAKE2b-256 checksum
How to use checksums
3c83d4af4fb1545de55883caa77467ca4bc43f18eb1dfdc628f87d1e75d74a8e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log

Release files / iris_codec-2025.3.1-cp312-cp312-manylinux_2_34_aarch64.whl

Download URL iris_codec-2025.3.1-cp312-cp312-manylinux_2_34_aarch64.whl
Size 8.6 MB
Tags CPython 3.12 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
53e83108d165c09673ccf9de24151dc0292698c05809b7dd393db4110178bbf7
BLAKE2b-256 checksum
How to use checksums
35ad8dec205667a18b2fab18453feeb019d6826fc4ce9fdcf44869449e3d49df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log

Release files / iris_codec-2025.3.1-cp312-cp312-macosx_15_0_arm64.whl

Download URL iris_codec-2025.3.1-cp312-cp312-macosx_15_0_arm64.whl
Size 6.5 MB
Tags CPython 3.12 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
0c719592ec595f386f772d555790c3f7532fa308a0ade8934843d27d0d10b84a
BLAKE2b-256 checksum
How to use checksums
3e1652af3e8d44309b40dda043ea8afb1747f3333407a34a0c713d4d166faaa0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log

Release files / iris_codec-2025.3.1-cp312-cp312-macosx_13_0_x86_64.whl

Download URL iris_codec-2025.3.1-cp312-cp312-macosx_13_0_x86_64.whl
Size 8.0 MB
Tags CPython 3.12 macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
4722b5fcdedef458cd9162787583f34fe526cf874b7c1ed2e93c2d8e07450234
BLAKE2b-256 checksum
How to use checksums
dacffaaf5ac17c8b5f6327688b20183ade6c6086cb58befd0a19d194246573c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log

Release files / iris_codec-2025.3.1-cp311-cp311-win_amd64.whl

Download URL iris_codec-2025.3.1-cp311-cp311-win_amd64.whl
Size 10.3 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
1686484dbbc1368a19c5364bbd1789f2e24e8c261043bc60c00234165b45d59b
BLAKE2b-256 checksum
How to use checksums
07d846b0da37f03ea2b076cc5ad6c9bb73296bef9e93651dd2b715fa0c60e0aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log

Release files / iris_codec-2025.3.1-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL iris_codec-2025.3.1-cp311-cp311-musllinux_1_2_aarch64.whl
Size 9.9 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
bd0084e0445265055153a8df5f3ca9cc016f7ad959340b53b55e2b7265d2350a
BLAKE2b-256 checksum
How to use checksums
9c6adcc561fb04d300ca350c4e5ecef95e2c4b90145f0394c40f0ad570467960
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log

Release files / iris_codec-2025.3.1-cp311-cp311-manylinux_2_34_x86_64.whl

Download URL iris_codec-2025.3.1-cp311-cp311-manylinux_2_34_x86_64.whl
Size 8.8 MB
Tags CPython 3.11 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
480989682a1564a58985cc8041e6b9ee426376dd1eb439e8b47553d94d72d729
BLAKE2b-256 checksum
How to use checksums
a35b7f335d84412434efe253e8dae6ff0cf774493714dbaea3a420c0f9194481
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log

Release files / iris_codec-2025.3.1-cp311-cp311-manylinux_2_34_aarch64.whl

Download URL iris_codec-2025.3.1-cp311-cp311-manylinux_2_34_aarch64.whl
Size 8.6 MB
Tags CPython 3.11 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
82d7c9e5ed26a4695bebf5211d4caa70bca5f414690c10130f444b92b1d6a30b
BLAKE2b-256 checksum
How to use checksums
1ee7f30b1f10465cbeca8d003d17e867ca9d912fad200f0cf676a66f7e4f97ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log

Release files / iris_codec-2025.3.1-cp311-cp311-macosx_15_0_arm64.whl

Download URL iris_codec-2025.3.1-cp311-cp311-macosx_15_0_arm64.whl
Size 6.5 MB
Tags CPython 3.11 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
0534f61e869715d840dbd4bf371e9410da2aae82977a38836a35cd8da194140e
BLAKE2b-256 checksum
How to use checksums
d71926dcf376df80261f1d1a7a4a48cc90154d03353fa62624e7f51f458cc763
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log

Release files / iris_codec-2025.3.1-cp311-cp311-macosx_13_0_x86_64.whl

Download URL iris_codec-2025.3.1-cp311-cp311-macosx_13_0_x86_64.whl
Size 8.0 MB
Tags CPython 3.11 macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
23613658fe6e303f8092f296282b3abf4f22219aac7433e3aa5fedc3857380e7
BLAKE2b-256 checksum
How to use checksums
2bca3f4f8c228413ef2c2da99749906907a14f4114e46ab93df82ebe45f3cae1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2025.

Transparency log
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