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

Uploaded PyPymanylinux: glibc 2.17+ ARM64

cypherlite-1.2.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (610.9 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

cypherlite-1.2.6-cp38-abi3-win_amd64.whl (472.1 kB view details)

Uploaded CPython 3.8+Windows x86-64

cypherlite-1.2.6-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.6-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (610.3 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

cypherlite-1.2.6-cp38-abi3-macosx_11_0_arm64.whl (569.9 kB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

cypherlite-1.2.6-cp38-abi3-macosx_10_12_x86_64.whl (595.6 kB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.6-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c5ea89cf4a7039e94174bb92f674de98b9da9aaca2f88210da9a2d57050ffa53
MD5 ef7f15e877c4f7c9763b19c1e737af04
BLAKE2b-256 cdd92809f93c3838b3fd57b168dcf19f922dba984f81c10ed20b23af777e6a23

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c9da03396682e9bba9f046e675d1355e368854fe262abe82b6ed073cffe96bdb
MD5 2541656dc3513888d53c01f21d36117a
BLAKE2b-256 a0a6732beb1bf3b31230168b4d4e97f00bbe74b5872dc1998dfb4b309909a258

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.6-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 447f65b638798c13818a4451e698c36c181ca93abcf50ce1b7b8d541ff8049f4
MD5 2e8e3048447cf83a63d31f4ee640898e
BLAKE2b-256 d6ce2dc38cbe23c498b5cd4dea473649a0c149a82c1b121841cd21651c157831

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.6-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 41c84479eacc42949759779411872093cb2d0c155bcd0accd08330e0e3ebe7df
MD5 0417239ad7840ae028b970abebdf19ec
BLAKE2b-256 27605ca4d4066b91871c6a2f3ef0622514fff8c060179de1c2094372c9d220d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.6-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9ee74e998c1d088926bceebaa5caa8487f63b7766302a2e61f08d15ed8508212
MD5 cd2d593a7daa4a75871c5290016b4384
BLAKE2b-256 7c29ce476674976379cb7825d99bcc62682276ec2ea3945caed3aa472356f3c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.6-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 127d444e2de04f39a5908e591cca92d23f531b700635a0a5f96175ed75cdbe0f
MD5 c5d432a661156ea9f9fe53cf026e7e00
BLAKE2b-256 f72b0713b64dab4a174b946b294761c9ad585b907c0e41e6674288e7e24a044b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.6-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1bc93d79469a39b420037bc6ff5da89cf0f19d0b39e9e01c20ef3418354ca5d0
MD5 5350be1dcf29e091e2786440d8a291c5
BLAKE2b-256 da07bc576a67880a737dcdeef982f427299035ad1984464fb68283daad15fe0c

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