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

Uploaded PyPymanylinux: glibc 2.17+ ARM64

cypherlite-1.2.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (610.0 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

cypherlite-1.2.4-cp38-abi3-win_amd64.whl (471.2 kB view details)

Uploaded CPython 3.8+Windows x86-64

cypherlite-1.2.4-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.4-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (609.4 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

cypherlite-1.2.4-cp38-abi3-macosx_11_0_arm64.whl (569.6 kB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

cypherlite-1.2.4-cp38-abi3-macosx_10_12_x86_64.whl (595.5 kB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 571dbe1131d23c1e39f747f7bb2e340a4b97dd049e13c7e969bdbd083ce6c51a
MD5 c4a84871aa29721221d8c9f8a5d418ce
BLAKE2b-256 4172520d722f86d71a02125e40281b2e63fc060f90f488913e74002fac1007fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 80f72f2389b7763c977876c96920e8ae05ce6f8b187e9e2e9ded25685b60e158
MD5 9bf7315d684630df66371ec213a1e0c8
BLAKE2b-256 40b80ed5248cf4eeccb5a932b40921d6709958dd44c4a10cfc7a533e6994c03d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.4-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 cfe15b92014a92cd89a02ee0e2e4b9bdb7692c30652b5695c66a08dc0c539288
MD5 582e6f5958009efc9385af4bd802f2ae
BLAKE2b-256 3b05dbeeda1af11a9b8183be6702daa54d5217390e81714c9be10cfa7b877473

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.4-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ac95be58c88c78ec8adab27a37a3b20cf13e441023d7aeb9bddfb04ea5b27784
MD5 e9933b89e1fe00ffa648b175e20f9b9c
BLAKE2b-256 1195da0bfb99eff62154b9aec4a659c6f349782c7cb8ae25882d3c0a3b4fbccb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.4-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 433f88bcd2d78cdaef2ae7596aedb65e1b119d4a78a283eccdba6c8025ca899d
MD5 d1549b5efa9cd6cb0e5eba861b44c926
BLAKE2b-256 c097eb5205f46422df6c8ef5ffe4f5ef16dff3b5167a735de787281b7b1c989b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.4-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 692f39625740f82be6e428deafd84933087faa216efa4d5d0040c0aad7969527
MD5 4ed8292db89bdc73feb39a066a12472f
BLAKE2b-256 1df5b17765af1411389630911866c643ac8e4a1d0603de593f597b216614b2ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cypherlite-1.2.4-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3112319d19db570dbaa0ace057422235733fd4696ee959e705d80165cdd40441
MD5 c0017bb0af41d0d26f84ceb261169ff3
BLAKE2b-256 c7d03d049176c61f74f0d9292c288ea28df8e76833e108fd6ca1fc440e53f276

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