#graph #plugin #database

macro tugraph_plugin_util-proc_macros

A helper crate for writing plugins for TuGraph

2 releases

0.1.1 Jun 20, 2023
0.1.0 Jun 19, 2023

#728 in #plugin

Download history 19/week @ 2024-02-19 22/week @ 2024-02-26 14/week @ 2024-03-04 5/week @ 2024-03-11 37/week @ 2024-04-01 46/week @ 2024-04-15

83 downloads per month
Used in tugraph-plugin-util

Apache-2.0

5KB

rust-tugraph

CI crates.io docs.rs license rust 1.68.0 required

Requirements

  • tugraph-db Build Toolchains
    • CMake(>=3.15)
    • g++(>=8.2)
  • tugraph-db Dependencies

Contributing

Any feedback and pull requests are welcome! If some apis are not flexiable, let me know and I'll relax constraints. If some public types or apis don't conform well to Rust API Guidelines Checklists, open issues or send pull requests.

Usage

Now this binding is dynamically linked with liblgraph.so built from tugraph-db. It aims to port rust apis to write rust procedure(a.k.a tugraph plugins). If you want to statically link with liblgraph.a, let me know.

rust-tugraph depends on libtugraph-sys which is a unsafe wrapper of tugraph c++ apis. libtugraph-sys uses a build script build.rs to build liblgraph.so, which delegates to cmake and other build c++ build essentials. The most important part is to choose g++/gcc compiler, and the build script exports two environment vars LGRAPH_CXX_COMPILER and LGRAPH_C_COMPILER.

LGRAPH_CXX_COMPILER=/usr/local/bin/g++ \
LGRAPH_C_COMPILER=/usr/local/bin/gcc \
cargo {build,run,test} [options] {target}

If you want to write rust procedure, crate tugraph-plugin-util helps you a lot.

NOTE: After TuGraph b8dcaac version, it supports writing plugin in rust language

Dependencies

~84KB