-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
43 lines (37 loc) · 1.65 KB
/
Copy pathCargo.toml
File metadata and controls
43 lines (37 loc) · 1.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
[package]
name = "datafusion-vector-search-ext"
version = "0.1.0"
edition = "2024"
description = "DataFusion extension for USearch HNSW vector similarity search with adaptive WHERE clause filtering"
license = "MIT OR Apache-2.0"
[features]
parquet-provider = ["dep:parquet", "dep:object_store", "dep:bytes"]
sqlite-provider = ["dep:rusqlite", "dep:serde_json", "dep:parquet"]
feather-provider = ["dep:arrow-ipc", "dep:memmap2", "dep:tempfile"]
[dependencies]
tracing = "0.1"
datafusion = "53"
usearch = "2.24.0"
arrow-array = "58"
arrow-schema = "58"
async-trait = "0.1"
futures = "0.3"
# "sync" adds tokio::sync::Semaphore, used by SqliteLookupProvider's connection pool
tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync"] }
# parquet-provider
parquet = { version = "58", optional = true, features = ["async", "object_store"] }
object_store = { version = "0.13", optional = true }
bytes = { version = "1", optional = true }
# sqlite-provider
rusqlite = { version = "0.32", optional = true, features = ["bundled"] }
serde_json = { version = "1", optional = true }
# feather-provider — Arrow IPC (Feather v2). `take`/`concat_batches`/`interleave`
# come from `datafusion::arrow::compute`; the extra deps are the IPC reader/writer,
# `memmap2` for the zero-copy mmap read path, and `tempfile` for the bounded-memory
# (spill-sort) build path.
arrow-ipc = { version = "58", optional = true }
memmap2 = { version = "0.9", optional = true }
tempfile = { version = "3", optional = true }
[dev-dependencies]
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }
tempfile = "3"