Skip to content

feat(rust/zvec): add Rust SDK#316

Open
sunhailin-Leo wants to merge 1 commit intoalibaba:mainfrom
sunhailin-Leo:feature/rust_sdk
Open

feat(rust/zvec): add Rust SDK#316
sunhailin-Leo wants to merge 1 commit intoalibaba:mainfrom
sunhailin-Leo:feature/rust_sdk

Conversation

@sunhailin-Leo
Copy link
Copy Markdown

This pull request introduces a new Rust SDK for the zvec vector database, including a safe, idiomatic Rust API, FFI bindings, benchmarking, and CI integration. The changes add a Cargo workspace with two crates (zvec and zvec-sys), comprehensive documentation, coverage scripts, and GitHub Actions workflows for building and testing the Rust SDK on multiple platforms.

Rust SDK Structure and Documentation:

  • Added a new Rust SDK as a Cargo workspace with two crates: zvec-sys (FFI bindings to the zvec C-API) and zvec (safe, high-level Rust wrapper). Includes Cargo.toml files for both crates and workspace configuration. [1] [2] [3]
  • Added a detailed README.md for the Rust SDK, covering architecture, build/test instructions, API usage, supported types, and index types.

Testing, Benchmarking, and Coverage:

  • Added a benchmarking suite in zvec/benches/zvec_bench.rs using Criterion.rs, covering document creation, field access, insert, query, schema creation, and type conversions.
  • Added a code coverage script scripts/coverage.sh using cargo-llvm-cov, supporting HTML, LCOV, text, and JSON reports.

CI/CD Integration:

  • Updated the main CI workflow (.github/workflows/01-ci-pipeline.yml) to add jobs for building and testing the Rust SDK on macOS ARM64 and Linux x64.
  • Added a reusable GitHub Actions workflow (.github/workflows/06-rust-build.yml) for building, linting, testing, and benchmarking the Rust SDK, including C library build steps and environment setup.

Copy link
Copy Markdown
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.

@sunhailin-Leo sunhailin-Leo changed the title feat(rust): add Rust SDK feat(rust/zvec): add Rust SDK Apr 3, 2026
@feihongxu0824 feihongxu0824 assigned chinaux and unassigned Cuiyus and feihongxu0824 Apr 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants