chore: migrate daft.io.lance to daft_lance#6957
Conversation
Rust Dependency DiffHead: ✅ OK: Within budget.
Added
|
Greptile SummaryThis PR migrates
Confidence Score: 4/5The change is safe to merge; it is a mechanical replacement of implementation code with re-exports and all logic now lives in the versioned daft-lance package. Every public function still works via re-export, tests are updated to patch the correct module paths, and the dependency swap is clean. The only nits are stylistic: inline imports inside four deprecated wrapper functions violate the project import-placement rule, and read_lance lacks a deprecation warning while the other four functions have one. daft/io/lance/_lance.py — inline imports and the missing deprecation warning on read_lance are the only items worth a second look. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A["daft.io.lance (public API)"] -->|"import guard\n(ImportError if missing)"| B["daft_lance package"]
A --> C["daft.io.lance._lance"]
C -->|"direct re-export"| D["daft_lance._lance.read_lance"]
C -->|"DeprecationWarning wrapper"| E["daft_lance._lance.merge_columns"]
C -->|"DeprecationWarning wrapper"| F["daft_lance._lance.merge_columns_df"]
C -->|"DeprecationWarning wrapper"| G["daft_lance._lance.compact_files"]
C -->|"DeprecationWarning wrapper"| H["daft_lance._lance.create_scalar_index"]
A2["daft.io.lance.lance_scan"] -->|"re-export"| I["daft_lance.lance_scan\nLanceDBScanOperator"]
A3["daft.io.lance.lance_data_sink"] -->|"re-export"| J["daft_lance.lance_data_sink.LanceDataSink"]
A4["Other daft.io.lance.* modules"] -->|"re-export"| K["daft_lance.* equivalents"]
Reviews (1): Last reviewed commit: "chore: migrate daft.io.lance to daft_lan..." | Re-trigger Greptile |
This comment has been minimized.
This comment has been minimized.
|
Fixing up the checkpoint signature code/test. The daft_lance read_lance method does indeed have a checkpoint kwarg. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #6957 +/- ##
==========================================
- Coverage 75.70% 75.57% -0.14%
==========================================
Files 1139 1142 +3
Lines 162472 161042 -1430
==========================================
- Hits 123006 121704 -1302
+ Misses 39466 39338 -128
🚀 New features to boost your workflow:
|
universalmind303
left a comment
There was a problem hiding this comment.
So I think this deviates from our lance integration plan slightly. AFAIK, the plan was to keep read_lance and write_lance as first class integrations, but everything else goes through daft_lance.
I also noticed that this PR skips updating write_lance all together. So we should update this PR to have write_lance delegate to daft_lance.write_lance
Changes Made
Removes ALL daft.io.lance logic in favor of the daft_lance extension. This simply re-exports all symbols and points to the same underlying logic. The pylance version comes from daft_lance which uses 6.0.0
Related Issues