Skip to main content

alopex_core/
lib.rs

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