Skip to main content

ecp_core/
lib.rs

1//! The core library of ecpfs. It builds and searches Extended Cluster Pruning
2//! (eCP) indexes, stored as zarr arrays on disk.
3//!
4//! - [`build::builder::Builder`] builds an index from embeddings in an `.h5` or `.zarr` file.
5//! - [`search::Index`] opens an index for k-nearest-neighbor search and inserts.
6//! - [`search::IndexInfo`] reads an index's settings without loading its tree.
7//! - [`logging::init`] turns on logging to a JSONL file.
8//! - [`error::EcpError`] is what a fallible call in this crate returns on failure.
9//! - [`format::FORMAT_VERSION`] is the on-disk format version this build writes and reads.
10//!
11//! The `ecpfs` Python package and the `ecp` command line tool both wrap this crate.
12
13pub mod build;
14pub mod dtype;
15pub mod error;
16pub mod format;
17pub mod logging;
18pub mod metric;
19pub mod search;
20#[cfg(test)]
21mod test_fixtures;
22pub mod utils;
23
24pub use error::{EcpError, Result};