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.
pip install namidbRequirements:
- Python
>= 3.9. pyarrow >= 14is a hard transitive dependency — every result set materialises through Arrow.
Optional DataFrame extras:
pip install 'namidb[pandas]' # adds pandas DataFrame interoppip install 'namidb[polars]' # adds polars DataFrame interopPrebuilt abi3 wheels are published to PyPI for:
| Platform | Wheel |
|---|---|
| Linux x86_64 | yes |
| Linux aarch64 | yes |
| macOS arm64 (Apple Silicon) | yes |
| Windows x86_64 | yes |
| Any other platform (incl. Intel macOS) | falls back to the sdist (Rust toolchain required, slower install, identical at runtime) |
Verify the install:
python -c "import namidb; print(namidb.__version__)"Build the Python wheel from source
git clone https://github.com/namidb/namidbcd namidb/crates/namidb-pypip install maturinmaturin develop --release --extras testAfter 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.
[dependencies]namidb = "0.4"tokio = { version = "1", features = ["full"] }Build from source uses the toolchain pinned by rust-toolchain.toml
(currently stable):
git clone https://github.com/namidb/namidbcd namidbrustup show # installs the pinned toolchaincargo build --releaseNext: Embedded (Rust).
namidb CLI
For ad-hoc Cypher from your shell — quick sanity checks, EXPLAIN runs,
one-off queries against any backend.
git clone https://github.com/namidb/namidbcd namidbcargo install --path crates/namidb-cliVerify:
namidb --versionnamidb run "RETURN 1 AS n" # uses an ephemeral memory:// namespaceWithout --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.
git clone https://github.com/namidb/namidbcd namidbcargo install --path crates/namidb-serverVerify:
namidb-server --helpThe image is built from crates/namidb-server/Dockerfile. Cargo.lock
is tracked in the repo as of 0.4.1, so the build is reproducible from a
fresh clone:
git clone https://github.com/namidb/namidbcd namidbdocker build -t namidb-server:0.1 -f crates/namidb-server/Dockerfile .Verify:
docker run --rm namidb-server:0.1 --helpThe docker-compose.yml at the repo root expects the namidb-server:0.1
tag.
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.