feat: disable default features on internal use#5372
feat: disable default features on internal use#5372jackye1995 merged 3 commits intolance-format:mainfrom
Conversation
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This allows downstream users to avoid pulling in unnecessery cloud/remote crates.
jackye1995
left a comment
There was a problem hiding this comment.
Okay I thought this is disabled together with lance-io but looks like it's not, thanks for the fix!
| [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 } |
There was a problem hiding this comment.
Actually I don't think we need this?
There was a problem hiding this comment.
I am not at my computer right now, but this is the core issue. All crates that use lance inside this workspace will enable the default features of lance.
There was a problem hiding this comment.
Can we move this default-features = false to only lance-namespace-impls? Because examples also depend on lance, and should have the default features enabled so people can try the example in cloud
There was a problem hiding this comment.
I added a patch to make examples still have all features, let me know if this looks good
Part of lancedb/lancedb#2771, continuing lancedb/lancedb#2568. `lance-namespace-impls` uses `lance` which pulled in default features (aws,gcp,azure,oss), which pulled `aws-*` crates into `lancedb` even when `lancedb` was used with `default-features = false`. I don't have tests at hand, but it would probably be good to run `cargo tree -p lance -e no-build -e no-dev --no-default-features -i aws-config` in CI (maybe for each crate?) to avoid adding any dependency back by default in a future PR. --------- Co-authored-by: Jack Ye <yezhaoqin@gmail.com>
Part of lancedb/lancedb#2771, continuing lancedb/lancedb#2568. `lance-namespace-impls` uses `lance` which pulled in default features (aws,gcp,azure,oss), which pulled `aws-*` crates into `lancedb` even when `lancedb` was used with `default-features = false`. I don't have tests at hand, but it would probably be good to run `cargo tree -p lance -e no-build -e no-dev --no-default-features -i aws-config` in CI (maybe for each crate?) to avoid adding any dependency back by default in a future PR. --------- Co-authored-by: Jack Ye <yezhaoqin@gmail.com>
Part of lancedb/lancedb#2771, continuing lancedb/lancedb#2568. `lance-namespace-impls` uses `lance` which pulled in default features (aws,gcp,azure,oss), which pulled `aws-*` crates into `lancedb` even when `lancedb` was used with `default-features = false`. I don't have tests at hand, but it would probably be good to run `cargo tree -p lance -e no-build -e no-dev --no-default-features -i aws-config` in CI (maybe for each crate?) to avoid adding any dependency back by default in a future PR. --------- Co-authored-by: Jack Ye <yezhaoqin@gmail.com>
Part of lancedb/lancedb#2771, continuing lancedb/lancedb#2568.
lance-namespace-implsuseslancewhich pulled in default features (aws,gcp,azure,oss), which pulledaws-*crates intolancedbeven whenlancedbwas used withdefault-features = false.I don't have tests at hand, but it would probably be good to run
cargo tree -p lance -e no-build -e no-dev --no-default-features -i aws-configin CI (maybe for each crate?) to avoid adding any dependency back by default in a future PR.