Summary
The tools/rust_api/ directory is a fork of the kuzu Rust crate (v0.11.1) that builds the Kùzu C++ source via CMake. Now that Kùzu is abandoned, this should be replaced with the lbug crate dependency.
Findings
Current State
tools/rust_api/ contains 8 Rust source files + CMake build system
- It IS the
kuzu crate (package name = "kuzu" in Cargo.toml)
- Builds Kùzu C++ source via CMake — heavy compilation, ~5 min
- Used by:
examples/rust/ (path dependency)
Files to Remove/Replace
| File |
Lines |
Purpose |
tools/rust_api/Cargo.toml |
Package definition |
|
tools/rust_api/build.rs |
29 refs — CMake build for C++ |
|
tools/rust_api/src/ffi.rs |
31 refs — CXX bridge |
|
tools/rust_api/src/lib.rs |
14 refs — public API |
|
tools/rust_api/src/value.rs |
28 refs — value types |
|
tools/rust_api/src/connection.rs |
7 refs — connection API |
|
tools/rust_api/src/database.rs |
3 refs — database struct |
|
tools/rust_api/src/error.rs |
3 refs — error types |
|
tools/rust_api/src/ffi/arrow.rs |
4 refs — arrow bridge |
|
Migration
- Delete entire
tools/rust_api/ directory
- Update
examples/rust/Cargo.toml: kuzu = { path = "..." } → lbug = "0.16"
- Update example code for any API differences (~5% incompatible)
- Remove CMake dependency from CI (faster builds!)
Benefits
- Faster CI: No more CMake + C++ compilation (~5 min saved)
- Maintenance-free:
lbug crate updates via cargo update
- Smaller repo: Remove C++ build infrastructure
- Security: Published crate gets community security review
Estimated Effort
- Delete + replace: 0.5 days
- Update examples: 0.5 days
- CI cleanup: 0.5 days
Summary
The
tools/rust_api/directory is a fork of thekuzuRust crate (v0.11.1) that builds the Kùzu C++ source via CMake. Now that Kùzu is abandoned, this should be replaced with thelbugcrate dependency.Findings
Current State
tools/rust_api/contains 8 Rust source files + CMake build systemkuzucrate (package name = "kuzu" in Cargo.toml)examples/rust/(path dependency)Files to Remove/Replace
tools/rust_api/Cargo.tomltools/rust_api/build.rstools/rust_api/src/ffi.rstools/rust_api/src/lib.rstools/rust_api/src/value.rstools/rust_api/src/connection.rstools/rust_api/src/database.rstools/rust_api/src/error.rstools/rust_api/src/ffi/arrow.rsMigration
tools/rust_api/directoryexamples/rust/Cargo.toml:kuzu = { path = "..." }→lbug = "0.16"Benefits
lbugcrate updates viacargo updateEstimated Effort