CypherDB is a lightweight, zero-dependency, embedded graph database written entirely in Go. Think of it as SQLite for Graph Databases
Project description
📖 Project Overview
CypherDB (formerly GoGraph) is a lightweight, zero-dependency, embedded graph database written entirely in Go. Think of it as "SQLite for Graph Databases".
It allows Go and Python developers to execute Cypher queries (the standard graph query language) and manage local graph data—nodes, relationships, and properties—without the overhead of external heavy database services like Neo4j.
⚡ Quick Start
1. Install Python Package
pip install cypherdb
Basic Example:
import cypherdb
# Create database
db = cypherdb.Database("my_graph.db")
# Use transaction with context manager
with db.transaction() as tx:
node_id = tx.create_node("Person", {"name": "Alice"})
print(f"Created node: {node_id}")
# Auto-commit
# Manual transaction
tx = db.transaction()
try:
tx.create_node("Person", {"name": "Bob"})
tx.commit()
except:
tx.rollback()
2. Install CLI (Go)
The fastest way to explore CypherDB is via the CLI.
macOS / Linux (Homebrew):
brew install dotnetage/tap/gograph
Run TUI (Interactive Shell):
# Simply run without arguments to open default.db in interactive mode
gograph
✨ Key Features
- 🚀 Pure Go: No CGO, seamless cross-platform support.
- 🐍 Python Bindings: Easy integration with Python applications.
- 📦 Embedded: Zero-config, single-directory storage (Pebble DB).
- 🔍 Cypher Support: Native
MATCH,CREATE,SET,DELETE. - 🛡️ ACID: MVCC, thread-safety, and WAL recovery.
- 🛠️ TUI Included: Interactive shell with auto-completion and ASCII tables.
💻 CLI Usage
The gograph binary provides a powerful TUI and command-line utilities.
| Command | Description |
|---|---|
gograph |
Launch Interactive TUI (default to default.db) |
gograph query <cypher> |
Run a read-only query |
gograph exec <cypher> |
Run a data modification command |
Example:
gograph query "MATCH (n) RETURN n"
🧩 System Compatibility
- OS: macOS, Linux, Windows.
- Arch:
amd64,arm64. - Python: 3.9+
📚 Documentation
Check out the full Documentation or the Docs Folder.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cypherdb-0.2.3.tar.gz.
File metadata
- Download URL: cypherdb-0.2.3.tar.gz
- Upload date:
- Size: 6.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6bbbfa2c9f4a97d9e00f175458877f3a1dea5a193f30478dc5e8929bd949c9d7
|
|
| MD5 |
30c19795e858618b72eb05259b0ce6db
|
|
| BLAKE2b-256 |
a2d52bb912b116c19e21020ac55d764b15e923036c3e615ea62cc29703c66ad1
|
File details
Details for the file cypherdb-0.2.3-cp314-cp314-macosx_26_0_x86_64.whl.
File metadata
- Download URL: cypherdb-0.2.3-cp314-cp314-macosx_26_0_x86_64.whl
- Upload date:
- Size: 4.7 MB
- Tags: CPython 3.14, macOS 26.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a3940a6e43358f217c94cce9fa5f2061320afd586bd906c58c62293f43b9013
|
|
| MD5 |
b2858c63b9a93ccdee35d7bb03626abe
|
|
| BLAKE2b-256 |
b1e66d12baeaa7a931508088db19b4b800a0428b82edd92762ac8648ac2dad25
|