Skip to main content

IatroCache

CI PyPI

IatroCache (.iac) is a lightweight, high-throughput binary cache format for multimodal medical datasets. It combines Arrow metadata with directly addressable payload bytes in one immutable file, supporting image tiles, feature vectors, clinical text, DICOM instances, and project-defined schemas.

The repository contains two public packages:

  • iatro-base-iac: the v2 container, native reader/writer, record packs, and codecs.
  • iatro-iac-adapters: reusable schemas for tiles, WSI images, teacher features, clinical text, paired text, and patient-level DICOM.

Why IatroCache

  • Explicit record boundaries through metadata rather than stream scanning.
  • Owned batch reads and an explicit mmap-backed zero-copy API.
  • Variable-length records and fixed-width dense matrices in one format.
  • Arrow tables for searchable, schema-rich metadata.
  • Native checked addressing, I/O, and built-in codecs, with modality policy kept in Python adapters.
  • Independent per-record compression for random access and data-loader concurrency.
  • Native Raw, Brotli, Zstandard, JPEG XL, JPEG, JPEG 2000/HTJ2K, and JPEG-LS support for clinical text, radiology, and pathology payloads.

Installation

Install the general container API:

pip install iatro-base-iac

Install the reusable medical-data schemas and matching core dependency:

pip install iatro-iac-adapters

Quick start

import pyarrow as pa

from iatro.iac import Codec, PackReader, build_pack

slides = pa.table({
    "slide_idx": pa.array([0], type=pa.uint8()),
    "slide_id": ["slide-001"],
    "patient_id": ["patient-001"],
})
items = pa.table({"item_id": ["a", "b"]})

build_pack(
    "example.iac",
    {"payload_type": "raw_bytes", "codec": Codec.NONE},
    slides,
    items,
    [b"first", b"second"],
)

reader = PackReader("example.iac")
try:
    payload = reader.read_payload(1)
    batch = reader.read_payloads([1, 0, 1])
    metadata = reader.index_table
finally:
    reader.close()

The writer adds offset, length, and crc32 columns for variable records. Batch reads preserve requested order and duplicates and return owned data. read_payload_views() is the separate, explicit zero-copy interface.

Documentation

The IatroCache Wiki covers:

Format at a glance

[ fixed 64 KiB header ] magic + version + JSON layout and schema fields
[ slide table         ] Arrow IPC stream
[ index table         ] Arrow IPC stream
[ data segment        ] variable payloads or a fixed-width matrix

The current package version is 0.1.3; the on-disk format version is 2. Those version domains evolve independently.

License

IatroCache is released under the MIT License.

Download files

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

Source Distribution

iatro_base_iac-0.1.3.tar.gz (178.8 kB view details)

Uploaded Source

Built Distributions

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

iatro_base_iac-0.1.3-cp39-abi3-win_amd64.whl (5.0 MB view details)

Uploaded CPython 3.9+Windows x86-64

iatro_base_iac-0.1.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

iatro_base_iac-0.1.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.8 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

iatro_base_iac-0.1.3-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (8.5 MB view details)

Uploaded CPython 3.9+macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file iatro_base_iac-0.1.3.tar.gz.

File metadata

  • Download URL: iatro_base_iac-0.1.3.tar.gz
  • Upload date:
  • Size: 178.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for iatro_base_iac-0.1.3.tar.gz
Algorithm Hash digest
SHA256 24b40e13066a3e112886510cce6ed2ae38c6cf122e82a9fc3eb66046976d789e
MD5 ba1ed92729b82cfe36733e07ce32d5c6
BLAKE2b-256 649f50002c2e30e26eea2471f26a044dc455d42c60477fd04d2ff78fc492be7f

See more details on using hashes here.

File details

Details for the file iatro_base_iac-0.1.3-cp39-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for iatro_base_iac-0.1.3-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 a0035054d3fc634afb2bcac6b5b6013ddabb2a62ade1b2042e8ae029123b3c2b
MD5 3d20185f1ce9a12049eb37a0b9b35b7f
BLAKE2b-256 accb043c67b082e0a0c21cde137d41565cd15096877409f1d8a7d39c7826d46f

See more details on using hashes here.

File details

Details for the file iatro_base_iac-0.1.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for iatro_base_iac-0.1.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d3316602aa495006a50b30bf684eaf1bf4b01607da2abc01f90684d69ac10cb6
MD5 3348c15c349c2f7fd57a02ce955057a2
BLAKE2b-256 65af94233cfa916d21f2407553e4d2e77e224650e09eefd191c718816e3fba66

See more details on using hashes here.

File details

Details for the file iatro_base_iac-0.1.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for iatro_base_iac-0.1.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c3bb86689a06a7f8fbc84eb33c64c5dbab613df890368aeb04d0e85da85dc1fc
MD5 d361f1f71c984640aa1a97b63fbf5c60
BLAKE2b-256 f6266c9f9f2a3b4969651ca340d1134ae9b5b6db183f162bc948df6e416c4a32

See more details on using hashes here.

File details

Details for the file iatro_base_iac-0.1.3-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for iatro_base_iac-0.1.3-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 4816b01edaf32693caaed631e7180d013f8c0fe724ace6254075e7e2b4747e9c
MD5 091504f4a381ff68bc88ec76b9f7fc0c
BLAKE2b-256 3dae2f0a0ceed82a4bc37027a83454c6a05db229932d24a49b7dd76d17ee53fd

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.4

5 files

This release

0.1.3 This release

5 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

2 files

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