freshcrate
Skin:/
Home > Databases > uni-db

uni-db

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 loca

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

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.

README

Uni: Embedded Graph & Vector Database

License Rust Python

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

Part of The Rustic Initiative by Dragonscale Industries Inc.

Key Features

  • Embedded & Serverless: Runs as a library within your application โ€” no server process.
  • Property Graph: OpenCypher queries with MATCH, CREATE, WHERE, ORDER BY, LIMIT, and aggregations.
  • Vector Search: K-NN similarity search (L2, cosine) with pre-filter and threshold support.
  • Columnar Storage: Lance-backed persistence on local disk or object storage (S3/GCS).
  • Graph Algorithms: PageRank, Louvain, shortest path, and more via the built-in algorithm library.
  • Rust & Python: Native Rust crate and Python bindings (PyO3).

Getting Started

Rust

Add to your Cargo.toml:

[dependencies]
uni-db = "0.1.3"

Python

pip install uni-db
import uni_db

# Open or create a database
db = uni_db.Database("./my_graph")

# Define schema
db.create_label("Person")
db.add_property("Person", "name", "string", False)
db.add_property("Person", "age", "int64", True)
db.create_scalar_index("Person", "name", "btree")

# Write data
db.execute("CREATE (p:Person {name: 'Alice', age: 30})")
db.execute("CREATE (p:Person {name: 'Bob', age: 25})")
db.flush()

# Query
results = db.query(
    "MATCH (p:Person) WHERE p.age > $min RETURN p.name",
    {"min": 28},
)
print(results)  # [{'p.name': 'Alice'}]

Vector Search

# Create schema with a vector property
db.create_label("Document")
db.add_property("Document", "text", "string", False)
db.add_property("Document", "embedding", "vector[128]", True)
db.create_vector_index("Document", "embedding", "cosine")

# Insert data
db.execute("CREATE (d:Document {text: 'hello world', embedding: [0.1, 0.2, 0.3]})")
db.flush()

# K-NN search
results = db.query("""
    CALL uni.vector.query('Document', 'embedding', $vec, 10)
    YIELD vid, distance
    RETURN vid, distance
    ORDER BY distance
""", {"vec": my_embedding})

# K-NN with pre-filter
results = db.query("""
    CALL uni.vector.query('Document', 'embedding', $vec, 10, 'category = "tech"')
    YIELD vid, distance
    RETURN vid, distance
""", {"vec": my_embedding})

Async API

import uni_db

db = await uni_db.AsyncDatabase.open("./my_graph")

await db.execute("CREATE (p:Person {name: 'Alice', age: 30})")
results = await db.query("MATCH (p:Person) RETURN p.name")

Python OGM (uni-pydantic)

pip install uni-pydantic
from uni_pydantic import UniNode, UniSession, Field, Relationship, Vector

class Person(UniNode):
    name: str
    age: int | None = None
    email: str = Field(unique=True, index="btree")
    embedding: Vector[128] = Field(metric="cosine")
    friends: list["Person"] = Relationship("FRIEND_OF", direction="both")

session = UniSession(db)
session.register(Person)
session.sync_schema()

alice = Person(name="Alice", email="alice@example.com")
session.add(alice)
session.commit()

adults = session.query(Person).filter(Person.age >= 18).order_by(Person.name).all()

Documentation

License

Apache 2.0 โ€” see LICENSE for details.


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

Release History

VersionChangesUrgencyDate
v2.0.0# Uni 2.0.0 Release Notes **Release scope:** `v1.1.0` โ†’ `2.0.0` ยท 283 commits ยท ~245K insertions across 1,261 files **Dates:** 2026-04-15 โ†’ 2026-06-03 **Version path:** `1.1.0` โ†’ `1.1.1` โ†’ `1.2.0` โ†’ `1.3.0` (breaking wheel collapse) โ†’ `1.4.0` โ†’ `2.0.0` Uni 2.0 is the largest release in the project's history. It graduates four headline subsystems from prototype to default-on production behavior โ€” **Serializable Snapshot Isolation**, **Graph Forks**, the **Plugin Framework**, and **Locy neHigh6/4/2026
v1.1.0<!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Other Changes * Integrate BTIC support in query engine, Python bindings, and tests by @milliondreams in https://github.com/rustic-ai/uni-db/pull/38 **Full Changelog**: https://github.com/rustic-ai/uni-db/compare/v1.0.2...v1.1.0 <!-- Release notes generated using configuration in .github/release.yml at v1.1.0 --> ## What's Changed ### Other Changes * Integrate BTIC support in querHigh4/15/2026
v1.0.2<!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Other Changes * Fix publish order for uni-btic and update crate versions to 1.0.2 by @milliondreams in https://github.com/rustic-ai/uni-db/pull/29 * Bump crate versions and fix compaction debug assertion issue by @milliondreams in https://github.com/rustic-ai/uni-db/pull/30 **Full Changelog**: https://github.com/rustic-ai/uni-db/compare/v1.0.1...v1.0.2High4/11/2026
v1.0.1<!-- Release notes generated using configuration in .github/release.yml at v1.0.1 --> ## What's Changed ### Other Changes * fix: restore notebook execution outputs in documentation build by @milliondreams in https://github.com/rustic-ai/uni-db/pull/21 * Fix FOLD projection issues, add serialization, and improve timeout handling by @milliondreams in https://github.com/rustic-ai/uni-db/pull/26 * Fix FOLD projection issues, add serialization, and improve timeout handling by @milliondreams in httpsMedium4/10/2026
v1.0.0# Uni 1.0 Uni was a graph database with vector search. As of 1.0, it's a reasoning engine. Write rules. Attach probabilities to your edges. Uni propagates them through the graph โ€” recursively, correctly โ€” and gives you not just answers but *confidence scores* backed by full evidence chains. Graph structure, vector similarity, logical inference, probabilistic reasoning. One embedded library. No server. `pip install uni-db`. --- ## Probabilistic Locy Locy already let you define rHigh4/5/2026
v0.3.0<!-- Release notes generated using configuration in .github/release.yml at v0.3.0 --> ## What's Changed ### Other Changes * Probabilistic Logic programming in Locy by @milliondreams in https://github.com/rustic-ai/uni-db/pull/15 * fix(uni-locy): escape interval notation in doc comment to fix rustdocโ€ฆ by @milliondreams in https://github.com/rustic-ai/uni-db/pull/17 **Full Changelog**: https://github.com/rustic-ai/uni-db/compare/v0.2.0...v0.3.0Medium3/25/2026
v0.2.0<!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Other Changes * Upgrade uni-xervo to 0.2.0 by @milliondreams in https://github.com/rustic-ai/uni-db/pull/10 * fix: upgrade CI to Python 3.12 and fix parallel test race conditions by @milliondreams in https://github.com/rustic-ai/uni-db/pull/11 **Full Changelog**: https://github.com/rustic-ai/uni-db/compare/v0.1.18...v0.2.0Low3/15/2026
v0.1.18<!-- Release notes generated using configuration in .github/release.yml at v0.1.18 --> **Full Changelog**: https://github.com/rustic-ai/uni-db/compare/v0.1.17...v0.1.18Low3/9/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

RaphtoryScalable graph analytics database powered by a multithreaded, vectorized temporal engine, written in Rustv0.17.0
coordinodeThe graph-native hybrid retrieval engine for AI and GraphRAG. Graph + Vector + Full-Text in a single transactional engine.v0.4.3
contextdbEmbedded database for agentic memory โ€” relational, graph, and vector under unified MVCC transactionsv1.0.0
helix-dbHelixDB is an open-source graph-vector database built from scratch in Rust.v3.0.3
HelixTransform Claude into a local AI assistant for Mac that controls apps, manages tasks, and remembers context across sessions.main@2026-06-04

More in Databases

milvusMilvus is a high-performance, cloud-native vector database built for scalable vector ANN search
WeKnoraLLM-powered framework for deep document understanding, semantic retrieval, and context-aware answers using RAG paradigm.
ai-real-estate-assistantAdvanced AI Real Estate Assistant using RAG, LLMs, and Python. Features market analysis, property valuation, and intelligent search.
alibabacloud-adb20211201Alibaba Cloud adb (20211201) SDK Library for Python