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

Uploaded PyPymanylinux: glibc 2.17+ ARM64

cypherlite-2.0.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (647.6 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

cypherlite-2.0.1-cp38-abi3-win_amd64.whl (503.8 kB view details)

Uploaded CPython 3.8+Windows x86-64

cypherlite-2.0.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (671.2 kB view details)

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

cypherlite-2.0.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (647.2 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

cypherlite-2.0.1-cp38-abi3-macosx_11_0_arm64.whl (604.6 kB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

cypherlite-2.0.1-cp38-abi3-macosx_10_12_x86_64.whl (631.8 kB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

File hashes

Hashes for cypherlite-2.0.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 df398bd317e23e0212776ab9f6a61f1219d7515845cec3839ddd64315441ac47
MD5 980922d6e7a0bf213a8d5cda8f0b25ef
BLAKE2b-256 7a465a789b2cd611315070653015668cbebcf41c8bb67ecae6b8f20b090f3c04

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-2.0.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2633e52a9c4fb4b47a37236578c7093dc9bd08171edf86307d2cd3bf705d9561
MD5 0e15866fed58b22bbcf31ee2805bb021
BLAKE2b-256 b09ed7d808f92fa8e493b605346fcc7fc84af95762650fb2e746b966da5cf631

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-2.0.1-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 ea3be743ef59f91c1cf516585c32935907a76c3f0133d72c277fdb737acf125f
MD5 36863efc079c6f4531c23b7a1d37e884
BLAKE2b-256 d75738c1e1924d1d48a536a9037a8e7e706324a81cdadf15653176d249a1e245

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-2.0.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4fadaeaf4b73d9c74377f96a2c624ba88a5363845efc3eea443281c3cb552bd2
MD5 d74efb6c714505f75bf5e43b802e96dd
BLAKE2b-256 2ca0d79232b03569c869fd05f591a85627e877659e12892769d1d25a15e933cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-2.0.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1c65a2eceaf8f98de74f5267a734fbdff699d51321ac2d87f423a55a036338d0
MD5 0fa926aa432477c1ac7a80b1dc25cb28
BLAKE2b-256 c6035b45d4a4be45b9ad1795fe918a8c231426cb6ccfdecfe0ede40ab28dc3dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-2.0.1-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aae65071b3f904611a899b9eda87bf013af60d22d8d5ac3afa1cd2786c3d370f
MD5 51180b7eeb69ab0233ef974dc90c7341
BLAKE2b-256 1f727810434f7e500424025576c81fc6b2e8730353c75791b211a5e198fbfa20

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-2.0.1-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 30d7e9e9465309f9f866ae377faf3e2d9d94b87a339144d69f363e08320b069b
MD5 8423c373872d6b76d69dcddc28491c9c
BLAKE2b-256 43b743641181ec4e22702daa6ec90481b519b61bb3fa540ea60c349554d37386

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