Iris Codec Python API
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)
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
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 compressionTILE_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 applicationsFORMAT_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)
| File | Size | Uploaded | |
|---|---|---|---|
| iris_codec-2025.3.1.tar.gz | 104.7 kB | Details |
Built distributions (wheels)
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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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