From 56e61014d897e7c574a55ff78ada1bbbfc1e3d93 Mon Sep 17 00:00:00 2001 From: Rudi Floren Date: Fri, 7 Nov 2025 18:10:23 +0100 Subject: [PATCH 1/3] feat: disable default features on internal uses of crate members This allows downstream users to avoid pulling in unnecessery cloud/remote crates. --- Cargo.toml | 4 ++-- rust/lance-namespace-impls/Cargo.toml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index ee69504cade..20eeef9385a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -50,7 +50,7 @@ rust-version = "1.82.0" [workspace.dependencies] libc = "0.2.176" -lance = { version = "=1.1.0-beta.2", path = "./rust/lance" } +lance = { version = "=1.1.0-beta.2", path = "./rust/lance", default-features = false } lance-arrow = { version = "=1.1.0-beta.2", path = "./rust/lance-arrow" } lance-core = { version = "=1.1.0-beta.2", path = "./rust/lance-core" } lance-datafusion = { version = "=1.1.0-beta.2", path = "./rust/lance-datafusion" } @@ -62,7 +62,7 @@ lance-index = { version = "=1.1.0-beta.2", path = "./rust/lance-index" } lance-io = { version = "=1.1.0-beta.2", path = "./rust/lance-io", default-features = false } lance-linalg = { version = "=1.1.0-beta.2", path = "./rust/lance-linalg" } lance-namespace = { version = "=1.1.0-beta.2", path = "./rust/lance-namespace" } -lance-namespace-impls = { version = "=1.1.0-beta.2", path = "./rust/lance-namespace-impls" } +lance-namespace-impls = { version = "=1.1.0-beta.2", path = "./rust/lance-namespace-impls", default-features = false } lance-namespace-reqwest-client = "0.0.18" lance-table = { version = "=1.1.0-beta.2", path = "./rust/lance-table" } lance-test-macros = { version = "=1.1.0-beta.2", path = "./rust/lance-test-macros" } diff --git a/rust/lance-namespace-impls/Cargo.toml b/rust/lance-namespace-impls/Cargo.toml index a973f24c55b..0d96abcbf5e 100644 --- a/rust/lance-namespace-impls/Cargo.toml +++ b/rust/lance-namespace-impls/Cargo.toml @@ -16,10 +16,10 @@ default = [] rest = ["dep:reqwest"] rest-adapter = ["dep:axum", "dep:tower", "dep:tower-http", "dep:serde"] # Cloud storage features for directory implementation - align with lance-io -dir-gcp = ["lance-io/gcp"] -dir-aws = ["lance-io/aws"] -dir-azure = ["lance-io/azure"] -dir-oss = ["lance-io/oss"] +dir-gcp = ["lance-io/gcp", "lance/gcp"] +dir-aws = ["lance-io/aws", "lance/aws"] +dir-azure = ["lance-io/azure", "lance/azure"] +dir-oss = ["lance-io/oss", "lance/oss"] [dependencies] lance-namespace.workspace = true From f82c67b1c0245e29130fe381569efa764fa60f5b Mon Sep 17 00:00:00 2001 From: Rudi Floren Date: Fri, 28 Nov 2025 18:49:59 +0100 Subject: [PATCH 2/3] chore: fix toml formatting --- Cargo.toml | 2 +- rust/lance-namespace-impls/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 20eeef9385a..83ff77443bb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -141,7 +141,7 @@ humantime = "2.2.0" hyperloglogplus = { version = "0.4.1", features = ["const-loop"] } itertools = "0.13" jieba-rs = { version = "0.8.1", default-features = false } -jsonb = { version = "0.5.3", default-features = false, features = ["databend"]} +jsonb = { version = "0.5.3", default-features = false, features = ["databend"] } libm = "0.2.15" log = "0.4" mockall = { version = "0.13.1" } diff --git a/rust/lance-namespace-impls/Cargo.toml b/rust/lance-namespace-impls/Cargo.toml index 0d96abcbf5e..db53f78ce53 100644 --- a/rust/lance-namespace-impls/Cargo.toml +++ b/rust/lance-namespace-impls/Cargo.toml @@ -32,7 +32,7 @@ reqwest = { version = "0.12", optional = true, default-features = false, feature "gzip", "http2", "stream", - "rustls-tls-native-roots" + "rustls-tls-native-roots", ] } # Directory implementation dependencies (always enabled) url = { workspace = true } From 8f4f64929c9d586cf6dd4c39c50c724b5bc70006 Mon Sep 17 00:00:00 2001 From: Jack Ye Date: Thu, 4 Dec 2025 16:04:38 -0800 Subject: [PATCH 3/3] make sure examples get all features and also support huggingface --- Cargo.toml | 2 +- rust/examples/Cargo.toml | 2 +- rust/lance-namespace-impls/Cargo.toml | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 83ff77443bb..21f847d2bfe 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -62,7 +62,7 @@ lance-index = { version = "=1.1.0-beta.2", path = "./rust/lance-index" } lance-io = { version = "=1.1.0-beta.2", path = "./rust/lance-io", default-features = false } lance-linalg = { version = "=1.1.0-beta.2", path = "./rust/lance-linalg" } lance-namespace = { version = "=1.1.0-beta.2", path = "./rust/lance-namespace" } -lance-namespace-impls = { version = "=1.1.0-beta.2", path = "./rust/lance-namespace-impls", default-features = false } +lance-namespace-impls = { version = "=1.1.0-beta.2", path = "./rust/lance-namespace-impls" } lance-namespace-reqwest-client = "0.0.18" lance-table = { version = "=1.1.0-beta.2", path = "./rust/lance-table" } lance-test-macros = { version = "=1.1.0-beta.2", path = "./rust/lance-test-macros" } diff --git a/rust/examples/Cargo.toml b/rust/examples/Cargo.toml index 260f4d15367..21967c9278f 100644 --- a/rust/examples/Cargo.toml +++ b/rust/examples/Cargo.toml @@ -38,7 +38,7 @@ arrow-select = { workspace = true } clap = { workspace = true, features = ["derive"] } itertools = { workspace = true } futures = { workspace = true } -lance = { workspace = true } +lance = { workspace = true, features = ["aws", "azure", "gcp", "oss", "huggingface"] } lance-index = { workspace = true } lance-core = { workspace = true } lance-linalg = { workspace = true } diff --git a/rust/lance-namespace-impls/Cargo.toml b/rust/lance-namespace-impls/Cargo.toml index db53f78ce53..a91ae937671 100644 --- a/rust/lance-namespace-impls/Cargo.toml +++ b/rust/lance-namespace-impls/Cargo.toml @@ -12,7 +12,7 @@ categories.workspace = true rust-version.workspace = true [features] -default = [] +default = ["dir-aws", "dir-azure", "dir-gcp", "dir-oss", "dir-huggingface"] rest = ["dep:reqwest"] rest-adapter = ["dep:axum", "dep:tower", "dep:tower-http", "dep:serde"] # Cloud storage features for directory implementation - align with lance-io @@ -20,6 +20,7 @@ dir-gcp = ["lance-io/gcp", "lance/gcp"] dir-aws = ["lance-io/aws", "lance/aws"] dir-azure = ["lance-io/azure", "lance/azure"] dir-oss = ["lance-io/oss", "lance/oss"] +dir-huggingface = ["lance-io/huggingface", "lance/huggingface"] [dependencies] lance-namespace.workspace = true