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.5-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (608.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

cypherlite-1.2.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (609.9 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

cypherlite-1.2.5-cp38-abi3-win_amd64.whl (471.2 kB view details)

Uploaded CPython 3.8+Windows x86-64

cypherlite-1.2.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (634.0 kB view details)

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

cypherlite-1.2.5-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (609.3 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

cypherlite-1.2.5-cp38-abi3-macosx_11_0_arm64.whl (569.8 kB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

cypherlite-1.2.5-cp38-abi3-macosx_10_12_x86_64.whl (595.0 kB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.5-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ab65ab8114785adf06e4ae58f79f78b7b87f1930f3d50473bb0eab6e13063c05
MD5 41367faf62446216606f829fe4dcd9d8
BLAKE2b-256 2f06bf10199fc572bae0d8a256d1ba533a875a5288b72c9a715fd97536929d4a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6f44d4a7ff65370dc5a2dd466968067385580a7319bbbdc30180faa3c9cacc1d
MD5 33285fda5bf0098e22e72c7ae2a05cba
BLAKE2b-256 f3f719627c81adb7259e7862de90b7494d182c2afee99a57eff591d994e48f42

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.5-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f53cdd02f7239eddf40c89395c14ddd080f78e84b9b768d43e06451e46f0b677
MD5 ee4f0fbeec85e9f0120d06ea4a2797a4
BLAKE2b-256 27597a7d028c11efe5fcb0b3e6ef08cf1f5c8a897834ca79770ddb21988a39fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1b3f981d19d5d0acd4e83e428033491c83ed1a866b25cac86e73d2caa37a6434
MD5 cac221e3d0ae521366510dafb1fb6019
BLAKE2b-256 73d6ae25e4f427fabfe26af550e4425c19e1602cb5bdc4fef67c0ff5577e346b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.5-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9103808673301db6009420b842cb98408fc4a69deecea4be8c1b9132cfba8845
MD5 d9fe5ce8c151cafac3e5f56855af34a3
BLAKE2b-256 1b6f618e0ad60a4fa31a30628e13f1623e151303851f9430c6d52e201e7cd136

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.5-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1d5dd77695598a3aedf0687c97f1fda600dd24bc7b9235a50ad12685f3389383
MD5 38ff280803a4a4cb5ae9a8bd4b36a4c1
BLAKE2b-256 c29aab6f23821949bb88c3606bb9da37e76d89eaa2690c1eb5ffe7dec02be8f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.5-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 591184eff4648dbca3970685b8916d45ff5ce593b25ef6db251d46bc7be1cb11
MD5 5556a8b54933a55e502fba44c29de963
BLAKE2b-256 c36b3a01423666abf36c260d958657b89f67003d81e7ab8ed2dd6d6ad7a411bc

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