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

Uploaded PyPymanylinux: glibc 2.17+ ARM64

cypherlite-2.0.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (646.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.8+Windows x86-64

cypherlite-2.0.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (671.4 kB view details)

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

cypherlite-2.0.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (646.2 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

cypherlite-2.0.0-cp38-abi3-macosx_11_0_arm64.whl (604.5 kB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

cypherlite-2.0.0-cp38-abi3-macosx_10_12_x86_64.whl (632.8 kB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

File hashes

Hashes for cypherlite-2.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c960b7f2d19788606f2837697a08a2e2b49d363f34b4bd2dfdc1c44706c09dca
MD5 552d0e3a21edda2966b0ffb66c6187c1
BLAKE2b-256 180f7363c6b37deb7258694f50ae52b5444400236cad18ae49344b3f812b7f9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-2.0.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4d817238de3224dbfc4bb934949038e9690bdc3f6559cbaa792ce98556a3803f
MD5 ef76d9f37858bfc66fd971eb6924eaed
BLAKE2b-256 ae26a6a54efc13b6e5453a4bff84bc9ab120f67a5c3a22f35d877f35614afa4e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-2.0.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8419dbaed9872528c837730103a0ac9fa3de8714f1e9ee2dbbebbb4162b2be4a
MD5 3059a1727a2231e0582757856a0d2f26
BLAKE2b-256 d9f0078b43dc0a09714401d2cb02fb97383d365e018e7e8e7682c078ab78f6dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-2.0.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 754ce5b10b7f71c78e35bcb783224b68e7ac02edba98292aed37b0d9a3c07cb1
MD5 1788c489905b2e7587737ffd165dee65
BLAKE2b-256 3ce93220e122dd8b56131ddf54f7038ce0fbeb419247f4f758a10741fdd8eaf9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-2.0.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 633e775bd33ccd38b6f94592caa2fbcd30d027c5322c7552e2eb2a8fb8f5d519
MD5 fa8edc976cb87e3dfb4325f686973235
BLAKE2b-256 33a96ad909acd9a91245bb9edfcf76b15ed71e77d23a35853272e83681e93954

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-2.0.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 94c82f7573ab400a4bfd8e02f293c1bb2f17aaa94757fa1c398a607fa82a8c3a
MD5 2bf02b10ae371a46e1b29cfbad65204f
BLAKE2b-256 d4bd6c2a9d58470773b5fb699a698f65965ab67ea874615923c555719f12630b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-2.0.0-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fc1e649842fdc2ce0e35fdfaa5e7f2dc632de2a651db03cac66ffa13ec2ee053
MD5 61cdf5e4801b185d2300ff4f671de9f1
BLAKE2b-256 a467b89f52fafd0e3eda2745ccc4ed12a07d6fa9a4f0f53dc98b3071b2cfa315

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