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.
pip install namidbRequisitos:
- Python
>= 3.9. pyarrow >= 14es una dependencia transitiva obligatoria — cada result set se materializa a través de Arrow.
Extras opcionales para DataFrames:
pip install 'namidb[pandas]' # agrega interop con pandas DataFramepip install 'namidb[polars]' # agrega interop con polars DataFramePyPI publica wheels prearmadas (abi3) para:
| Plataforma | Wheel |
|---|---|
| Linux x86_64 | sí |
| Linux aarch64 | sí |
| macOS arm64 (Apple Silicon) | sí |
| Windows x86_64 | sí |
| 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:
python -c "import namidb; print(namidb.__version__)"Compilar la wheel de Python desde el código fuente
git clone https://github.com/namidb/namidbcd namidb/crates/namidb-pypip install maturinmaturin develop --release --extras testDespué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.
[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):
git clone https://github.com/namidb/namidbcd namidbrustup show # instala el toolchain ancladocargo build --releaseSiguiente paso: Embedded (Rust).
CLI namidb
Para Cypher ad-hoc desde tu shell — sanity checks rápidos, ejecuciones
de EXPLAIN, consultas puntuales contra cualquier backend.
git clone https://github.com/namidb/namidbcd namidbcargo install --path crates/namidb-cliVerifica:
namidb --versionnamidb run "RETURN 1 AS n" # usa un namespace memory:// efímeroSin --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.
git clone https://github.com/namidb/namidbcd namidbcargo install --path crates/namidb-serverVerifica:
namidb-server --helpLa imagen se construye a partir de crates/namidb-server/Dockerfile. A
partir de 0.4.1, Cargo.lock se versiona en el repo para que el build
sea reproducible desde un clone fresco:
git clone https://github.com/namidb/namidbcd namidbdocker build -t namidb-server:0.1 -f crates/namidb-server/Dockerfile .Verifica:
docker run --rm namidb-server:0.1 --helpEl docker-compose.yml en la raíz del repo espera el tag
namidb-server:0.1.
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.