README.md

cozodb
=====

Erlang/BEAM NIF bindings for CozoDB using Rustler.

CozoDB is a FOSS embeddable, transactional, relational-graph-vector database, wiht a Datalog query engine and time travelling capability, perfect as the long-term memory for LLMs and AI.

## Installation

### Requirements
* Erlang OTP26 and/or Elixir (latest)
* Rust 1.76.0
* macOS packages: 
  * `liblz4`, 
  * `libssl`
* Linux packages:
  * `build-essential` 
  * `liblz4-dev` 
  * `libncurses-dev` 
  * `libsnappy-dev` 
  * `libssl-dev` 
  * `liburing-dev`
  * `liburing-dev` 
  * `liburing2`
  * `pkg-config`

### Erlang
Add the following to your `rebar.config` file.

```erlang
{deps, [
    {cozodb,
      {git, "https://github.com/leapsight/cozodb.git", {branch, "master"}}
    }
]}.
```

### Elixir
Add the following to your `mix.exs` file.

```elixir
  defp deps do
    [
        {:cozodb,
            git: "https://github.com/leapsight/cozodb.git",
            branch: "master"
        }
    ]
```