# Rust Stored Procedures ## 1. Introduction Rust stored procedures currently only support v1 version. TuGraph supports plugins in any language that can be compiled into a dynamic library. Rust, as a rising star in system programming languages, has significant advantages in terms of safety, reliability, and ergonomics compared to C++. We provide the Rust binding library for TuGraph to support calling lgrahp API in Rust. We also provide the [tugraph-plugin-util](https://crates.io/crates/tugraph-plugin-util ) utility library to help simplify the process of writing Rust plugins. ## 2. How to Use Using Rust stored procedures involves three steps: * Compilation: Compile the Rust source code into a dynamic library (so file). We have prepared a comprehensive plugin development tutorial that covers everything from IDE plugin installation and environment setup to compilation. Please refer to the `rust-tugraph-plugin-tutorial` for detailed instructions. * Loading: Load the dynamic library (so file) into the server. This can be done through the REST or RPC interface, similar to the usage of C++ libraries. Please refer to the documentation for more details on the [Procedure v1 API](1.procedure.md). * Execution: Once the library is loaded, use it as you would with a C++ stored procedure. The process is the same and does not need further explanation. ## 3. API Documentation In the Rust community, all code and documentation can be found on [`crates.io`](https://crates.io/crates/tugraph ) and [`docs.rs`](https://docs.rs/tugraph/latest/tugraph ).