Arrow 57 / DataFusion 51 / Lance 2 + BlasGraph Algebra + SPO Triple Store#7
Merged
AdaWorldAPI merged 3 commits intomainfrom Mar 13, 2026
Merged
Conversation
…0.26 The arrow 57 upgrade caused a `links = "python"` conflict because arrow-pyarrow 57 requires pyo3 0.26 while lance-graph-python used pyo3 0.25 — two different pyo3-ffi versions in the same workspace. Fix: bump pyo3 to 0.26 so all crates share one pyo3-ffi. Update deprecated pyo3 0.26 APIs (with_gil→attach, allow_threads→detach, PyObject→Py<PyAny>). Pyarrow zero-copy stays intact. - Cargo.toml: restore lance-graph-python to members (remove exclude) - lance-graph-python/Cargo.toml: pyo3 0.25 → 0.26 - executor.rs: update pyo3 0.26 API renames - graph.rs: PyObject → Py<PyAny> All crates: clippy clean, 423 tests pass. https://claude.ai/code/session_01Mcj8GxEtzmVba6RmuT7AjD
- style.yml: add clippy step for lance-graph-python - build.yml: add cargo check for lance-graph-python https://claude.ai/code/session_01Mcj8GxEtzmVba6RmuT7AjD
Covers all 3 major additions: version upgrades, BlasGraph semiring algebra, and SPO triple store — with architecture details, API signatures, test matrix, and module dependency graph. https://claude.ai/code/session_01Mcj8GxEtzmVba6RmuT7AjD
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR: Arrow 57 / DataFusion 51 / Lance 2 + BlasGraph Algebra + SPO Triple Store
Title
feat: arrow 57, datafusion 51, lance 2 + BlasGraph semiring algebra + SPO triple storeBody
Follows up on lance-format#146 (closed — split was planned but the pieces are interdependent, so shipping as one clean PR rebased on current main).
Summary
Three additions in one PR because they share the dependency bump and build on each other:
All 119 new tests pass. Clippy clean across all crates. No breaking changes to existing APIs.
1. Dependency Upgrades
What This Enables
With these three additions, lance-graph gains:
These compose naturally: the SPO store uses the
HammingMinsemiring from BlasGraph for chain traversal, and the bitmap fingerprints share the same bit-vector primitives as BlasGraph'sBitVectype.Migration Notes
graphmodule is additive — accessed vialance_graph::graph::{blasgraph, spo}blake3(for Merkle hashing)lance-graph-pythoncrateStats