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

Uploaded PyPymanylinux: glibc 2.17+ ARM64

cypherlite-1.2.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (609.5 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

cypherlite-1.2.3-cp38-abi3-win_amd64.whl (469.5 kB view details)

Uploaded CPython 3.8+Windows x86-64

cypherlite-1.2.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (633.6 kB view details)

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

cypherlite-1.2.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (609.0 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

cypherlite-1.2.3-cp38-abi3-macosx_11_0_arm64.whl (568.8 kB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

cypherlite-1.2.3-cp38-abi3-macosx_10_12_x86_64.whl (594.7 kB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 330de592feb2c5d309d95db74919aa7e04315619f972c21f7da07a447035b0a1
MD5 beca029f98b5e0465c4b5c19ddbdc1b4
BLAKE2b-256 61b8f0a03ad8f795d21e9d7acc2067cae181cf2bd068467d166dae65ca9ae062

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 89cdd724e65bd5ab5342c703d51acab53b28cb06881c79a49bdfda01511a2419
MD5 3c61aafc9afafd0cfbec9fc7c5af7a99
BLAKE2b-256 ffe556b15d17a8aafe32e3488c0aba76be3f70d7880e7078f1da8ff86209d1b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.3-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 7909fc750fb041e0592246d1db2584bb8d8ab08082440b12a32c5dc49c4a75ad
MD5 31dc6c3fd86e876322a4a7387e4faf03
BLAKE2b-256 cc0a2942b47a114a5fca7458ea11e95470ee2d6fef734f5a60bab30228497db1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 223e6ef83c1c16bf050a171933bd725577c2c08fb11ff725b049d32c36f77504
MD5 9b58f73004a7bcbb3144acaa0e1b504f
BLAKE2b-256 518f016d9bfe3cbea2fd56a6288a973c3781153d6df7bf80f5c41f3e8d4f0411

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 05d21f653d489786646fdebb64f0e2ff85064feedfa85717e8667e7acf73345b
MD5 64ca85bbaee545340c0664205ece984b
BLAKE2b-256 1bcb12e2227995baa4366441de19795d8235d527ef1182b66cebe22382714200

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.3-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d10dbcf06326bef1dd565bb08ea006850c4a06780c32c86fb375750d03bd0b6a
MD5 17fa3b3b1f6f7db841bee5cf03cdf545
BLAKE2b-256 6425d04ac81ff4c973d6d53d849486ef5bf2ae592b7a94f9e7a3a011cfbba86c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.3-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b6b03e9b441ceeb2e6a3662f7874123e5b245e230c3c6bd2de313648941b32cd
MD5 97e6aec72fd071f32f67443d9db1b0a9
BLAKE2b-256 3dfa38f08dbbc977161a4aa12861637c096966e1b75a6269c00d44448d532340

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