Skip to content

Install CypherDB

CypherDB is an embedded graph database that can be used from the command line and from a variety of programming languages. This page shows all the ways you can install CypherDB. After installation, you can learn how to run CypherDB by creating your first graph.

Command Line (Shell)

If you don’t need CypherDB embedded in your application, you can use the CLI shell. This is a standalone executable with no dependencies that can be used to interact with a CypherDB database using just Cypher.

Use a tool like curl to download the latest version of the CypherDB CLI to your local machine.

Terminal window
# x86-64
curl -L -O https://github.com/opencypher/cypherdb/releases/download/v0.11.0/kuzu_cli-linux-x86_64.tar.gz
# aarch64
curl -L -O https://github.com/opencypher/cypherdb/releases/download/v0.11.0/kuzu_cli-linux-aarch64.tar.gz
tar xzf kuzu_cli-*.tar.gz

Now you can run CypherDB from the command line.

Terminal window
./kuzu

Python

You can use uv, pip, or nix to install the CypherDB Python client library. The instructions are the same for Linux, macOS, and Windows.

Terminal window
uv init
uv add kuzu

Node.js

Use npm to install the CypherDB Node.js client library.

Terminal window
npm install kuzu

Java

The latest stable version is available on Maven Central.

Terminal window
<dependency>
<groupId>com.kuzudb</groupId>
<artifactId>kuzu</artifactId>
<version>0.11.0</version>
</dependency>

Rust

Use Cargo to install the CypherDB Rust client library. This will by default build and statically link CypherDB’s C++ library from source. You can also link against the dynamic release libraries, as described in the crate docs.

Terminal window
cargo add kuzu

Go

CypherDB’s Go API is a wrapper around the C API of CypherDB. The installation step below assumes that you have initialized a Go project that has a go.mod file, as described in the official tutorial.

Terminal window
go get github.com/kuzudb/go-kuzu@v0.11.0

Swift

To add kuzu-swift to your Swift project, you can use the Swift package manager.

  1. Add the package to your Package.swift dependencies.

    Terminal window
    dependencies: [
    .package(url: "https://github.com/opencypher/cypherdb-swift/", branch: "0.11.0"),
    ],

    You can change the branch to a tag to use a specific version (e.g., 0.11.0 for the latest stable release or main for the latest development version).

  2. Add CypherDB to your target dependencies.

    targets: [
    .target(
    name: "YourTargetName",
    dependencies: [
    .product(name: "CypherDB", package: "kuzu-swift"),
    ]
    )
    ]

Alternatively, you can add the package through Xcode:

  1. Open your Xcode project.
  2. Go to File > Add Packages Dependencies....
  3. Enter the URL of the kuzu-swift repository: https://github.com/opencypher/cypherdb-swift.
  4. Select the version you want to use (e.g., 0.11.0 for the latest stable release or main for the latest development version).

C/C++

Use a tool like curl to download the latest version of the CypherDB C/C++ binaries to your local machine.

The CypherDB C++ client is distributed as a so/dylib/dll+lib library file along with a header file (kuzu.hpp). Once you’ve downloaded and extracted the C++ files into a directory, you can link it to your C++ program by adding the directory to your build system’s search paths.

Terminal window
# x86-64
curl -L -O https://github.com/opencypher/cypherdb/releases/download/v0.11.0/libkuzu-linux-x86_64.tar.gz
# aarch64
curl -L -O https://github.com/opencypher/cypherdb/releases/download/v0.11.0/libkuzu-linux-aarch64.tar.gz
tar xzf libkuzu-*.tar.gz

CypherDB Explorer

CypherDB Explorer is a web-based GUI for CypherDB. It allows you to explore and query your CypherDB database using a web browser. Refer to the CypherDB Explorer GitHub repo for more details.

CypherDB MCP Server

Our Model Context Protocol server allows you to expose your CypherDB database as a tool that can be used by LLMs and agents. Refer to the CypherDB-MCP GitHub repo for more details.

Nightly Builds

If you want access to the latest features in development, you can use our nightly builds.

  • Python: uv pip install --pre kuzu
  • Node.js: npm i kuzu@next
  • Java: The latest snapshot version is available on GitHub Packages
  • For the CLI, C/C++ shared libraries, and Rust crate, the latest nightly versions for each can be downloaded from the latest run of this GitHub Actions workflow.