Latest release v0.2.0

NeuG

The one data index for your agentic applications

Graph, vector, and full-text retrieval over the same transactional data—embedded in your application or running behind a service.

PythonNode.jsCLI

A transactional data foundation

NeuG manages data before it indexes it. A graph-native engine owns schema, transactions, persistence, and recovery—so every retrieval path starts from one consistent state.

Cypher-nativeQuery language

Define, mutate, and query connected data directly in its native model.

ACIDTransactions

Keep reads and writes consistent as application state changes.

Two modesEmbedded · Service

Run in-process or expose the same data engine behind a service.

ExtensibleExtension system

Add new capabilities through extensions while keeping the core focused.

Apache 2.0Open source

Use, modify, and distribute NeuG under the Apache 2.0 license.

Three indexes. One result

Query structure, semantics, and exact keywords together. NeuG ranks one result set without moving data across engines.

QueryPaymentService+"retry timeout"
PaymentServiceServiceRetryPolicyPolicyRunbookDocumentTimeoutErrorErrorCircuitBreakerPolicyOwnerTeamAlertEvent
Ranked result · #1RetryPolicy
Ranked result · #2TimeoutError
Ranked result · #3Runbook

Analyze the graph in place

Retrieval finds relevant entities. Graph algorithms reveal importance, communities, and patterns across the wider structure.

Community ACommunity BCommunity CPaymentServiceRetryPolicyRunbookTimeoutErrorCircuitBreakerOwner
The same graph data as the retrieval example above

Reveal influence

See which entities matter most across the graph.

Beyond PageRank and LeidenRun a broader set of graph algorithms over the same data.Explore graph algorithms →

Choose the right architecture

Compare NeuG in the deployment mode that fits your workload—or against the multi-engine stack it can simplify.

Service modeNeuG vs Neo4j
Throughput · QPS ↑
NeuG
617
Neo4j
12.2
LDBC SNB Interactive SF1 · 14 complex read queries
Embedded modeNeuG vs LadybugDB
Query latency
8 / 9queries with lower latency
Q3 example

NeuG0.37s

LadybugDB106.22s

LSQB SF1 · NeuG 1 thread vs LadybugDB best thread count
01
Service · 50.6× throughput

617 QPS for NeuG vs 12.2 QPS for Neo4j across 14 LDBC SNB Interactive complex reads.

02
Embedded · faster on 8 of 9

Single-threaded NeuG beat LadybugDB's best multi-threaded result on eight of nine LSQB queries.

03
One engine, two deployment modes

Run in-process for low-overhead analytics, or expose the same runtime as a service for concurrent workloads.

REPRODUCIBLE DUAL-MODE BENCHMARK

LDBC SNB SF1 · Apple Silicon · read workloads. Service test: 4 clients for 300 seconds. View methodology →

From install to first query

NeuG runs where your application runs. Install the library, open a database, and query it with Cypher.

quickstart.py
$ pip install neug

import neug

db = neug.Database("")
conn = db.connect()

result = conn.execute("""
  MATCH (n) RETURN n LIMIT 10
""")
Compatibility
Data formats
Apache Arrow · Parquet
Object storage
S3 · OSS
Operating systems
Linux · macOS
Windows · Roadmap
Architectures
x86_64 · ARM64

One index. Fewer moving parts

Start embedded. Move behind a service when your application needs it.