Skip to content

🔴 Remove tools/rust_api/ (forked kuzu crate) — replace with lbug dependency #19

@web3guru888

Description

@web3guru888

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

  1. Delete entire tools/rust_api/ directory
  2. Update examples/rust/Cargo.toml: kuzu = { path = "..." }lbug = "0.16"
  3. Update example code for any API differences (~5% incompatible)
  4. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions