metis-rs is a Rust library providing idiomatic bindings to libmetis, a library for graph and mesh partitioning. It is made to be used with Rust version 1.67.0 or above.
Library released on crates.io. To use it, add the following to your Cargo.toml
:
[dependencies]
metis-rs = "0.2"
The list of available versions and a change log are available in the CHANGELOG.md file.
The vendored
feature enables metis-rs to build METIS from source and link to it statically. If not enabled, metis-rs
looks for an existing installation and links to it dynamically.
The use-system
feature enables metis-rs to use the system-wide installation of METIS. If not enabled, metis-rs will
refer to its own version of METIS.
Please note, vendored
and use-system
features are mutually exclusive.
If you enabled the use-system
feature and METIS is installed in a non-standard location, you must set the following
environment variables:
export METISDIR=path/to/your/metis/installation
export CPATH="$METISDIR/include"
export RUSTFLAGS="-L$METISDIR/lib"
$METISDIR
must point to a directory containing both lib/
and include/
directories with METIS's shared libraries and headers, respectively.
To build the documentation, especially if METIS is installed in a non-standard location, set the RUSTDOCFLAGS
environment variable:
export RUSTDOCFLAGS="-L$METISDIR/lib"
Then the following command will generate and open the documentation:
cargo doc --no-deps --open
metis-rs is distributed under the terms of both the MIT license and the Apache License (Version 2.0). Refer to LICENSE-APACHE
and LICENSE-MIT
for more details.