Nim bindings to the LadybugDB embedded graph database. https://ladybugdb.com/
Find a file
mahlon 3f13458d01 Bump version.
FossilOrigin-Name: 9d5624ddbf6e20ce882fd89016f096b69f40b4cb13ceb142ec8bf8eb49fc69d0
2025-04-02 02:22:29 +00:00
experiments Minor update for Kuzu 0.9.0 release. 2025-04-02 02:19:34 +00:00
src Bump version. 2025-04-02 02:22:29 +00:00
tests Don't lock versions into compiled constants, underpinning shared lib could be 2025-03-31 23:15:45 +00:00
tmp Initial commit, adding work to date. 2025-03-15 20:26:58 +00:00
.editorconfig Multiple changes. 2025-03-29 23:17:10 +00:00
History.md Minor update for Kuzu 0.9.0 release. 2025-04-02 02:19:34 +00:00
kuzu.nimble Fix license type in nimble file. 2025-04-01 02:40:34 +00:00
LICENSE *cough* 2025-04-01 02:52:22 +00:00
README.md Minor update for Kuzu 0.9.0 release. 2025-04-02 02:19:34 +00:00
USAGE.md Minor update for Kuzu 0.9.0 release. 2025-04-02 02:19:34 +00:00

Nim Kuzu

home
https://code.martini.nu/fossil/nim-kuzu
github_mirror
https://github.com/mahlonsmith/nim-kuzu

Description

This is a Nim binding for the Kuzu graph database library.

Kuzu is an embedded graph database built for query speed and scalability. It is optimized for handling complex join-heavy analytical workloads on very large graphs, with the following core feature set:

  • Property Graph data model and Cypher query language
  • Embedded (in-process) integration with applications
  • Columnar disk-based storage
  • Columnar, compressed sparse row-based (CSR) adjacency list/join indices
  • Vectorized and factorized query processor
  • Novel and very fast join algorithms
  • Multi-core query parallelism
  • Serializable ACID transactions

For more information about Kuzu itself, see its documentation.

Prerequisites

  • A functioning Nim >= 2 installation
  • KuzuDB to be locally installed!

Installation

$ nimble install kuzu

The current version of this library is built for Kuzu v0.9.0.

Usage

See the Usage documentation.

You can also find a bunch of working examples in the tests.

Contributing

You can check out the current development source with Fossil via its home repo, or with Git/Jujutsu at its project mirror

After checking out the source, uncomment the development dependencies from the kuzu.nimble file, and run:

$ nimble setup

This will install dependencies, and do any other necessary setup for development.

Authors

A note of thanks to @mantielero on Github, who has a Kuzu binding for an early KuzuDB (0.4.x) that I found after starting this project.