Skip to main content

Lightweight embedded graph database with Cypher query support

Project description

CypherLite

CypherLite

PyPI License

SQLite-like simplicity for graph databases.

CypherLite is a lightweight, embedded, single-file graph database engine written in Rust with Python bindings via PyO3. Zero-config, ACID-compliant, with native Cypher query support.

Installation

pip install cypherlite

Pre-built wheels are available for:

  • Linux (x86_64, aarch64)
  • macOS (x86_64, arm64)
  • Windows (x86_64)

Quick Start

import cypherlite

# Open (or create) a database
db = cypherlite.open("my_graph.cyl")

# Create nodes and relationships
db.execute("CREATE (a:Person {name: 'Alice', age: 30})")
db.execute("CREATE (b:Person {name: 'Bob', age: 25})")
db.execute("""
    MATCH (a:Person {name: 'Alice'}), (b:Person {name: 'Bob'})
    CREATE (a)-[:KNOWS {since: 2024}]->(b)
""")

# Query the graph
result = db.execute("MATCH (p:Person) RETURN p.name, p.age ORDER BY p.age")
for row in result:
    print(f"{row['p.name']}: {row['p.age']}")

# Parameterized queries
result = db.execute(
    "MATCH (p:Person) WHERE p.name = $name RETURN p.age",
    params={"name": "Alice"}
)

# Transactions
tx = db.begin()
tx.execute("CREATE (c:Person {name: 'Charlie', age: 35})")
tx.commit()

db.close()

Features

  • ACID Transactions with Write-Ahead Logging
  • Cypher Queries: CREATE, MATCH, SET, DELETE, MERGE, WITH, ORDER BY, LIMIT
  • Temporal Queries: AT TIME, BETWEEN TIME for point-in-time lookups
  • Subgraph Snapshots: CREATE SNAPSHOT for graph state capture
  • Hyperedges: Native N:M relationship support
  • Plugin System: Custom scalar functions, triggers, serializers
  • Single-file Database: Zero configuration, embedded in your application

Links

License

MIT OR Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

cypherlite-1.2.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (605.9 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

cypherlite-1.2.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (608.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

cypherlite-1.2.2-cp38-abi3-win_amd64.whl (468.9 kB view details)

Uploaded CPython 3.8+Windows x86-64

cypherlite-1.2.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (631.0 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ x86-64

cypherlite-1.2.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (607.6 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

cypherlite-1.2.2-cp38-abi3-macosx_11_0_arm64.whl (567.7 kB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

cypherlite-1.2.2-cp38-abi3-macosx_10_12_x86_64.whl (593.4 kB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file cypherlite-1.2.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cypherlite-1.2.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 90eb9b9438da997b66a09cbf5aa7530cbec07391749ad8b860b6c6ebda749674
MD5 17d2426b3bd776ed73f4f6ca83682200
BLAKE2b-256 9cd959eefe85585269bbf001265b4ef19f47c39de6f12210ec0491adbf043015

See more details on using hashes here.

File details

Details for the file cypherlite-1.2.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cypherlite-1.2.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 535c52d9d18fd7f0a3dfffb6c10b9a2896513890e1f203b834faa399f5a4761b
MD5 fe655ebe84e1bd8f73e61a2c3cf5830a
BLAKE2b-256 b2025bf1adae8d48a1327ffb1b9444e15922a5277fae2749b7f9b9121ea02f31

See more details on using hashes here.

File details

Details for the file cypherlite-1.2.2-cp38-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for cypherlite-1.2.2-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 4dae0fc0952e0e514060c3c52713a434b5b1e271c1096253a18c8aa6458722f7
MD5 3f984a2e4bcd1b1d52a0095796e0325b
BLAKE2b-256 655a8b4d75ee8f16494e8247886dc147c49bca7637c6ad4c2c4b44e4b20fd77a

See more details on using hashes here.

File details

Details for the file cypherlite-1.2.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cypherlite-1.2.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 70aa7074d16ffeb7632dc85f14f0a0d7fb0ce64ce27cef661d3c1e32be434859
MD5 29bb6210059f2585e96c60702d4b762f
BLAKE2b-256 434d23e64071c7b33eca75c19d57e2ca8191aabbbe94cf39ac26bf8584be183c

See more details on using hashes here.

File details

Details for the file cypherlite-1.2.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cypherlite-1.2.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c71da81f536185a6970e32c4b5c1395ed0f689e8ce37edd91d2ea83a9dd4ed7e
MD5 5b6347a2cc807046ddf12e44d0bea6f4
BLAKE2b-256 09ca6edb3bac258d4ec9213493e8c71f06f0e1c6b0a3f5c2ef23401eaa4bfe52

See more details on using hashes here.

File details

Details for the file cypherlite-1.2.2-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cypherlite-1.2.2-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d40cac27eea9bd7a9bd050aa87a08952e77eab6d623c21d2d0e383c4dd26224e
MD5 ba17090b8e8704093cf84da25ac781e5
BLAKE2b-256 dce6e13f6a07c65f93f8309e466d636e25d8ca20a913339a2eef4481521e9d37

See more details on using hashes here.

File details

Details for the file cypherlite-1.2.2-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for cypherlite-1.2.2-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b093ad5a5ba4186af330a0a88ef62a73d64f6822cef0c60ce6c4f820a7d7c2e4
MD5 280f316fca45c2350a699d0de4e91152
BLAKE2b-256 18119334452ad7f6702903a61b9b8db0e2af4b36fc7ed928fdd442012e3a96b2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page