Skip to main content

grafeo

Python bindings for Grafeo, a high-performance, embeddable graph database with a Rust core.

Installation

uv add grafeo
# or: pip install grafeo

Quick Start

from grafeo import GrafeoDB

# In-memory database
db = GrafeoDB()

# Or persistent
# db = GrafeoDB("./my-graph")

# Create nodes
db.execute("INSERT (:Person {name: 'Alix', age: 30})")
db.execute("INSERT (:Person {name: 'Gus', age: 25})")
db.execute("INSERT (:Person {name: 'Alix'})-[:KNOWS]->(:Person {name: 'Gus'})")

# Query the graph
result = db.execute("MATCH (p:Person) WHERE p.age > 20 RETURN p.name, p.age")
for row in result:
    print(row)

API Overview

Database

db = GrafeoDB()              # in-memory
db = GrafeoDB("./path")      # persistent
db = GrafeoDB.open("./path") # open existing

db.node_count   # number of nodes
db.edge_count   # number of edges

Query Languages

result = db.execute(gql)                        # GQL (ISO standard)
result = db.execute(gql, {"name": "Alix"})     # GQL with parameters
result = db.execute_cypher(query)               # Cypher
result = db.execute_sparql(query)               # SPARQL
result = db.execute_gremlin(query)              # Gremlin
result = db.execute_graphql(query)              # GraphQL
result = db.execute_sql(query)                  # SQL/PGQ (SQL:2023)

Node & Edge CRUD

node = db.create_node(["Person"], {"name": "Alix", "age": 30})
edge = db.create_edge(source_id, target_id, "KNOWS", {"since": 2024})

n = db.get_node(node_id)   # Node or None
e = db.get_edge(edge_id)   # Edge or None

db.set_node_property(node_id, "key", "value")
db.set_edge_property(edge_id, "key", "value")

db.delete_node(node_id)
db.delete_edge(edge_id)

Transactions

# Context manager (auto-rollback on exception)
with db.begin_transaction() as tx:
    tx.execute("INSERT (:Person {name: 'Harm'})")
    tx.commit()

# With isolation levels (string or enum)
from grafeo import IsolationLevel
with db.begin_transaction(IsolationLevel.SERIALIZABLE) as tx:
    tx.execute("MATCH (n:Person) SET n.verified = true")
    tx.commit()

# Per-transaction CDC override
with db.begin_transaction_with_cdc(True) as tx:
    tx.execute("INSERT (:AuditedEvent {action: 'login'})")
    tx.commit()

Named Graphs and Schemas

db.create_graph("social")
db.set_graph("social")
print(db.list_graphs())       # ['social']
print(db.current_graph())     # 'social'
db.reset_graph()
db.drop_graph("social")

db.set_schema("v1")
print(db.current_schema())    # 'v1'
db.reset_schema()

Graph Projections

db.create_projection("people", node_labels=["Person"], edge_types=["KNOWS"])
print(db.list_projections())  # ['people']
db.drop_projection("people")

Data Import

count = db.import_csv("users.csv", "Person", headers=True)
count = db.import_jsonl("events.jsonl", "Event")

Backup and Restore

db.backup_full("/backups/full")
db.backup_incremental("/backups/incr")
GrafeoDB.restore_to_epoch("/backups/full", epoch=100, output_path="./restored")

QueryResult

result = db.execute("MATCH (n:Person) RETURN n.name, n.age")

result.columns          # column names
len(result)             # row count
result.execution_time_ms  # execution time (milliseconds)

for row in result:      # iterate rows
    print(row)

result[0]               # access by index
result.scalar()         # first column of first row
# Create an HNSW index
db.create_vector_index("Document", "embedding", dimensions=384)

# Insert vectors
node = db.create_node(["Document"], {"embedding": [0.1, 0.2, ...]})

# Search
results = db.vector_search("Document", "embedding", query_vector, k=10)

Features

  • GQL, Cypher, SPARQL, Gremlin, GraphQL, and SQL/PGQ query languages
  • Full node/edge CRUD with native Python types
  • ACID transactions with configurable isolation levels
  • HNSW vector similarity search
  • Property indexes for fast lookups
  • Named graph and schema management
  • Graph projections (filtered virtual views)
  • CSV and JSON Lines import
  • Incremental backup and restore
  • Per-transaction CDC control
  • Async support via asyncio
  • Type stubs included

License

Apache-2.0

Release files for grafeo 0.5.43

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for grafeo 0.5.43
File Size Uploaded
grafeo-0.5.43.tar.gz 2.5 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for grafeo 0.5.43
File
grafeo-0.5.43-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details
grafeo-0.5.43-cp312-abi3-win32.whl CPython 3.12 abi3 Windows x86-32 Details
grafeo-0.5.43-cp312-abi3-musllinux_1_2_x86_64.whl CPython 3.12 abi3 Linux musl 1.2+ x86-64 Details
grafeo-0.5.43-cp312-abi3-musllinux_1_2_aarch64.whl CPython 3.12 abi3 Linux musl 1.2+ ARM64 Details
grafeo-0.5.43-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 abi3 Linux glibc 2.17+ x86-64 Details
grafeo-0.5.43-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 abi3 Linux glibc 2.17+ ARM64 Details
grafeo-0.5.43-cp312-abi3-macosx_11_0_arm64.whl CPython 3.12 abi3 macOS 11.0+ ARM64 Details
grafeo-0.5.43-cp312-abi3-macosx_10_12_x86_64.whl CPython 3.12 abi3 macOS 10.12+ x86-64 Details

Total release size: 42.8 MB

Release files / grafeo-0.5.43.tar.gz

Download URL grafeo-0.5.43.tar.gz
Size 2.5 MB
Tags Source
SHA-256 checksum
How to use checksums
4f1da835d8c8fdce130e735d3e1a3d20f4f4f76450e57d8e1286547642cdf4fe
BLAKE2b-256 checksum
How to use checksums
9a06f48596ff4fb880a5ba8c8b1591a78e497569ae3279777487fd07dced1616
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / grafeo-0.5.43-cp312-abi3-win_amd64.whl

Download URL grafeo-0.5.43-cp312-abi3-win_amd64.whl
Size 5.1 MB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
ebcf4418650daf70c2165aac3dc94b9bbd63599d0574753eeead40d2554d1d03
BLAKE2b-256 checksum
How to use checksums
c852084d0791cbfa11d0094b6fc675b6817889e21d2802aece3671d4a7d822ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / grafeo-0.5.43-cp312-abi3-win32.whl

Download URL grafeo-0.5.43-cp312-abi3-win32.whl
Size 4.7 MB
Tags CPython 3.12 Windows x86-32 abi3
SHA-256 checksum
How to use checksums
a97bbfa7fed92b32bff5393d43cb2879080e4f17253cc27a9bc6e932b99d3357
BLAKE2b-256 checksum
How to use checksums
9fafedae2e4c169187b97007a8df97fd154c65353a146776e7d639b410c6a1dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / grafeo-0.5.43-cp312-abi3-musllinux_1_2_x86_64.whl

Download URL grafeo-0.5.43-cp312-abi3-musllinux_1_2_x86_64.whl
Size 5.5 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
76ff83f3df1fd3de1fc6b8c8b3512b1e08a105cebb73890f2c9818069b30edd6
BLAKE2b-256 checksum
How to use checksums
278d4c5e89070592e8e94b9ec217f8fe3c14765b8f6d1acc473471d3351af391
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / grafeo-0.5.43-cp312-abi3-musllinux_1_2_aarch64.whl

Download URL grafeo-0.5.43-cp312-abi3-musllinux_1_2_aarch64.whl
Size 5.2 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
abb310214d839ab799fb501f208df8d60fdda9b39d79f275b422aeb73a3ee973
BLAKE2b-256 checksum
How to use checksums
4d52b11b2e4326932fa0fdb5c93a107505d5cf991814f4d99f7797faeb78a296
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / grafeo-0.5.43-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL grafeo-0.5.43-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 5.2 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
a94989cb6b0ecb964a80b9720f1ff7aa525ac4eeafca803dbb9831bdcf59f02d
BLAKE2b-256 checksum
How to use checksums
7128caadc1d97868059e1b901a5d3e99237d536b6e3c2374ec5bc613e90c9f7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / grafeo-0.5.43-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL grafeo-0.5.43-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 5.0 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
7a5204a14df52fc91b8653efd191b547e59aef68f4f512d8af763c0d01af2a8d
BLAKE2b-256 checksum
How to use checksums
a734e48706b48b54b4f658c1f82d92081a07c2766d0eeb92086ff49b8d5ccea3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / grafeo-0.5.43-cp312-abi3-macosx_11_0_arm64.whl

Download URL grafeo-0.5.43-cp312-abi3-macosx_11_0_arm64.whl
Size 4.7 MB
Tags CPython 3.12 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f2a8e021cf0bafc67c7747efa3a2859770dc3947d75d68443c26fac13caa0919
BLAKE2b-256 checksum
How to use checksums
8ede587cfcad4b82fbba59d860e69c46887f2dd83376cf697808dedbdfddcd38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / grafeo-0.5.43-cp312-abi3-macosx_10_12_x86_64.whl

Download URL grafeo-0.5.43-cp312-abi3-macosx_10_12_x86_64.whl
Size 5.0 MB
Tags CPython 3.12 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
e82b90b6914b63fba9d0fa15a439442015515bc2e257760997597dbc1bebbcdd
BLAKE2b-256 checksum
How to use checksums
840be66c5d54ea508d214b49227aa6544784d6e21d576ac65204ad1a4cd5d245
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.43 This release

9 release files

0.5.41

9 release files

0.5.40

9 release files

0.5.39

9 release files

0.5.38

9 release files

0.5.37

9 release files

0.5.36

9 release files

0.5.35

9 release files

0.5.9

23 release files

0.5.8

23 release files

0.5.7

23 release files

0.5.6

23 release files

0.5.5

23 release files

0.5.4

23 release files

0.5.3

23 release files

0.5.1

23 release files

0.5.0

23 release files

0.4.4

23 release files

0.1.4

23 release files

0.1.1

23 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page