Installation

Three ways to get the Rust server, from lightest to heaviest.

Bundled in the Python wheel

A storage-engine build of the SecantusDB wheel installs secantusd-rs on PATH next to the pure-Python secantusd-py, plus the embedded RustServer handle:

SKBUILD_CMAKE_DEFINE=SECANTUS_BUILD_STORAGE_ENGINE=ON uv sync --extra dev
secantusd-rs --port 27017 --storage-path ./secantus-data

Build from source

The binary lives in crates/secantusdb (its own Cargo workspace, since it links WiredTiger). Building needs a Rust toolchain, CMake/Ninja, and libclang (for the WiredTiger FFI bindgen):

git clone --recurse-submodules https://github.com/jdrumgoole/SecantusDB
cd SecantusDB
cargo build --release --manifest-path crates/secantusdb/Cargo.toml
# → crates/secantusdb/target/release/secantusd-rs

The build compiles the vendored WiredTiger (vendor/wiredtiger, mongodb-7.0 line) and statically links it — the resulting binary is self-contained.