- Minor README updates. - Create LICENSE and History files. - Use 'func' instead of 'proc' where applicable. - Add some destructor debug. - Rename primary exceptions to 'X-error'. - Bind to proper object types in prepared statement parameters. - Retain the found 'type' in the KuzuValue object. FossilOrigin-Name: db59c0b901b1715170e0d269fc2bf00477ac48af4d10a747eb5a749adbf6268e |
||
|---|---|---|
| experiments | ||
| src | ||
| tests | ||
| tmp | ||
| .editorconfig | ||
| History.md | ||
| kuzu.nimble | ||
| LICENCE | ||
| README.md | ||
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
Usage
[!TODO]- Human readable usage docs!
... The nim generated source isn't great when pulling in the C wrapper auto-gen stuff.
If you're here and reading this before I have proper docs written, see the tests/ for some working examples.
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
- Mahlon E. Smith mahlon@martini.nu
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.