Skip to main content

IatroCache

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 and I/O, with domain decoding kept in Python adapters and codecs.
  • Independent per-record compression for random access and data-loader concurrency.

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.2; 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.2.tar.gz (62.4 kB view details)

Uploaded Source

Built Distribution

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

iatro_base_iac-0.1.2-cp39-abi3-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: iatro_base_iac-0.1.2.tar.gz
  • Upload date:
  • Size: 62.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for iatro_base_iac-0.1.2.tar.gz
Algorithm Hash digest
SHA256 1abf6f6b5286866922f2e52cab0ed03cc97631d150f76eff50af23f631a467fa
MD5 671366536baf30ed8a490246137dd5b0
BLAKE2b-256 93a9e84737a6b095a9c0e55e1ba3cc56b8f003d70575351a63f5c4d47a33fe0b

See more details on using hashes here.

File details

Details for the file iatro_base_iac-0.1.2-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for iatro_base_iac-0.1.2-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5f91b38d79d20ee0718bbb777affd7dc141d0310a29f0258121191f2058f7412
MD5 8d4a029f23db9b18b0b7387133b7a542
BLAKE2b-256 21f8f9958406bd5ecccb566cb6e9bcf5001c1dcedbec96ec4f10b94574c7a6c6

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.4

5 files

0.1.3

5 files

This release

0.1.2 This release

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