Tins · roaring

API reference

The roaring package, from roaring 0.1.3, as published on mojoshelf (commit a90a7bd30cf1), by mojo doc from Mojo 1.2.0. Source.

roaring — pure-Mojo Roaring bitmaps (32-bit and 64-bit), with the RoaringFormatSpec portable serialization (including the 64-bit extension) and Apache Iceberg's deletion-vector v1 blob framing.

from roaring import Bitmap32, Bitmap64, encode_iceberg_dv, decode_iceberg_dv

No dependencies — the CRC-32 used by the Iceberg framing is implemented locally in crc32.mojo.

Modules

  • roaring.bitmap32 Bitmap32 — a Roaring bitmap over UInt32 values: a sorted set of 16-bit-keyed Containers, one per distinct high-16-bits key present. 1 struct
  • roaring.bitmap64 Bitmap64 — a Roaring bitmap over UInt64 values, per the "extension for 64-bit implementations": a sorted map from a 32-bit high key to a full Bitmap32 over the low 32 bits. This is the shape Apache Iceberg uses for deletion vectors (row positions are UInt64). 1 struct
  • roaring.container A single Roaring container, keyed externally by a 16-bit high key and holding up to 65536 low-16-bit values in one of three representations. 1 struct
  • roaring.crc32 A plain, from-scratch CRC-32 (the IEEE 802.3 / zlib / gzip variant: poly 0xEDB88320 reflected, init 0xFFFFFFFF, final XOR 0xFFFFFFFF) — no dependencies, used to checksum Iceberg deletion-vector blobs. 1 function
  • roaring.iceberg_dv Apache Iceberg "deletion vector v1" blob framing (https://iceberg.apache.org/puffin-spec/#deletion-vector-v1-blob-type). 2 functions
  • roaring.portable Shared constants and little-endian byte helpers for the Roaring "portable" serialization format (RoaringFormatSpec) — used by both the 32-bit container layer and the Bitmap32/Bitmap64 assemblers. 6 functions