Metadata-Version: 2.4
Name: pydiskann
Version: 0.5.1
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Summary: Python bindings for diskann-rs: disk-based Vamana ANN search with filtering, incremental updates and quantization
License-Expression: MIT
Requires-Python: >=3.12
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Repository, https://github.com/lukaesch/diskann-rs

# pydiskann

Python bindings for [diskann-rs](https://github.com/lukaesch/diskann-rs): memory-mapped
Vamana/DiskANN vector search with filtered search, incremental updates and quantization
(F16, Int8, PQ, RaBitQ).

```bash
uv add pydiskann
```

```python
import pydiskann as d

idx = d.DiskANN.build(vectors, "index.db", metric="l2")
idx.search(query, k=10, beam_width=128)
```

Vectors are `list[list[float]]` (`arr.tolist()` for numpy). `l2` returns squared distances.


# Build
```py
uvx --with ziglang maturin build --release --zig --compatibility manylinux_2_17 --out dist --sdist
```
