# 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.

## Modules

- [roaring.bitmap32](https://magmalake.dev/s/roaring/api/bitmap32.md): `Bitmap32` — a Roaring bitmap over `UInt32` values: a sorted set of 16-bit-keyed `Container`s, one per distinct high-16-bits key present.
- [roaring.bitmap64](https://magmalake.dev/s/roaring/api/bitmap64.md): `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`).
- [roaring.container](https://magmalake.dev/s/roaring/api/container.md): 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.
- [roaring.crc32](https://magmalake.dev/s/roaring/api/crc32.md): 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.
- [roaring.iceberg_dv](https://magmalake.dev/s/roaring/api/iceberg_dv.md): Apache Iceberg "deletion vector v1" blob framing (https://iceberg.apache.org/puffin-spec/#deletion-vector-v1-blob-type).
- [roaring.portable](https://magmalake.dev/s/roaring/api/portable.md): 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.

`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`.
