Skip to content

Commit 9c74ef3

Browse files
authored
refactor: remove unused dependencies (#1853)
Most of these dependencies are used in some other crate and so the overall build time of the workspace didn't get much faster. This PR is mostly just good hygiene. Building `lance-core` by itself though is now 200% faster.
1 parent 771fe5f commit 9c74ef3

File tree

9 files changed

+13
-43
lines changed

9 files changed

+13
-43
lines changed

rust/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ mock_instant = { version = "0.3.1", features = ["sync"] }
9494
moka = "0.11"
9595
num-traits = "0.2"
9696
num_cpus = "1.0"
97-
object_store = { version = "0.9.0", features = ["aws", "gcp", "azure"] }
97+
object_store = { version = "0.9.0" }
9898
parquet = "49.0"
9999
pin-project = "1.0"
100100
pprof = { version = "0.13", features = ["flamegraph", "criterion"] }

rust/lance-core/Cargo.toml

+5-22
Original file line numberDiff line numberDiff line change
@@ -12,52 +12,35 @@ categories.workspace = true
1212
rust-version.workspace = true
1313

1414
[dependencies]
15-
arrow-arith.workspace = true
1615
arrow-array.workspace = true
1716
arrow-buffer.workspace = true
18-
arrow-cast.workspace = true
19-
arrow-data.workspace = true
20-
arrow-ipc.workspace = true
2117
arrow-schema.workspace = true
22-
arrow-select.workspace = true
23-
async-recursion.workspace = true
2418
async-trait.workspace = true
2519
lance-arrow.workspace = true
2620
byteorder.workspace = true
2721
bytes.workspace = true
2822
chrono.workspace = true
29-
datafusion-common.workspace = true
30-
datafusion-sql.workspace = true
23+
datafusion-common = { workspace = true, optional = true }
24+
datafusion-sql = { workspace = true, optional = true }
3125
futures.workspace = true
32-
http.workspace = true
3326
lazy_static.workspace = true
34-
log.workspace = true
3527
mock_instant.workspace = true
3628
moka.workspace = true
37-
num_cpus.workspace = true
38-
num-traits.workspace = true
39-
object_store.workspace = true
29+
object_store = { workspace = true }
4030
pin-project.workspace = true
41-
prost-types.workspace = true
4231
prost.workspace = true
4332
rand.workspace = true
4433
roaring.workspace = true
4534
serde_json.workspace = true
46-
serde.workspace = true
47-
shellexpand.workspace = true
4835
snafu.workspace = true
4936
tokio.workspace = true
5037
tracing.workspace = true
5138
url.workspace = true
52-
uuid.workspace = true
5339

5440
[dev-dependencies]
55-
arrow = "49.0"
56-
rand.workspace = true
5741
tempfile.workspace = true
5842
lance-testing.workspace = true
59-
parquet.workspace = true
6043
proptest.workspace = true
6144

62-
[build-dependencies]
63-
prost-build.workspace = true
45+
[features]
46+
datafusion = ["datafusion-common", "datafusion-sql"]

rust/lance-core/src/error.rs

+4
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,7 @@ impl From<Error> for ArrowError {
235235
}
236236
}
237237

238+
#[cfg(feature = "datafusion")]
238239
impl From<datafusion_sql::sqlparser::parser::ParserError> for Error {
239240
#[track_caller]
240241
fn from(e: datafusion_sql::sqlparser::parser::ParserError) -> Self {
@@ -245,6 +246,7 @@ impl From<datafusion_sql::sqlparser::parser::ParserError> for Error {
245246
}
246247
}
247248

249+
#[cfg(feature = "datafusion")]
248250
impl From<datafusion_sql::sqlparser::tokenizer::TokenizerError> for Error {
249251
#[track_caller]
250252
fn from(e: datafusion_sql::sqlparser::tokenizer::TokenizerError) -> Self {
@@ -255,13 +257,15 @@ impl From<datafusion_sql::sqlparser::tokenizer::TokenizerError> for Error {
255257
}
256258
}
257259

260+
#[cfg(feature = "datafusion")]
258261
impl From<Error> for datafusion_common::DataFusionError {
259262
#[track_caller]
260263
fn from(e: Error) -> Self {
261264
Self::Execution(e.to_string())
262265
}
263266
}
264267

268+
#[cfg(feature = "datafusion")]
265269
impl From<datafusion_common::DataFusionError> for Error {
266270
#[track_caller]
267271
fn from(e: datafusion_common::DataFusionError) -> Self {

rust/lance-datafusion/Cargo.toml

+1-2
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,8 @@ arrow-ord.workspace = true
1717
async-trait.workspace = true
1818
datafusion.workspace = true
1919
datafusion-common.workspace = true
20-
datafusion-expr.workspace = true
2120
datafusion-physical-expr.workspace = true
2221
futures.workspace = true
2322
lance-arrow.workspace = true
24-
lance-core.workspace = true
23+
lance-core = { workspace = true, features = ["datafusion"] }
2524
tokio.workspace = true

rust/lance-file/Cargo.toml

-4
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,10 @@ lance-io.workspace = true
1818
arrow-arith.workspace = true
1919
arrow-array.workspace = true
2020
arrow-buffer.workspace = true
21-
arrow-cast.workspace = true
22-
arrow-data.workspace = true
2321
arrow-schema.workspace = true
2422
arrow-select.workspace = true
2523
async-recursion.workspace = true
2624
async-trait.workspace = true
27-
byteorder.workspace = true
28-
bytes.workspace = true
2925
datafusion-common.workspace = true
3026
futures.workspace = true
3127
num_cpus.workspace = true

rust/lance-index/Cargo.toml

-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ arrow.workspace = true
1616
arrow-array.workspace = true
1717
arrow-ord.workspace = true
1818
arrow-schema.workspace = true
19-
arrow-arith.workspace = true
2019
arrow-select.workspace = true
2120
async-recursion.workspace = true
2221
async-trait.workspace = true
@@ -37,7 +36,6 @@ log.workspace = true
3736
num_cpus.workspace = true
3837
num-traits.workspace = true
3938
object_store.workspace = true
40-
pin-project.workspace = true
4139
prost.workspace = true
4240
rand.workspace = true
4341
roaring.workspace = true

rust/lance-io/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ chrono.workspace = true
3131
futures.workspace = true
3232
lazy_static.workspace = true
3333
num_cpus.workspace = true
34-
object_store.workspace = true
34+
object_store = { workspace = true, features = ["aws", "gcp", "azure"] }
3535
pin-project.workspace = true
3636
prost.workspace = true
3737
shellexpand.workspace = true

rust/lance-linalg/Cargo.toml

-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ categories = { workspace = true }
1313
arrow-array = { workspace = true }
1414
arrow-ord = { workspace = true }
1515
arrow-schema = { workspace = true }
16-
arrow-select = { workspace = true }
1716
futures = { workspace = true }
1817
half = { workspace = true }
1918
lance-arrow = { workspace = true }

rust/lance/Cargo.toml

+1-10
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,6 @@ lance-table = { workspace = true }
2828
arrow-arith = { workspace = true }
2929
arrow-array = { workspace = true }
3030
arrow-buffer = { workspace = true }
31-
arrow-cast = { workspace = true }
32-
arrow-data = { workspace = true }
33-
arrow-ipc = { workspace = true }
3431
arrow-ord = { workspace = true }
3532
arrow-row = { workspace = true }
3633
arrow-schema = { workspace = true }
@@ -46,20 +43,16 @@ dashmap = "5"
4643
# matches arrow-rs use
4744
half.workspace = true
4845
itertools.workspace = true
49-
http.workspace = true
50-
object_store.workspace = true
51-
aws-config.workspace = true
46+
object_store = { workspace = true, features = ["aws", "gcp", "azure"] }
5247
aws-credential-types.workspace = true
5348
pin-project.workspace = true
5449
prost.workspace = true
55-
prost-types.workspace = true
5650
roaring.workspace = true
5751
tokio.workspace = true
5852
url.workspace = true
5953
rand.workspace = true
6054
futures.workspace = true
6155
uuid.workspace = true
62-
shellexpand.workspace = true
6356
arrow.workspace = true
6457
num_cpus.workspace = true
6558
# TODO: use datafusion sub-modules to reduce build size?
@@ -68,7 +61,6 @@ datafusion-physical-expr.workspace = true
6861
lapack = { version = "0.19.0", optional = true }
6962
cblas = { version = "0.4.0", optional = true }
7063
lru_time_cache = "0.11"
71-
num-traits.workspace = true
7264
ordered-float = "3.6.0"
7365
snafu = { workspace = true }
7466
log = { workspace = true }
@@ -80,7 +72,6 @@ aws-sdk-dynamodb = { workspace = true, optional = true }
8072
tempfile.workspace = true
8173
tracing.workspace = true
8274
lazy_static = { workspace = true }
83-
base64 = "0.21.4"
8475
async_cell = "0.2.2"
8576

8677
[target.'cfg(target_os = "macos")'.dependencies]

0 commit comments

Comments
 (0)