[package] name = "vectord-lance" version = "0.1.0" edition = "2024" # Firewall crate: the Lance stack (Arrow 57, DataFusion 52) is isolated # from the rest of vectord (Arrow 55, DataFusion 47). Public API uses # only std types — no Arrow types cross the crate boundary — so no # version conflict propagates outward. # # See docs/ADR-019-vector-storage.md for the rationale: "productionizing # will need either workspace-wide upgrade or a firewall via a dedicated # vectord-lance crate." This is that firewall. [dependencies] # S3 support: Lance delegates to its internal object_store crate when # given s3:// URIs. The "dynamodb" feature enables DynamoDB-based # commit locking for multi-writer S3; we don't need that (single-writer) # so just the base AWS/S3 feature is enough. # Lance 4.0 feature "aws" enables S3-compatible storage via its internal # object_store + opendal crates. Reads AWS_* env vars for credentials. lance = { version = "4.0", default-features = false, features = ["aws"] } lance-index = { version = "4.0", default-features = false } lance-linalg = { version = "4.0", default-features = false } # These Arrow/Parquet versions MUST match Lance's expectations — Lance # re-exports their types through its API so any mismatch is a hard # compile error. Keep in sync with lance-bench. arrow = "57" arrow-array = "57" arrow-schema = "57" parquet = "57" tokio = { version = "1", features = ["full"] } futures = "0.3" serde = { version = "1", features = ["derive"] } bytes = "1"