Saltearse al contenido

Instalación

NamiDB se distribuye en cuatro formas, todas construidas sobre el mismo motor. Instala las que coincidan con cómo quieres usarlo.

Python (pip install namidb)

Los bindings oficiales para Python (PyO3 + maturin). La forma más rápida de tener una base de datos de grafos dentro de tu proceso — notebooks, scripts, aplicaciones, fixtures de CI.

Ventana de terminal
pip install namidb

Requisitos:

  • Python >= 3.9.
  • pyarrow >= 14 es una dependencia transitiva obligatoria — cada result set se materializa a través de Arrow.

Extras opcionales para DataFrames:

Ventana de terminal
pip install 'namidb[pandas]' # agrega interop con pandas DataFrame
pip install 'namidb[polars]' # agrega interop con polars DataFrame

PyPI publica wheels prearmadas (abi3) para:

PlataformaWheel
Linux x86_64
Linux aarch64
macOS arm64 (Apple Silicon)
Windows x86_64
Cualquier otra plataforma (incluido Intel macOS)cae al sdist (requiere toolchain de Rust, instalación más lenta, idéntico en runtime)

Verifica la instalación:

Ventana de terminal
python -c "import namidb; print(namidb.__version__)"

Compilar la wheel de Python desde el código fuente

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

Después de maturin develop, import namidb funciona en cualquier ambiente de Python >= 3.9.

Siguiente paso: tu primera consulta — la prueba de 30 segundos sobre un namespace en memoria, sin bucket.

Rust (crate namidb)

Para embeber NamiDB dentro de una aplicación Rust. El crate paraguas namidb re-exporta la superficie pública estable de namidb-core, namidb-storage, namidb-graph y namidb-query, así que un Cargo.toml aguas abajo solo necesita una línea.

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

Compilar desde el código fuente usa el toolchain anclado por rust-toolchain.toml (actualmente stable):

Ventana de terminal
git clone https://github.com/namidb/namidb
cd namidb
rustup show # instala el toolchain anclado
cargo build --release

Siguiente paso: Embedded (Rust).

CLI namidb

Para Cypher ad-hoc desde tu shell — sanity checks rápidos, ejecuciones de EXPLAIN, consultas puntuales contra cualquier backend.

Ventana de terminal
git clone https://github.com/namidb/namidb
cd namidb
cargo install --path crates/namidb-cli

Verifica:

Ventana de terminal
namidb --version
namidb run "RETURN 1 AS n" # usa un namespace memory:// efímero

Sin --store, namidb run levanta un namespace en memoria para la ejecución puntual. Con --store <uri> abre un namespace persistente sobre cualquier backend soportado (file://, s3://, gs://, az://, memory://).

Siguiente paso: la página de la CLI.

Daemon namidb-server

Para correr NamiDB como un servidor HTTP / Bolt persistente.

Ventana de terminal
git clone https://github.com/namidb/namidb
cd namidb
cargo install --path crates/namidb-server

Verifica:

Ventana de terminal
namidb-server --help

Siguiente paso: la página de Servidor HTTP cubre flags, autenticación y la superficie REST + Bolt — o salta a la receta de Docker + MinIO para un stack local completo en un solo archivo.

Código fuente

NamiDB es open source bajo BSL 1.1. El repositorio canónico es github.com/namidb/namidb; los releases están etiquetados ahí. Los releases del motor usan vX.Y.Z; los releases de la wheel de Python usan py-vX.Y.Z.