Skip to content

foundationdb-rs/foundationdb-rs

Discord GitHub Workflow Status dependency status Codecov Rustc 1.70+

FoundationDB Rust Client

The repo consists of multiple crates:

Library Status Description
foundationdb Crates.io foundationdb High level FoundationDB client API
foundationdb-sys Crates.io foundationdb-sys C API bindings for FoundationDB
foundationdb-gen n/a Code generator for common options and types of FoundationDB

The current version requires rustc 1.70+ to work. The previous version (0.3) is still maintained and is available within the 0.3 branch.

You can access the main branch documentation here.

Supported platforms

Supported platforms are listed on the foundationdb's README.

Develop with Nix

A flake.nix is provided to develop the bindings. We recommend add a cluster-file on the configuration.nix file:

{
  environment.etc."foundationdb/fdb.cluster" = {
    mode = "0555";
    text = ''
      docker:docker@127.0.0.1:4500
    '';
  };
}

A FoundationDB cluster can be run using these commands:

docker run -p 4500:4500 --name fdb -it --rm -d foundationdb/foundationdb:7.1.19
docker exec fdb fdbcli --exec "configure new single memory"

Correctness

Special care has been set up to be sure that the crate is correct, like official bindings. Every hour, we are running thousands of seeds on the BindingTester.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.