Skip to content

Install

NamiDB ships in four shapes, all built from the same engine. Install the ones that match how you want to use it.

Python (pip install namidb)

The official Python bindings (PyO3 + maturin). The fastest way to get a graph database inside your process — notebooks, scripts, applications, CI fixtures.

Terminal window
pip install namidb

Requirements:

  • Python >= 3.9.
  • pyarrow >= 14 is a hard transitive dependency — every result set materialises through Arrow.

Optional DataFrame extras:

Terminal window
pip install 'namidb[pandas]' # adds pandas DataFrame interop
pip install 'namidb[polars]' # adds polars DataFrame interop

Prebuilt abi3 wheels are published to PyPI for:

PlatformWheel
Linux x86_64yes
Linux aarch64yes
macOS arm64 (Apple Silicon)yes
Windows x86_64yes
Any other platform (incl. Intel macOS)falls back to the sdist (Rust toolchain required, slower install, identical at runtime)

Verify the install:

Terminal window
python -c "import namidb; print(namidb.__version__)"

Build the Python wheel from source

Terminal window
git clone https://github.com/namidb/namidb
cd namidb/crates/namidb-py
pip install maturin
maturin develop --release --extras test

After maturin develop, import namidb works from any Python >= 3.9 environment.

Next: your first query — the 30-second taste on an in-memory namespace, no bucket required.

Rust (namidb crate)

For embedding NamiDB inside a Rust application. The umbrella crate namidb re-exports the stable public surface from namidb-core, namidb-storage, namidb-graph, and namidb-query, so a downstream Cargo.toml needs one line.

Cargo.toml
[dependencies]
namidb = "0.4"
tokio = { version = "1", features = ["full"] }

Build from source uses the toolchain pinned by rust-toolchain.toml (currently stable):

Terminal window
git clone https://github.com/namidb/namidb
cd namidb
rustup show # installs the pinned toolchain
cargo build --release

Next: Embedded (Rust).

namidb CLI

For ad-hoc Cypher from your shell — quick sanity checks, EXPLAIN runs, one-off queries against any backend.

Terminal window
git clone https://github.com/namidb/namidb
cd namidb
cargo install --path crates/namidb-cli

Verify:

Terminal window
namidb --version
namidb run "RETURN 1 AS n" # uses an ephemeral memory:// namespace

Without --store, namidb run spins up an in-memory namespace for the one-shot. With --store <uri> it opens a durable namespace on any supported backend (file://, s3://, gs://, az://, memory://).

Next: the CLI page.

namidb-server daemon

For running NamiDB as a long-running HTTP / Bolt server.

Terminal window
git clone https://github.com/namidb/namidb
cd namidb
cargo install --path crates/namidb-server

Verify:

Terminal window
namidb-server --help

Next: the HTTP server page covers flags, auth and the REST + Bolt surface — or jump to the Docker + MinIO recipe for a complete local stack in one file.

Source

NamiDB is open source under BSL 1.1. The canonical repository is github.com/namidb/namidb; releases are tagged there. Engine releases use vX.Y.Z; Python wheel releases use py-vX.Y.Z.