Skip to main content
NopalDB logo

NopalDB 🌵

PyPI Python PyPI downloads CI License

High-performance embedded graph database for Python, written in Rust: ACID transactions, MVCC time-travel, a Cypher-like query language (NQL), vector search, and zero-copy Apache Arrow export for ML pipelines.

Runs in-process — no server to deploy. One pip install, one file on disk.

Install

pip install nopaldb

Prebuilt wheels for Linux (x86_64/aarch64), macOS (Intel/Apple Silicon) and Windows, for CPython 3.10+ (abi3: one wheel per platform covers all versions).

What the wheel contains

These wheels are built with the sled storage backend only. That is what Graph.open(...) uses, and it is the backend the project supports for production use.

The engine is selectable in the API — Graph.open_with_options(path, engine=...) — but engine="redb" raises ValueError on a wheel from PyPI, because that backend is not compiled in. redb is experimental: it exists behind a Cargo feature, is not enabled by default, and is still being qualified against the crash-recovery suite. To try it you must build from source:

pip install maturin
git clone https://github.com/sharop/nopaldb && cd nopaldb
maturin build --release --features python-full,storage-redb -m nopaldb/Cargo.toml

Treat such a build as an experiment, not as a supported configuration. The wheels on PyPI will ship redb once it clears its qualification gate.

Quickstart

import nopaldb

graph = nopaldb.Graph.open("./data.db")

# ACID transactions
tx = graph.begin_transaction()
alice = tx.add_node("Person", {"name": "Alice", "age": 30})
bob = tx.add_node("Person", {"name": "Bob", "age": 25})
tx.add_edge(alice, bob, "KNOWS")
tx.commit()

# Query with NQL
result = graph.execute_nql("""
    find p.name, p.age
    from (p:Person)
    where p.age > 25
""")
for row in result:
    print(f"{row['p.name']}: {row['p.age']}")

graph.close()

Isolation levels

tx = graph.begin_transaction(isolation="serializable")
# read_committed (default) | repeatable_read | serializable | read_uncommitted

Serializable transactions detect write conflicts and deadlocks; see the durability guarantees and isolation guide.

Arrow / ML pipelines

import pyarrow as pa

arrow_bytes = graph.to_arrow(label="Person")
batch = pa.ipc.open_stream(arrow_bytes).read_next_batch()
df = batch.to_pandas()   # zero-copy into Pandas / Polars / PyTorch pipelines

Good to know

  • One process per data directory (embedded file lock). Threads within the process run in parallel — the bindings release the GIL during database calls.
  • Use graph.bulk_loader(batch_size) for large ingestions.
  • Time-travel: MVCC version history is queryable; old versions are garbage collected on demand.

License: MPL-2.0 (the nopaldb library — this repository in its entirety). The companion ecosystem apps (MCP server, NDBStudio) are AGPL-3.0-only and live in their own repositories: https://github.com/Anxious-Mind-Group/nopaldb-mcp · https://github.com/Anxious-Mind-Group/ndbstudio. Releases ≤ 0.4.31 were AGPL-3.0-only. NopalDB™ is a trademark of Sergio Haro Pérez.

Metadata

Release files for nopaldb 0.6.19

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nopaldb 0.6.19
File Size Uploaded Provenance
nopaldb-0.6.19.tar.gz 811.2 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for nopaldb 0.6.19
File
nopaldb-0.6.19-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
nopaldb-0.6.19-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
nopaldb-0.6.19-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details
nopaldb-0.6.19-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
nopaldb-0.6.19-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Total release size: 27.4 MB

Release files / nopaldb-0.6.19.tar.gz

Download URL nopaldb-0.6.19.tar.gz
Size 811.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2562e148915e427c5ea93547be0dccbf2022a543eeee1f39e1a624eaf76cc34a
BLAKE2b-256 checksum
How to use checksums
aed00094bb9da29f2b088c5f937adf40d8abbe583963730d1e55d763da00ca76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / nopaldb-0.6.19-cp310-abi3-win_amd64.whl

Download URL nopaldb-0.6.19-cp310-abi3-win_amd64.whl
Size 5.2 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
965510b728bff0525f97317247668502cb6eaa57481a06bd86862e9ded26b11a
BLAKE2b-256 checksum
How to use checksums
392b4293f9240d0a6e3e9160ec085943f82b617385c60518c07b1fa3a41909b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / nopaldb-0.6.19-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL nopaldb-0.6.19-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 5.8 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
e83301ff90e6f93e489aaf646dbaa1ec04ce17f653eb8f7ba4466ac848a6cf7f
BLAKE2b-256 checksum
How to use checksums
9ad5f1536c6a71b0699db4bbd7e0e05af17db5fcbe514753558f7b8682ae8a2c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / nopaldb-0.6.19-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL nopaldb-0.6.19-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 5.3 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
1d4e9672d308c210f1358f2e291d76b6f3e31dd7f1c4e4d3d50ce7a5c2de8f77
BLAKE2b-256 checksum
How to use checksums
acd2d3ddfcf7f21d8bdca9665889e66bf3e39e759dde6ae977852c2715a52e28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / nopaldb-0.6.19-cp310-abi3-macosx_11_0_arm64.whl

Download URL nopaldb-0.6.19-cp310-abi3-macosx_11_0_arm64.whl
Size 4.8 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e22e53628f6295b3c96c57891279ae556e640966cac6d2c5196a6531f439d712
BLAKE2b-256 checksum
How to use checksums
0e853088de239554be80a1e3fee75dc229ed7911629a08dad6be783cc8e01c27
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / nopaldb-0.6.19-cp310-abi3-macosx_10_12_x86_64.whl

Download URL nopaldb-0.6.19-cp310-abi3-macosx_10_12_x86_64.whl
Size 5.4 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
cc9f8cbbf24896c81e4e6cb91ca97b37bfca05a668a66f3a83c0b8688dbd0dac
BLAKE2b-256 checksum
How to use checksums
b46e0839e8d4d0f271cbf6b19dd9466c70f9642651248598687e10a111bf2170
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Security for nopaldb 0.6.19

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 6 files in this release have been uploaded with provenance metadata.

Select from 6 files

Attestation for nopaldb-0.6.19.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.6.19 This release

6 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page