Skip to main content

Installation

Pick the library for your stack. All three are peers — same engine, same semantics.

Python

Requires Python 3.10+. Core depends only on numpy.

pip install relationdb

The core depends only on numpy. Extras: [rt] for the native RT-J backend (sentence-transformers + huggingface_hub), [dev] for pytest. Pandas and storage clients belong to your application; relationdb provides no bundled connectors. The distribution is relationdb, while the Python import remains import relativedb.

Java

Requires Java 17+. Maven publications under group com.relativedb:

  • relationdb — engine, schema, RelQL parser, retriever SPI
  • relationdb-rt — optional JNA binding to the native RT-J engine
dependencies {
implementation("com.relativedb:relationdb:0.1.0")
// implementation("com.relativedb:relationdb-rt:0.1.0")
}

Rust

The crates.io distribution is relationdb; the established Rust crate API is relativedb. It depends only on chrono and libloading.

cargo add relationdb

These registry coordinates are prepared but will not resolve until the first release is published. See Releasing the libraries for the manual dry-run workflow and registry setup.

Native model engine (optional)

The RT-J model backend needs the C++ library librt_c:

cd cpp
cmake -B build -S . && cmake --build build -j

All libraries auto-discover cpp/build/librt_c.{dylib,so}, or set RELATIVEDB_RT_LIB. Everything else works without it — the default backend is model-free.