Skip to main content

Portable and blazingly fast whole slide image compression and serialization library for the Iris File Extension

Project description

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) and
  • 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 if you choose to develop C/C++ applications with Python bindings that dynamically link the C++ Iris-Codec in addition to Python modules.

Pip (PyPi)

PyPI - Version PyPI - Status PyPI - Python Version PyPI - Format PyPI - Downloads

Iris Codec can also be installed via Pip. The Encoder module dynamically links against OpenSlide to re-encode vendor slide files. This may be removed in the future, but it must be installed presently.

pip install iris-codec openslide-bin

Anaconda (Conda-Forge)

Static Badge Conda Version Conda Downloads Conda Platforms

You may configure your conda enviornment in the following way

conda config --add channels conda-forge
conda install iris-codec

Or directly install it in a single command

conda install -c conda-forge Iris-Codec 

or install it with mamba:

mamba install iris-codec

NOTE: The python Conda Forge Encoder does not support OpenSlide on Windows presently as OpenSlide does not support windows with its official Conda-Forge package. We are building in native support for vendor files and DICOM for re-encoding.

Python Example API

Import the Python API and Iris Codec Module.

#Import the Iris Codec Module
from Iris import Codec
slide_path = 'path/to/slide_file.iris'

Perform a deep validation of the slide file structure. This will navigate the internal offset-chain and check for violations of the IFE standard.

result = Codec.validate_slide_path(slide_path)
if (result.success() == False):
    raise Exception(f'Invalid slide file path: {result.message()}')
print(f"Slide file '{slide_path}' successfully passed validation")

Open a slide file. The following conditional will always return True if the slide has already passed validation but you may skip validation and it will return with a null slide object (but without providing the Result debug info).

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

Get the slide abstraction, read off the slide dimensions, and then print it to the console.

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

# Print the slide extent to the console
extent = info.extent
print(f"Slide file {extent.width} px by {extent.height}px with an encoding of {info.encoding}. The layer extents are as follows:")
print(f'There are {len(extent.layers)} layers comprising the following dimensions:')
for i, layer in enumerate(extent.layers):
    print(f' Layer {i}: {layer.x_tiles} x-tiles, {layer.y_tiles} y-tiles, {layer.scale:0.0f}x scale')

Generate a quick low-power view of the slide using Pillow images.

from PIL import Image
layer_index = 0 # Lowest power layer is layer zero (0)
scale = int(extent.layers[layer_index].scale)
composite = Image.new('RGBA',(extent.width * scale, extent.height * scale))
layer_extent = extent.layers[layer_index]
for y in range(layer_extent.y_tiles):
  for x in range (layer_extent.x_tiles):
    tile_index = y*layer_extent.x_tiles+x
    composite.paste(Image.fromarray(slide.read_slide_tile(layer_index, tile_index)),(256*x,256*y)) #Iris tiles are always 256 px in each dim
composite.show()

CAUTION: Despite Iris' native fast read speed, higher resolution layers may take substantial time and memory for Pillow to create a full image as it does not create tiled images. I do not recommend doing this above layer 0 or 1 as it may be onerous for PIL.Image

The API for metadata is designed to be intuitive and pythonic. Below shows how to investigate the metadata attribute array and view a thumbnail image, if one is present within the slide file.

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

print ("Slide metadata attributes")
for attribute in info.metadata.attributes:
    print(f"{attribute}: {info.metadata.attributes[attribute]}")

from PIL import Image
if ('thumbnail' in info.metadata.associated_images):
    image = Image.fromarray(slide.read_associated_image('thumbnail'))
    image.show()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iris_codec-2025.2.0a2.tar.gz (75.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

iris_codec-2025.2.0a2-cp313-cp313-win_amd64.whl (10.2 MB view details)

Uploaded CPython 3.13Windows x86-64

iris_codec-2025.2.0a2-cp313-cp313-musllinux_1_2_aarch64.whl (9.8 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

iris_codec-2025.2.0a2-cp313-cp313-manylinux_2_34_x86_64.whl (8.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

iris_codec-2025.2.0a2-cp313-cp313-manylinux_2_34_aarch64.whl (8.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

iris_codec-2025.2.0a2-cp313-cp313-macosx_14_0_arm64.whl (6.4 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

iris_codec-2025.2.0a2-cp313-cp313-macosx_13_0_x86_64.whl (7.8 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

iris_codec-2025.2.0a2-cp312-cp312-win_amd64.whl (10.2 MB view details)

Uploaded CPython 3.12Windows x86-64

iris_codec-2025.2.0a2-cp312-cp312-musllinux_1_2_aarch64.whl (9.8 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

iris_codec-2025.2.0a2-cp312-cp312-manylinux_2_34_x86_64.whl (8.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

iris_codec-2025.2.0a2-cp312-cp312-manylinux_2_34_aarch64.whl (8.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

iris_codec-2025.2.0a2-cp312-cp312-macosx_14_0_arm64.whl (6.4 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

iris_codec-2025.2.0a2-cp312-cp312-macosx_13_0_x86_64.whl (7.8 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

iris_codec-2025.2.0a2-cp311-cp311-win_amd64.whl (10.2 MB view details)

Uploaded CPython 3.11Windows x86-64

iris_codec-2025.2.0a2-cp311-cp311-musllinux_1_2_aarch64.whl (9.8 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

iris_codec-2025.2.0a2-cp311-cp311-manylinux_2_34_x86_64.whl (8.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

iris_codec-2025.2.0a2-cp311-cp311-manylinux_2_34_aarch64.whl (8.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

iris_codec-2025.2.0a2-cp311-cp311-macosx_14_0_arm64.whl (6.4 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

iris_codec-2025.2.0a2-cp311-cp311-macosx_13_0_x86_64.whl (7.8 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

File details

Details for the file iris_codec-2025.2.0a2.tar.gz.

File metadata

  • Download URL: iris_codec-2025.2.0a2.tar.gz
  • Upload date:
  • Size: 75.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for iris_codec-2025.2.0a2.tar.gz
Algorithm Hash digest
SHA256 e8c281f72116f0ea5d3f9c8b5e6e26214b2c9b74bce69cba5f2a0f7a43ebdf78
MD5 855b4fc317c5f7f20e38913fee9768db
BLAKE2b-256 ac60d567adeb3701a8f55ba361c534e67b16ba3e533308b3cb04f3c08ea452dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for iris_codec-2025.2.0a2.tar.gz:

Publisher: distribute-pypi.yml on IrisDigitalPathology/Iris-Codec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iris_codec-2025.2.0a2-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for iris_codec-2025.2.0a2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2590c2a12bccbbdbbe6eb8589dfe5f20b6c32c82abad61153b8819153024e7e2
MD5 3f686e1e63979c4b46a3d40316301b11
BLAKE2b-256 85d4a9f881d6527e2a580b9dc8159c678178649a86ad1002a63d0bfc6f0094e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for iris_codec-2025.2.0a2-cp313-cp313-win_amd64.whl:

Publisher: distribute-pypi.yml on IrisDigitalPathology/Iris-Codec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iris_codec-2025.2.0a2-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for iris_codec-2025.2.0a2-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 704d7b434f445f7b91e15e8415b819d2036456c403a95aa4968fa82c15a108dc
MD5 cd85484eb76a3124b489fe937451a390
BLAKE2b-256 7fc89f55013f7a53f2cc43422dd15392749aad934a32b20211a7df6cdb25fe41

See more details on using hashes here.

Provenance

The following attestation bundles were made for iris_codec-2025.2.0a2-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: distribute-pypi.yml on IrisDigitalPathology/Iris-Codec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iris_codec-2025.2.0a2-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for iris_codec-2025.2.0a2-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 b9b0bb7cf7d825e114a55a11d7918a22b2db63cc562755f20a2d6e6ce583b75e
MD5 fee8407ce730ea29abcf872463b24975
BLAKE2b-256 4cd104b242da2770a30f004585ef87d25862c093878e8872d08a7f37aa936d14

See more details on using hashes here.

Provenance

The following attestation bundles were made for iris_codec-2025.2.0a2-cp313-cp313-manylinux_2_34_x86_64.whl:

Publisher: distribute-pypi.yml on IrisDigitalPathology/Iris-Codec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iris_codec-2025.2.0a2-cp313-cp313-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for iris_codec-2025.2.0a2-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 9de7ac1aa84af02cc71388b512c57888b9f5cfa8f740464ec90c05f802e5a1c9
MD5 5b289f8a30ca5fd41ed02c37a51dee06
BLAKE2b-256 9051cce4ea0d219a4dd711f65a7ad17b0431c3e86224cf27321e0ba5452c9e78

See more details on using hashes here.

Provenance

The following attestation bundles were made for iris_codec-2025.2.0a2-cp313-cp313-manylinux_2_34_aarch64.whl:

Publisher: distribute-pypi.yml on IrisDigitalPathology/Iris-Codec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iris_codec-2025.2.0a2-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for iris_codec-2025.2.0a2-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 367daed1879cb81e271ee33d36c69b3ee89148df2082792f4f6631c2f01e2469
MD5 9337f19d6448b9300a9bea920c71b49b
BLAKE2b-256 3ab0c98176d64f7d18074ada2285974db3b101c782fe52d046c41257bef4a54a

See more details on using hashes here.

Provenance

The following attestation bundles were made for iris_codec-2025.2.0a2-cp313-cp313-macosx_14_0_arm64.whl:

Publisher: distribute-pypi.yml on IrisDigitalPathology/Iris-Codec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iris_codec-2025.2.0a2-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for iris_codec-2025.2.0a2-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 427bb4c52d7da95c0e751a1b569f45c7904a9728c56a9dd36a377e56fef8be70
MD5 898ebdfcfce6bab66e72a0cd7fd857e8
BLAKE2b-256 576fe7b5bba5fb3ba76f38ea2ff60aab17e2970c7f5452d0b8762be0271a07c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for iris_codec-2025.2.0a2-cp313-cp313-macosx_13_0_x86_64.whl:

Publisher: distribute-pypi.yml on IrisDigitalPathology/Iris-Codec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iris_codec-2025.2.0a2-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for iris_codec-2025.2.0a2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c31d093f73f5117521c31ce225171ee8269f5dd89e9c342bf43f597431a05036
MD5 9389432815c1e4fff99a3764a99e2c5e
BLAKE2b-256 c236fcd536d66ae5801aba07e54cd82854bf3a821265423f081ae146cdbe9966

See more details on using hashes here.

Provenance

The following attestation bundles were made for iris_codec-2025.2.0a2-cp312-cp312-win_amd64.whl:

Publisher: distribute-pypi.yml on IrisDigitalPathology/Iris-Codec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iris_codec-2025.2.0a2-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for iris_codec-2025.2.0a2-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f74fe4e349581e19ab6be7b72572a97a255e1a757c0a75df64edeaaf18447ef9
MD5 89f1423d50728ba50672cc650b24af70
BLAKE2b-256 1649b77152b3fe754b7f6b2fbd48c19fe56464955afdca8745a85a819a5e1b72

See more details on using hashes here.

Provenance

The following attestation bundles were made for iris_codec-2025.2.0a2-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: distribute-pypi.yml on IrisDigitalPathology/Iris-Codec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iris_codec-2025.2.0a2-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for iris_codec-2025.2.0a2-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 b44b3bcb89425ed70fcba9e227237897786828d9d183a0e12e685142ba776663
MD5 e3a0a1e879ac02bb87f2377b40e55e7c
BLAKE2b-256 b218e6cf97629ad0e56a504f2d334ac0adebe686401b11c497e1ad4cf8add6b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for iris_codec-2025.2.0a2-cp312-cp312-manylinux_2_34_x86_64.whl:

Publisher: distribute-pypi.yml on IrisDigitalPathology/Iris-Codec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iris_codec-2025.2.0a2-cp312-cp312-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for iris_codec-2025.2.0a2-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 71075c8a37e618d27947cb35ba11bf6d55ff678f8ed3be210b4cf2975b3b4726
MD5 1c5fa00f70220383c6f16fccef4e0b5a
BLAKE2b-256 0caa065aeaaa4abe7889cd8d09125f9baad272189fd1a130f03692def64fb12a

See more details on using hashes here.

Provenance

The following attestation bundles were made for iris_codec-2025.2.0a2-cp312-cp312-manylinux_2_34_aarch64.whl:

Publisher: distribute-pypi.yml on IrisDigitalPathology/Iris-Codec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iris_codec-2025.2.0a2-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for iris_codec-2025.2.0a2-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 e49ad22262b4d820023b0a2bcb5e83eecc4308e8ae1a7262639675d217c6c4ff
MD5 ce5ca0856672abd9330438e1d2593007
BLAKE2b-256 8fe788adb0dc7396545c14104ff81521a6b7718de1f3f019277d9769fc76a970

See more details on using hashes here.

Provenance

The following attestation bundles were made for iris_codec-2025.2.0a2-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: distribute-pypi.yml on IrisDigitalPathology/Iris-Codec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iris_codec-2025.2.0a2-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for iris_codec-2025.2.0a2-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 e1b75b9bfe6b325004cbb783c0839f96677b70e6fee0c05b2cac9d0439a401f0
MD5 62dbdeb8b3685adfc3eaea4c55317c66
BLAKE2b-256 5775ab4a008b553f519581aa4d04d25e017ce2c6853aa4d98f665233115bed2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for iris_codec-2025.2.0a2-cp312-cp312-macosx_13_0_x86_64.whl:

Publisher: distribute-pypi.yml on IrisDigitalPathology/Iris-Codec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iris_codec-2025.2.0a2-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for iris_codec-2025.2.0a2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ede61a59af9c97468c4f5a069b637e424178e1e07f6c136af532f98d85494662
MD5 6afe80ba62113e0a181f8cd812baf2d1
BLAKE2b-256 28aa88f926dbca628172504f077c1aa37d4d3a84968c2ba430debd0941c00d71

See more details on using hashes here.

Provenance

The following attestation bundles were made for iris_codec-2025.2.0a2-cp311-cp311-win_amd64.whl:

Publisher: distribute-pypi.yml on IrisDigitalPathology/Iris-Codec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iris_codec-2025.2.0a2-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for iris_codec-2025.2.0a2-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5efa554d42d4f04506c71a972571ef1ac7fa97e29bcbed696e5a58e1cf7ae8e3
MD5 4257cbad216490d6ca1aef9a13e51ef1
BLAKE2b-256 e3acabf4a5ebdaec0a4ba04cd9fc83211f08f3c579853f3e334ae2dcfd23b262

See more details on using hashes here.

Provenance

The following attestation bundles were made for iris_codec-2025.2.0a2-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: distribute-pypi.yml on IrisDigitalPathology/Iris-Codec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iris_codec-2025.2.0a2-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for iris_codec-2025.2.0a2-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 99872b5d457d4f14c049348705191c6a0a2c8baf1b5b5ef740764b10f702e8fb
MD5 2b32412c2f22a957bba5280d5a366f32
BLAKE2b-256 bc456a2ec6ed3522d8faa4df3e01b195bf46932dca0531fa15f89f163fdc62c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for iris_codec-2025.2.0a2-cp311-cp311-manylinux_2_34_x86_64.whl:

Publisher: distribute-pypi.yml on IrisDigitalPathology/Iris-Codec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iris_codec-2025.2.0a2-cp311-cp311-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for iris_codec-2025.2.0a2-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 ff9fd50157dfb7a14119c55b4ee7d1cdb22bfdbc7be6bc8c3e68ea39e19b1620
MD5 8be133b1e13e9bea19afe1ccefdfebb7
BLAKE2b-256 3868a4062109fd8b0ecd581a81d069aacd83d6cd559202d0510ba9a5d95a2203

See more details on using hashes here.

Provenance

The following attestation bundles were made for iris_codec-2025.2.0a2-cp311-cp311-manylinux_2_34_aarch64.whl:

Publisher: distribute-pypi.yml on IrisDigitalPathology/Iris-Codec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iris_codec-2025.2.0a2-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for iris_codec-2025.2.0a2-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 91e1d435fe2a94f5f6f2f265b718876663173de2137bf593ea662a0595470c3e
MD5 9f5159cb8a2ea1491986106c0d0a60c7
BLAKE2b-256 d189488892a6b2a61ca6c2c7a62b58c37ca80a0dfa242d1e2010afb5b701e126

See more details on using hashes here.

Provenance

The following attestation bundles were made for iris_codec-2025.2.0a2-cp311-cp311-macosx_14_0_arm64.whl:

Publisher: distribute-pypi.yml on IrisDigitalPathology/Iris-Codec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iris_codec-2025.2.0a2-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for iris_codec-2025.2.0a2-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 c395e59eca5e59e4aeee0a4a040495f8d87bd2d450cd5a3cf9ff6a0d110c8ebb
MD5 23ccabb51683e9d84339b5a9c7b26bf3
BLAKE2b-256 f99b3edd3b236a561e1c1b40434de41c994c5578f3227723af7b76affdb58e4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for iris_codec-2025.2.0a2-cp311-cp311-macosx_13_0_x86_64.whl:

Publisher: distribute-pypi.yml on IrisDigitalPathology/Iris-Codec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page