Overview

The public API is split into four modules that mirror the project’s CLI tools. Everything listed here is also re-exported from the top-level binary_ensemble namespace, so from binary_ensemble import BendlEncoder and from binary_ensemble.bundle import BendlEncoder are equivalent.

Tip

New here? Reach for binary_ensemble.bundle first. A .bendl file keeps the assignment stream and its dual graph together in one self-describing file, which is what you want the vast majority of the time. The other modules are for plain streams, whole-file conversions, and graph preprocessing.

bundle

BendlEncoder, BendlDecoder, compress_stream, relabel_bundle — the recommended single-file .bendl format.

binary_ensemble.bundle
stream

BenEncoder, BenDecoder — plain .ben/.xben streams when you don’t need a bundle.

binary_ensemble.stream
codec

Whole-file encode_* / decode_* transforms between JSONL, BEN, and XBEN.

binary_ensemble.codec
graph

Reorder a dual graph (MLC, RCM, or by key) before encoding to shrink the result.

binary_ensemble.graph