2025-03-23 21:21:05 +00:00
|
|
|
|
2025-11-04 09:06:11 -08:00
|
|
|
# Nim Ladybug
|
2025-03-23 21:21:05 +00:00
|
|
|
|
|
|
|
|
home
|
2025-11-04 09:06:11 -08:00
|
|
|
: https://code.martini.nu/mahlon/nim-ladybug
|
2025-03-23 21:21:05 +00:00
|
|
|
|
|
|
|
|
github_mirror
|
2025-11-04 09:06:11 -08:00
|
|
|
: https://github.com/mahlonsmith/nim-ladybug
|
2025-03-23 21:21:05 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
## Description
|
|
|
|
|
|
2025-11-04 09:06:11 -08:00
|
|
|
This is a Nim binding for the [LadybugDB](https://ladybugdb.com) graph database library.
|
2025-03-23 21:21:05 +00:00
|
|
|
|
2025-11-04 09:06:11 -08:00
|
|
|
Ladybug is an embedded graph database built for query speed and scalability. It is
|
2025-03-23 21:21:05 +00:00
|
|
|
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
|
|
|
|
|
|
2025-11-04 09:06:11 -08:00
|
|
|
For more information about Ladybug itself, see its
|
|
|
|
|
[documentation](https://docs.ladybugdb.com/).
|
2025-03-23 21:21:05 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
## Prerequisites
|
|
|
|
|
|
|
|
|
|
* A functioning Nim >= 2 installation
|
2025-11-04 09:06:11 -08:00
|
|
|
- [LadybugDB](https://ladybugdb.com) to be locally installed!
|
2025-03-23 21:21:05 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
2025-11-04 09:06:11 -08:00
|
|
|
$ nimble install ladybug
|
2025-03-23 21:21:05 +00:00
|
|
|
|
2025-11-04 09:06:11 -08:00
|
|
|
The current version of this library is built for Ladybug v0.12.0.
|
2025-03-23 21:21:05 +00:00
|
|
|
|
|
|
|
|
|
2025-03-31 19:35:15 +00:00
|
|
|
## Usage
|
2025-03-23 21:21:05 +00:00
|
|
|
|
2025-03-31 19:35:15 +00:00
|
|
|
See the [Usage documentation](USAGE.md).
|
2025-03-23 21:21:05 +00:00
|
|
|
|
2025-03-31 19:35:15 +00:00
|
|
|
You can also find a bunch of working examples in the tests.
|
2025-03-23 21:21:05 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
## Contributing
|
|
|
|
|
|
2025-06-28 15:37:14 -07:00
|
|
|
You can check out the current development source via Git/Jujutsu at its
|
2025-11-04 09:06:11 -08:00
|
|
|
[home repo](https://code.martini.nu/mahlon/nim-ladybug), or the
|
|
|
|
|
[project mirror](https://github.com/mahlonsmith/nim-ladybug).
|
2025-03-23 21:21:05 +00:00
|
|
|
|
|
|
|
|
After checking out the source, uncomment the development dependencies
|
2025-11-04 09:06:11 -08:00
|
|
|
from the `ladybug.nimble` file, and run:
|
2025-03-23 21:21:05 +00:00
|
|
|
|
|
|
|
|
$ 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
|
2025-11-04 09:06:11 -08:00
|
|
|
KuzuDB (0.4.x) that I found after starting this project (the predecessor to
|
|
|
|
|
LadybugDB.)
|