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

Uploaded PyPymanylinux: glibc 2.17+ ARM64

cypherlite-1.2.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (608.3 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.8+Windows x86-64

cypherlite-1.2.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (631.9 kB view details)

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

cypherlite-1.2.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (607.8 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

cypherlite-1.2.1-cp38-abi3-macosx_11_0_arm64.whl (568.3 kB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

cypherlite-1.2.1-cp38-abi3-macosx_10_12_x86_64.whl (594.1 kB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ff9420cd8ae5355130b7df13da468b37aee99eda178e9bfd1f0cd38ecc8b3665
MD5 904c5720db19d2d00a4a0503a5ef2903
BLAKE2b-256 ed4f5d770d13c9aeb5e4cf564c4b84148732522a8a9fd4f5495aa93a93e0136a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 abaeb8514510c261e6538202dd82989e39ab451fb4a038d4449534abcfb63824
MD5 a5bba9c6d76650de5e1bc0674a569232
BLAKE2b-256 fbc71baf2230fcc87be8fb1122cf54130c26643d32a095c8eace50dede01cbb3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.1-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 3df36bfb41d93606c7e7281e2fd20a734be37f03da449e6698a2b4c265b785f0
MD5 59e70cc9009e35cf44cce3bf0ca69727
BLAKE2b-256 7aac4f00c61f696833cce16d749c337ee9bf33ee9cb67a7d540694f8680feef2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2c10f5bd3a9eeb32744d7ddabca58ad8737d206a0926e1459bfff3f8b9589816
MD5 205a4d62dcdbf6c50475a8996d1d2172
BLAKE2b-256 5663eeed122b50fb80cb473540f7faa47b10a9025967cf053d39dd2561f25974

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 49eafb2aef19218baf3ada52fe70c70ab253b1dd0e953c5d72723c3e6954504f
MD5 5873736eff3a16a6b19243f08f28b5b1
BLAKE2b-256 6913737a5fa3f878141264543983700977ca9b4c237979727ad2d2314f19eec3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.1-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 630ca896edca9bdd2eac1a0ca15dd9040730a8aaa1e8834c6e63844f7aa0f4d9
MD5 b86ada66bcb59b815331f4d6a1530d5a
BLAKE2b-256 98ddb75b5a0ac77d6d46e57e373b7d37292b63386b4908ab8a93fdd5de3a3d68

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.1-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8f509f0b8f8aa327283a8c1f854f20a896d2ee21e26508109a29e8229157b7ee
MD5 a8ee72bde2a999e648050a1bce8e6d9e
BLAKE2b-256 5388235a9f9706d93b0eead37681f2071b83e6a220a6e52eb3805d1582fab11a

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