1#![deny(missing_docs)]
4
5#[cfg(feature = "async")]
6pub mod async_runtime;
7pub mod async_util;
8pub mod columnar;
9pub mod compaction;
10pub mod error;
11pub mod kv;
12pub mod log;
13pub mod lsm;
14pub mod obs;
15pub mod storage;
16pub mod txn;
17pub mod types;
18pub mod vector;
19
20pub use async_util::{BoxFuture, BoxStream, MaybeSend};
21pub use columnar::encoding::{
22 decode_column, encode_column, Column, Compression, Encoding, LogicalType,
23};
24pub use columnar::segment::{write_segment, ChunkIter, SegmentMeta, SegmentReader};
25#[cfg(feature = "tokio")]
26pub use columnar::AsyncColumnarReaderAdapter;
27#[cfg(feature = "async")]
28pub use columnar::{AsyncColumnarReader, ColumnId, RowBatch, Segment, SegmentId};
29pub use error::{Error, Result};
30pub use kv::memory::{MemoryKV, MemoryStats, MemoryTransaction, MemoryTxnManager};
31pub use kv::storage::{StorageFactory, StorageMode};
32#[cfg(feature = "async")]
33pub use kv::{AsyncKVStore, AsyncKVTransaction};
34#[cfg(feature = "tokio")]
35pub use kv::{AsyncKVStoreAdapter, AsyncKVTransactionAdapter};
36pub use kv::{KVStore, KVTransaction};
37#[cfg(feature = "s3")]
38pub use kv::{S3Config, S3KV};
39pub use storage::large_value::{
40 LargeValueChunkInfo, LargeValueKind, LargeValueMeta, LargeValueReader, LargeValueWriter,
41 DEFAULT_CHUNK_SIZE,
42};
43pub use txn::TxnManager;
44pub use types::{Key, TxnId, TxnMode, Value};
45pub use vector::columnar::{
46 AppendResult, EncodedColumn, SearchStats, VectorSearchParams, VectorSearchResult,
47 VectorSegment, VectorStoreConfig, VectorStoreManager,
48};
49pub use vector::flat::{search_flat, ScoredItem};
50pub use vector::hnsw::{HnswConfig, HnswIndex, HnswSearchResult, HnswStats};
51pub use vector::simd::{select_kernel, DistanceKernel, ScalarKernel};
52#[cfg(feature = "tokio")]
53pub use vector::AsyncVectorStoreAdapter;
54pub use vector::{score, validate_dimensions, Metric, VectorType};
55#[cfg(feature = "async")]
56pub use vector::{AsyncHnswIndex, AsyncVectorStore};