Skip to main content

ithmb-core Python Bindings

Python bindings for ithmb-codec, a pure Rust decoder for Apple .ithmb thumbnail cache files.

Install

pip install ithmb-codec

Trial builds from dev pushes are published to TestPyPI:

pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ ithmb-codec

Build

# Install maturin if you don't have it
pip install maturin

# Build and install the package
cd pymod/
maturin develop --release

Usage

import ithmb_core

# Decode a single .ithmb file
with open("photo.ithmb", "rb") as f:
    data = f.read()
result = ithmb_core.decode_ithmb(data)
# result = { "width": 320, "height": 240, "data": <BGRA bytes>, "format": "BGRA", "rotation": 0 }

# Decode a PhotoDB/ArtworkDB container
with open("PhotoDB", "rb") as f:
    data = f.read()
images = ithmb_core.open_ithmb(data)
for img in images:
    print(f"{img['width']}x{img['height']}")

# List all known profiles
profiles = ithmb_core.list_profiles()
for p in profiles:
    print(f"{p['name']}: {p['width']}x{p['height']} ({p['encoding']})")

API

  • decode_ithmb(data, canceled=None) — Decode a single .ithmb file from bytes. Returns a dict with width, height, data (BGRA bytes), format, rotation.
  • open_ithmb(data, canceled=None) — Decode a PhotoDB/ArtworkDB container or bare .ithmb. Returns a list of dicts (same shape as decode_ithmb).
  • list_profiles() — List all 53 built-in decoding profiles (54 raw format IDs, 1 disabled).

Testing

cd pymod/
uv run --frozen pytest          # 11 tests
uv run --frozen ruff check .    # E,F,UP,B,SIM,I (line-length 100, py312)
uv run --frozen basedpyright    # recommended mode

Local-only for now (not CI-gated) — see TECH_DEBT_AUDIT.md PYM-01.

Metadata

Release files for ithmb-codec 1.9.10

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

Source distribution (sdist)

Source distribution for ithmb-codec 1.9.10
File Size Uploaded
ithmb_codec-1.9.10.tar.gz 264.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for ithmb-codec 1.9.10
File
ithmb_codec-1.9.10-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details
ithmb_codec-1.9.10-cp312-abi3-manylinux_2_34_x86_64.whl CPython 3.12 abi3 Linux glibc 2.34+ x86-64 Details
ithmb_codec-1.9.10-cp312-abi3-manylinux_2_34_aarch64.whl CPython 3.12 abi3 Linux glibc 2.34+ ARM64 Details
ithmb_codec-1.9.10-cp312-abi3-macosx_11_0_arm64.whl CPython 3.12 abi3 macOS 11.0+ ARM64 Details
ithmb_codec-1.9.10-cp312-abi3-macosx_10_12_x86_64.whl CPython 3.12 abi3 macOS 10.12+ x86-64 Details

Total release size: 2.1 MB

Release files / ithmb_codec-1.9.10.tar.gz

Download URL ithmb_codec-1.9.10.tar.gz
Size 264.7 kB
Tags Source
SHA-256 checksum
How to use checksums
1cdc6589ce44a4824d952ec19a0129e78f98867c452f3942fa1622a24f13464e
BLAKE2b-256 checksum
How to use checksums
fccaa69ed072b75cadd7a555c7252bc7d897bdf384a2c1f7ec15295ea060b3b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 7, 2026.

Transparency log

Release files / ithmb_codec-1.9.10-cp312-abi3-win_amd64.whl

Download URL ithmb_codec-1.9.10-cp312-abi3-win_amd64.whl
Size 266.6 kB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
7e631da333c7b61472d8070c916c2dcc3691d09c063fe2c28f1ca042b0443bf8
BLAKE2b-256 checksum
How to use checksums
1730a050923143364a8d32c7d5cd00950f073ecc436ee8b651908537bd400d96
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 7, 2026.

Transparency log

Release files / ithmb_codec-1.9.10-cp312-abi3-manylinux_2_34_x86_64.whl

Download URL ithmb_codec-1.9.10-cp312-abi3-manylinux_2_34_x86_64.whl
Size 418.2 kB
Tags CPython 3.12 Linux glibc 2.34+ x86-64 abi3
SHA-256 checksum
How to use checksums
90a8f61dd3fea9b8e454703f2945555244feed9deb69e61e941d1960938288c7
BLAKE2b-256 checksum
How to use checksums
e65d304d7994aadb00a919de41549588b95f537ce9c4f184cef103164f0e7c0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 7, 2026.

Transparency log

Release files / ithmb_codec-1.9.10-cp312-abi3-manylinux_2_34_aarch64.whl

Download URL ithmb_codec-1.9.10-cp312-abi3-manylinux_2_34_aarch64.whl
Size 399.2 kB
Tags CPython 3.12 Linux glibc 2.34+ ARM64 abi3
SHA-256 checksum
How to use checksums
b001679b9ed2ac0f90f7dbd389a49219e9a8d3b984f04e4a10b4d40cb45de625
BLAKE2b-256 checksum
How to use checksums
f4f6c51713f45c5c52526e1339655847b807560e4b288b9eeaa44a259f28842a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 7, 2026.

Transparency log

Release files / ithmb_codec-1.9.10-cp312-abi3-macosx_11_0_arm64.whl

Download URL ithmb_codec-1.9.10-cp312-abi3-macosx_11_0_arm64.whl
Size 362.4 kB
Tags CPython 3.12 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
734ec9343b54cccc17fbf02eed9f0daa266c7b2e53c47e27f5848fb7d60baf8d
BLAKE2b-256 checksum
How to use checksums
e30e51f2113d22dc0e70b0b9386a7ddf107eeb0665d636bdf71e0b60d8241e0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 7, 2026.

Transparency log

Release files / ithmb_codec-1.9.10-cp312-abi3-macosx_10_12_x86_64.whl

Download URL ithmb_codec-1.9.10-cp312-abi3-macosx_10_12_x86_64.whl
Size 378.3 kB
Tags CPython 3.12 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
415891997e5a636692517a7288041c551b8cef3782437b258322be9c1040ab41
BLAKE2b-256 checksum
How to use checksums
c64b9498efb20779edf90b84770c8478c426f9c129b01050f6513f21ec9072be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 7, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.9.10 This release

6 release 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