Skip to content
/ uni Public

Uni is a modern, embedded database that combines property graph (OpenCypher), vector search, and columnar storage (Lance) into a single, cohesive engine. It is designed for applications requiring local, fast, and multimodal data access, backed by object storage (S3/GCS) durability.

License

Notifications You must be signed in to change notification settings

rustic-ai/uni

Repository files navigation

Uni: Embedded Graph & Vector Database

License Rust Python

Uni is a modern, embedded database that combines property graph (OpenCypher), vector search, and columnar storage (Lance) into a single, cohesive engine. It is designed for applications requiring local, fast, and multimodal data access, backed by object storage (S3/GCS) durability.

Part of The Rustic Initiative by Dragonscale Industries Inc.

Key Features

  • Embedded & Serverless: Runs as a single process or library within your application.
  • Multimodal: Supports Graph, Vector, Document, and Columnar workloads.
  • Storage: Persists data using LanceDB format on local disk or object storage.
  • Query Language: OpenCypher (subset) with vector search extensions.
  • Algorithms: Built-in graph algorithms (PageRank, Louvain, ShortestPath, etc.).
  • Connectivity: Rust crate, Python bindings, and HTTP API.

Getting Started

Rust

Add uni-db to your Cargo.toml:

[dependencies]
uni-db = { git = "https://github.com/rustic-ai/uni" }
use uni_db::Uni;

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let db = Uni::open("my_db").build().await?;
    
    // Create node
    db.execute("CREATE (n:Person {name: 'Alice', age: 30})").await?;
    
    // Query
    let results = db.query("MATCH (n:Person) RETURN n").await?;
    println!("{:?}", results);
    
    Ok(())
}

Python

Build and install the python bindings:

cd bindings/python
maturin develop
import uni_db

db = uni_db.Database("my_db")

# Create
db.query("CREATE (n:Person {name: 'Bob', age: 25})")

# Query
results = db.query("MATCH (n:Person) RETURN n")
print(results)

HTTP Server

Warning: The HTTP server is intended for development and testing only. It does not include authentication, authorization, or other security features required for production deployments. Do not expose it to untrusted networks.

Start the server using the CLI:

cargo run -- start --port 8080 --path ./my_db
  • Explorer: Open http://localhost:8080 in your browser.
  • API: POST queries to http://localhost:8080/api/v1/query.
  • Metrics: Prometheus metrics at http://localhost:8080/api/v1/metrics (placeholder).

Documentation

Contributing

We welcome contributions! Please see our Contributing Guide for details.

License

Apache 2.0 - see LICENSE for details.


Uni is developed by Dragonscale Industries Inc. as part of The Rustic Initiative.

About

Uni is a modern, embedded database that combines property graph (OpenCypher), vector search, and columnar storage (Lance) into a single, cohesive engine. It is designed for applications requiring local, fast, and multimodal data access, backed by object storage (S3/GCS) durability.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •