Skip to content

RaBitQ Library 0.7.2

This release improves Python API usability and consolidates internal quantization code and regression checks.

Python changes

  • Packages include type declarations and py.typed for editor completion and static checking. Index and clustering docstrings now describe parameters, defaults, array shapes and returned values. See editor support.
  • Index save and load accept pathlib.Path and os.PathLike, alongside existing string, bytes and bytearray paths. Embedded null characters are rejected before file access. See file-path contracts.
  • Invalid inputs report more context, including expected dimensions, actual shapes or dtypes, and invalid cluster-ID positions.
  • repr(index) summarizes index configuration, counts and build state without searching or modifying the index. See index counts.

Internal changes

Quantization paths share factor and threshold calculations and reuse prepared residuals. Regression coverage includes numerical references, degenerate inputs, Python boundaries and persistence. Test and CI consolidation reduces repeated validation while retaining platform and installed-package checks. These changes do not establish a new performance result; the published benchmarks retain their recorded 0.7.1 provenance.

Upgrading

From 0.7.1, existing public call forms and index file formats remain supported; no index conversion is required. C++ component targets and the stable core API v1 remain unchanged. Rebuild C++ consumers with matching headers and libraries; no cross-version C++ binary ABI is promised.

When upgrading from before 0.7.0, also follow the 0.7.0 migration guide for component targets, headers and index-count semantics.

Use the installation guide for supported platforms and the quick start for a complete Python example.