Skip to main content

ChromaPakZ

ChromaPakZ — lossless RGBD video encoder

A lossless RGBD video codec (クロマパックZ): a single ordinary .webm that carries an 8-bit RGB track alongside bit-exact 16-bit auxiliary signals — depth, object IDs, packed normals, or any other W×H uint16 plane — all kept in sync. Its design goals:

  • a legacy player shows plain RGB — the depth rides in extra tracks an ordinary player ignores;
  • it uses only royalty-free codecs (VP9 / libvpx, BSD-licensed) — no GPL encoder, no patent pool;
  • it runs in the browser through WebCodecs — no WASM on Chromium, with a small libvpx-WASM fallback for engines whose native path isn't bit-exact;
  • each 16-bit signal is packed with a single reversible map, not a stack of per-range slices to manage;
  • multiple lossless uint16 signals (depth, object IDs, …) share one container, frame-aligned.

The same format is implemented three times — browser (WebCodecs), C++ (libvpx), and Python — and a file written by any one of them decodes bit-exactly in the other two.

Quickstart

# Python — self-contained wheels (libvpx is linked in; no build tools needed)
pip install chromapakz
python -c "import chromapakz as cz; print(cz.inverse_depth_spec(0.3, 9.0))"
#   cz.encode({"depth": u16}, specs={"depth": cz.inverse_depth_spec(near, far)}, rgb=rgba)

# Browser — streaming encode/decode, WebCodecs with a per-operation WASM fallback (docs/API.md)
npm install chromapakz
#   import { createEncoder, createDecoder } from 'chromapakz';
#   createEncoder({ signals: [{ id:'depth', near, far }, { id:'objectId' }] })
#   createDecoder(bytes).readFrame() -> { rgb, signals: { depth: { u16 }, objectId: { u16 } } }

# Browser demo — encode→file→decode→view, entirely in-page (no WASM on Chromium)
python3 -m http.server 8000      # from the repo root, then open http://localhost:8000/demo/

Building from a checkout instead (C++ CLI, or a platform with no wheel) needs libvpx dev headers, pkg-config, CMake and a C++17 compiler — brew install libvpx pkg-config cmake ninja, or apt-get install libvpx-dev pkg-config cmake ninja-build g++:

pip install .                    # pip compiles the native core via CMake and bundles it

cmake -S . -B build && cmake --build build -j     # or: native/build.sh
./build/dccli selftest
./build/dccli decodesignal clip.webm depth depth.u16

How it works

Layer Choice
Container WebM / Matroska, multi-track. RGB is track 1, so any player shows it; depth tracks are ignored by players that don't know them. A Duration, a Cues index, and ~1 s RGB keyframes make it seekable in <video> (depth stays single-keyframe — it isn't what <video> plays).
RGB track 8-bit VP9, YUV 4:2:0, BT.709 full-range — a normal, viewable video stream.
Lossless signals Each signal: optional quant (e.g. inverse-depth for float depth) → uint16 → triangle-fold 8+8 → two VP9 lossless tracks. Add object IDs, labels, etc. as additional signal pairs.
Metadata v2 signals[] only — each signal (id, tracks, scheme, quant).

Inverse-depth quantization spends precision where it matters (near surfaces), matching how stereo/ToF sensors behave. Float can't be stored losslessly in 16 bits, so this quantization is the format's defined precision boundary; everything below it is bit-exact.

Triangle-fold is the key trick. Split a 16-bit value into a high and low byte the naive way (d & 0xFF) and the low byte becomes a sawtooth — a hard 255→0 cliff every 256 levels. Those manufactured edges defeat any spatial predictor, since the codec sees a discontinuity wherever the depth simply crosses a byte boundary. Reflecting every other segment (lo = (high & 1) ? 255 - lo : lo) turns that sawtooth into a continuous triangle wave with no cliffs, so VP9's predictor sees smooth gradients again. One reversible map, nothing to manage.

Full color range is signaled in the bitstream (VP9E_SET_COLOR_RANGE), so a range-honouring decoder returns the packed luma unscaled instead of applying a limited-range conversion that would corrupt depth.

Why these choices (measured, not assumed — Chromium 148)

WebCodecs has no "lossless" switch, so every claim here is a measurement from experiments/webcodecs-lossless:

  • VP9 at QP 0 is bit-exact through WebCodecs; AV1 is not (AV1 quantizer:0 drifts by up to ~257). So VP9 carries depth; AV1 is fine only for the lossy RGB track.
  • Triangle-fold beats a naive byte-split by ~13%, and inter-coding cuts another ~52% (and stays bit-exact across the GOP) — most of what looks like incompressible LSB noise is actually static fold structure that temporal prediction removes.
  • 8+8 beats high-bit-depth. 10-bit VP9 encode is available in browsers, but a 10+6 split is ~4% worse than 8+8 and narrows browser reach, so 8+8 wins on both counts.

docs/EVALUATION.md is the full due-diligence record: every codec/container/packing alternative considered, the constraint that eliminates each, a head-to-head benchmark (ChromaPakZ beats FFV1, PNG-16 and x264 on the same 16-bit depth, beats x265/HEVC at matched 11-bit precision, and lands within 1–2% of LZMA), cited licensing/browser facts, and a sensitivity analysis of when a different choice would win.

What it costs

Lossless 16-bit depth of a real sensor is noise-bound: the low bits are largely sensor noise, and lossless coding must preserve every bit of it. On real Kinect data (TUM RGB-D fr1/desk, 30 frames at 640×480, 78% valid):

track bits / pixel
RGB 0.19
depth (hi + lo) 0.50 + 4.35
total 5.04

— depth round-tripped bit-exact. Reproduce with examples/tum_fr1desk.py (see its header for the one-line dataset fetch).

The one knob that moves this is the quantization precision relative to the sensor's noise floor. Spread depth across all 65,535 codes and each step is far finer than the noise, so the codec dutifully archives the randomness bit for bit. Coarsen the grid to match the noise and the cost collapses — with no loss of real signal. The sweep below is measured on the synthetic benchmark clip (make_synthetic_rgbd.py, range ≈0.9–7.8 m) — a separate clip from the TUM numbers above:

effective bits depth precision at 7.8 m depth bpp
16 (default) 0.9 mm per step 13.2
12 14 mm per step 9.7
11 28 mm per step 8.1
10 56 mm per step 6.9

(Reproduce the bpp column with python python/benchmark_codecs.py.) levels is a first-class, metadata-stored parameter (default 65536 = full 16-bit) shared by all three implementations, so reduced-precision files reconstruct identically everywhere. Set it with chromapakz-ingest --depth-bits N or the levels= argument.

Codec rate-distortion

This is a separate axis from precision: how faithfully the codec carries whatever quantized depth you give it. PSNR here is the encode→decode path measured against the source codes.

ChromaPakZ codec rate-distortion

The lossless codecs all sit on the ∞-dB band — they reproduce depth exactly and differ only in size, where ChromaPakZ (VP9) is smallest, just under FFV1, with PNG-16 well behind. The blue curve is ChromaPakZ's own near-lossless option (sweeping the VP9 quantizer trades fidelity for size), but the default operating point is QP 0, bit-exact. Regenerate with python python/plot_rd.py.

A note on ffmpeg. Decoding ChromaPakZ files with ffmpeg (or any conformant VP9 decoder) is bit-exact. But encode with ChromaPakZ, not the ffmpeg CLI: ffmpeg -c:v libvpx-vp9 -lossless 1 is lossless yet ~3× larger (≈39 vs ≈13 bpp) — same library, far worse coding decisions, and no flag tested closes the gap. python/plot_rd.py therefore uses the real WebCodecs encoder for the VP9 numbers.

Cross-language implementations

All three read and write the identical .webm, verified bit-exact in every direction (browser ⇄ C++ ⇄ Python), and produce standard files — ffprobe reports matroska,webm with one RGB stream plus two VP9 streams per lossless signal, and ffmpeg decodes track 0 as plain RGB when present.

Format schema: docs/FORMAT.md. API: docs/API.md.

Surface Codec Build
Browser WebCodecs VP9 none — src/chromapakz.js, src/signals.js, src/webm.js. Multi-signal streaming API.
C++ libvpx VP9 CMake → build/_core + dccli (dc_encode_multi, dc_decode_signal)
Python ctypes → C++ pip install . — encode(), decode(), parse_metadata()
./build/dccli encodergbd rgb.rgba depth.u16 W H N fps near far kbps out.webm
./build/dccli decodesignal clip.webm objectId ids.u16
./build/dccli decodergb  clip.webm rgb.rgba

Real-data ingestion

Shipped in the wheel, so these work straight after pip install chromapakz:

  • chromapakz.ingest — load depth (.exr / .npy / .npz / 16-bit PNG·TIFF / raw) and optional RGB (image sequence, video via ffmpeg, or array), auto-derive inverse-depth near/far from percentiles, encode, and report real per-track bpp. Invalid pixels (<=0/NaN) map to code 0. Importable (from chromapakz.ingest import encode_clip) or as the chromapakz-ingest command: chromapakz-ingest --depth 'd_*.exr' --rgb 'rgb_*.png' -o clip.webm --report --verify
  • chromapakz.webm_inspect — pure-Python EBML parser for the per-track byte breakdown (no native deps).

Repo-only dev scripts under python/:

  • make_synthetic_rgbd.py — a realistic RGBD generator (smooth surfaces, depth edges, disparity-domain noise, occlusion shadows, dropout holes) for when you don't have a sensor handy.
  • benchmark_codecs.py, plot_rd.py — the benchmark and rate-distortion plots.

How it relates to RealSense / Kinect

Depth-camera ecosystems already split into two camps; ChromaPakZ takes the best of both.

  • Intel RealSense colorizes 16-bit depth into an RGB image (Hue, ~10.5 effective bits) and encodes that with a stock H.264/H.265 codec. Great for streaming and reuse of hardware codecs, but lossy — unfit for ground-truth or archival depth.
  • Kinect / RGBD datasets store depth raw or as 16-bit PNG. Azure Kinect even records to Matroska with a 16-bit depth track (lossless via per-frame PNG); TUM RGB-D, NYU and ScanNet use 16-bit PNG sequences. Bit-exact, but intra-only and large — no temporal compression.
RealSense colorize Kinect / PNG ChromaPakZ
bit-exact 16-bit depth ✗ (lossy) ✓ ✓
RGB plays in any legacy player ✓ — ✓
inter-frame (temporal) compression ✓ (lossy) ✗ ✓ (lossless)
royalty-free, browser-native (no WASM on Chromium) — — ✓

That Azure Kinect already chose Matroska — WebM's basis — is telling. ChromaPakZ differs by compressing depth losslessly (VP9 + triangle-fold, inter-coded) rather than storing raw or intra PNG, and by running in the browser. Sources: RealSense colorized depth, Azure Kinect record format.

Repository layout

src/          chromapakz.js, signals.js, webm.js, chromapakz-core.js
native/       chromapakz.{h,cpp}, dccli.cpp
python/       chromapakz/ (pip package: __init__.py, ingest.py, webm_inspect.py)
              make_synthetic_rgbd.py, benchmark_codecs.py, plot_rd.py   (repo-only dev scripts)
demo/         index.html                     in-browser encode→decode→view
examples/     tum_fr1desk.py
experiments/  webcodecs-lossless/            run.mjs, smoke-demo.mjs, headless tests
docs/         FORMAT.md, API.md, EVALUATION.md, RELEASING.md
tests/        test_*.py (pytest) + *.test.mjs (node --test), both glob-discovered; fixtures/

CI builds and tests on Linux + macOS and runs the in-browser VP9-lossless probe in headless Chromium; docs/RELEASING.md covers wheels and PyPI publishing. The full design rationale and benchmarks are in docs/EVALUATION.md.

Status & limitations

Working end-to-end and verified across all three implementations. Honest caveats:

  • Browser support is engine-specific (measured, EVALUATION.md §11): native WebCodecs lossless encode is Chromium-only today (WebKit lacks WebCodecs' quantizer mode; Firefox's QP 0 isn't lossless); native lossless decode works on Chromium and WebKit/Safari, while Firefox decodes VP9 to color-converted BGRX. Where native can't be trusted, the library transparently falls back to a bundled libvpx-WASM codec, chosen per operation by a cached runtime probe — so a decode-only browser (e.g. Safari) downloads only vp9-decode.wasm and never the larger encoder, and vice-versa. Force it with backend: 'webcodecs' | 'wasm' (default 'auto'); see docs/API.md. These are Playwright engine builds — reconfirm on shipping browsers before hard claims.
  • "Royalty-free" reflects the AOMedia/Google position on VP9; Sisvel operates pools that dispute it.
  • An auto precision picker (estimate the sensor noise floor to choose --depth-bits) is future work.
  • Network byte streaming is supported via onChunk on encode and createDecoder() + push()/finish() on decode. See docs/API.md.

Metadata

Release files for chromapakz 0.3.0

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

Source distribution (sdist)

Source distribution for chromapakz 0.3.0
File Size Uploaded
chromapakz-0.3.0.tar.gz 2.2 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for chromapakz 0.3.0
File
chromapakz-0.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
chromapakz-0.3.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
chromapakz-0.3.0-cp314-cp314-macosx_13_0_arm64.whl CPython 3.14 CPython 3.14 macOS 13.0+ ARM64 Details
chromapakz-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
chromapakz-0.3.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
chromapakz-0.3.0-cp313-cp313-macosx_13_0_arm64.whl CPython 3.13 CPython 3.13 macOS 13.0+ ARM64 Details
chromapakz-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
chromapakz-0.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
chromapakz-0.3.0-cp312-cp312-macosx_13_0_arm64.whl CPython 3.12 CPython 3.12 macOS 13.0+ ARM64 Details
chromapakz-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
chromapakz-0.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
chromapakz-0.3.0-cp311-cp311-macosx_13_0_arm64.whl CPython 3.11 CPython 3.11 macOS 13.0+ ARM64 Details
chromapakz-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
chromapakz-0.3.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
chromapakz-0.3.0-cp310-cp310-macosx_13_0_arm64.whl CPython 3.10 CPython 3.10 macOS 13.0+ ARM64 Details
chromapakz-0.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
chromapakz-0.3.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
chromapakz-0.3.0-cp39-cp39-macosx_13_0_arm64.whl CPython 3.9 CPython 3.9 macOS 13.0+ ARM64 Details

Total release size: 15.3 MB

Release files / chromapakz-0.3.0.tar.gz

Download URL chromapakz-0.3.0.tar.gz
Size 2.2 MB
Tags Source
SHA-256 checksum
How to use checksums
f2e2079c4e97217dafa5c94d564cd2437a71627fdb5e56de5d03dcd19f303060
BLAKE2b-256 checksum
How to use checksums
5cfe7ef47664cd9fb3c5e1c947c8ce9e456c12687e7413f8e53498824edb4b2a
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 Jul 29, 2026.

Transparency log

Release files / chromapakz-0.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL chromapakz-0.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 813.3 kB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1c95bdf6e8245984350926ff54d6fb46c969c9001fe3c48a83d9853f5d33e72d
BLAKE2b-256 checksum
How to use checksums
580fe0e9535df91ae99fc07a5bb803277c12ebcbb823256777a65ad6e335d33a
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 Jul 29, 2026.

Transparency log

Release files / chromapakz-0.3.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL chromapakz-0.3.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 809.9 kB
Tags CPython 3.14 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
e9ca24305685f47958948add893de157375a064fe5a23b11a651419300335b73
BLAKE2b-256 checksum
How to use checksums
87e28094cc85d6fb927128912d94c95a33eaef79de3b1e40af46ce92ce0746e7
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 Jul 29, 2026.

Transparency log

Release files / chromapakz-0.3.0-cp314-cp314-macosx_13_0_arm64.whl

Download URL chromapakz-0.3.0-cp314-cp314-macosx_13_0_arm64.whl
Size 557.7 kB
Tags CPython 3.14 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
0675ff610284cbc944cee7e0c011cdad640dee960426bcc32e71ddff002d837a
BLAKE2b-256 checksum
How to use checksums
1c66d6031b9fd18546de2af63f14b905533e9404f28401d360b4857249b06663
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 Jul 29, 2026.

Transparency log

Release files / chromapakz-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL chromapakz-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 813.3 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
487fba80f89b3811178b6b48496a09422b96b80c3251bbbd6320e11aa7e65581
BLAKE2b-256 checksum
How to use checksums
08384838c3a7e60bbff40a678ba9f0aee8931707c60ffd1af9f8cd7d381c00d6
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 Jul 29, 2026.

Transparency log

Release files / chromapakz-0.3.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL chromapakz-0.3.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 809.9 kB
Tags CPython 3.13 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
47d7e3b6da6337111c123398b734bb07ca21db175607a448e5cf238ca2cbde90
BLAKE2b-256 checksum
How to use checksums
0731678ad3622da0f476aebd896fac92aa1f87355f0a5251ebf2ef7538c02cbe
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 Jul 29, 2026.

Transparency log

Release files / chromapakz-0.3.0-cp313-cp313-macosx_13_0_arm64.whl

Download URL chromapakz-0.3.0-cp313-cp313-macosx_13_0_arm64.whl
Size 557.7 kB
Tags CPython 3.13 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
64f64790ec3cc42ae63d7a7b082bd56724f13281b8cbf2f37c40e0b7d1f4873a
BLAKE2b-256 checksum
How to use checksums
8b5c5e2100922208493e76101666ac51357ab21ddf5cf914c62187ffaa333e12
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 Jul 29, 2026.

Transparency log

Release files / chromapakz-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL chromapakz-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 813.3 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8b81c3ee6e38e2b7bd675c61ac36215074e04e666026f87f79759970916c08d6
BLAKE2b-256 checksum
How to use checksums
dd1adbe8a0e5ea893a4312bf6b0b06ce5e70bed0a43706f23dc83d09642676fd
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 Jul 29, 2026.

Transparency log

Release files / chromapakz-0.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL chromapakz-0.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 809.9 kB
Tags CPython 3.12 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
e01b37673000249490a9e3927ae532dd911d55c2b300e6ba84ff69526007b1a9
BLAKE2b-256 checksum
How to use checksums
eab8c6459f506d3f1fadd9d7a319dcc8d8e7716f6663f206c3451904931d60bd
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 Jul 29, 2026.

Transparency log

Release files / chromapakz-0.3.0-cp312-cp312-macosx_13_0_arm64.whl

Download URL chromapakz-0.3.0-cp312-cp312-macosx_13_0_arm64.whl
Size 557.7 kB
Tags CPython 3.12 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
c2510961b514a5fdd389789f9b2f865396d0c49a1b45ef12726b34fb0f9fb51f
BLAKE2b-256 checksum
How to use checksums
5bcd9d0f7303630ea26f30e5b7826ab091461691238ae799cabe5bdfe1bdf04c
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 Jul 29, 2026.

Transparency log

Release files / chromapakz-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL chromapakz-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 813.3 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e9202cbf0d9094b089c5c556272ce3fc604c2b0df1c3d9694c0995535e29381c
BLAKE2b-256 checksum
How to use checksums
01b9909514285cb5347ef71465ff19d240e96a2590e2f2481edfb8df5745af89
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 Jul 29, 2026.

Transparency log

Release files / chromapakz-0.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL chromapakz-0.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 809.9 kB
Tags CPython 3.11 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
4e996a1470cd015bda3d78dc2a8bc250d42d4d2136264a6a5f5069180371e1f2
BLAKE2b-256 checksum
How to use checksums
2eaee4c23f3a369baf13d9b3eaddae0dd44d6205ee77f0701d7d7f47f50eed97
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 Jul 29, 2026.

Transparency log

Release files / chromapakz-0.3.0-cp311-cp311-macosx_13_0_arm64.whl

Download URL chromapakz-0.3.0-cp311-cp311-macosx_13_0_arm64.whl
Size 557.7 kB
Tags CPython 3.11 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
380e523f718c004355fe96dd5ef88ea1481e8dc74c585947b8a61cde6f6c86b1
BLAKE2b-256 checksum
How to use checksums
82e7a64143a42281147493830dcf1f000ab1c01382d1c1e990a2d55d0c3299c5
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 Jul 29, 2026.

Transparency log

Release files / chromapakz-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL chromapakz-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 813.3 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
33c49b7fe23917be662a5ec1534740418b2d97083169c4f7c6f7e5e3d10cd3f6
BLAKE2b-256 checksum
How to use checksums
5ddfb9da1b1f0e6a45934a1ab85e827e1c8d5cc24dcc46acdb75718f4df52cfc
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 Jul 29, 2026.

Transparency log

Release files / chromapakz-0.3.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL chromapakz-0.3.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 809.9 kB
Tags CPython 3.10 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
857df25aaf93dcce0f53e5fa4e3ea8559849b10ee03a21c171386fb63b860e88
BLAKE2b-256 checksum
How to use checksums
e4cecf5a48cdcc09cf13b99983167e4e4af648b74d20f1b7cbf19b3cc5afdd9c
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 Jul 29, 2026.

Transparency log

Release files / chromapakz-0.3.0-cp310-cp310-macosx_13_0_arm64.whl

Download URL chromapakz-0.3.0-cp310-cp310-macosx_13_0_arm64.whl
Size 557.7 kB
Tags CPython 3.10 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
3eb81c3558791dd2747696c7a7edc7a55eeb51ce67687832cc4c4ca8964678d5
BLAKE2b-256 checksum
How to use checksums
6b90881730beed99983dd41b44849775969d39743211fab3307c6e07f5ca5a96
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 Jul 29, 2026.

Transparency log

Release files / chromapakz-0.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL chromapakz-0.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 813.3 kB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0fd5e30e85b787f2809674ccf915a88dc540eb3a57b9189d6ebf09f48d983ad7
BLAKE2b-256 checksum
How to use checksums
262ea2df9fd88c90a23b79bd8954e6d1c028552f1908b29e3a6786558910cd04
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 Jul 29, 2026.

Transparency log

Release files / chromapakz-0.3.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL chromapakz-0.3.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 809.9 kB
Tags CPython 3.9 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
1b1e8b4b7cb2b26d053c41aadb7174a2ddeb59b6964862401bbad30aa4abdbce
BLAKE2b-256 checksum
How to use checksums
92419d3994933d93d5c6f85acc5d96ebe1f6e8144ce2dba2b5ebb505f062a07a
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 Jul 29, 2026.

Transparency log

Release files / chromapakz-0.3.0-cp39-cp39-macosx_13_0_arm64.whl

Download URL chromapakz-0.3.0-cp39-cp39-macosx_13_0_arm64.whl
Size 557.7 kB
Tags CPython 3.9 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
8eae447541844da2ad2392c6c1c0f45c23e58c931c08f5588dbac0afeae8687f
BLAKE2b-256 checksum
How to use checksums
b7f9fd5ae848f461e8c7fdb88d1358fa9ee68d62071f800ee5d4dba4c6ad061a
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 Jul 29, 2026.

Transparency log

Release history Release notifications | RSS feed

0.9.1

19 release files

This release

0.3.0 This release

19 release files

0.2.0

16 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