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

Metadata

Release files for grafeo 0.5.44

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.44
File Size Uploaded
grafeo-0.5.44.tar.gz 2.8 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for grafeo 0.5.44
File
grafeo-0.5.44-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details
grafeo-0.5.44-cp312-abi3-win32.whl CPython 3.12 abi3 Windows x86-32 Details
grafeo-0.5.44-cp312-abi3-musllinux_1_2_x86_64.whl CPython 3.12 abi3 Linux musl 1.2+ x86-64 Details
grafeo-0.5.44-cp312-abi3-musllinux_1_2_aarch64.whl CPython 3.12 abi3 Linux musl 1.2+ ARM64 Details
grafeo-0.5.44-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.44-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 abi3 Linux glibc 2.17+ ARM64 Details
grafeo-0.5.44-cp312-abi3-macosx_11_0_arm64.whl CPython 3.12 abi3 macOS 11.0+ ARM64 Details
grafeo-0.5.44-cp312-abi3-macosx_10_12_x86_64.whl CPython 3.12 abi3 macOS 10.12+ x86-64 Details

Total release size: 46.0 MB

Release files / grafeo-0.5.44.tar.gz

Download URL grafeo-0.5.44.tar.gz
Size 2.8 MB
Tags Source
SHA-256 checksum
How to use checksums
c2f936755392ebd0fc01a7a6440079ab58d8c8cb9c4a5b570c16974589031fac
BLAKE2b-256 checksum
How to use checksums
2de033a02244bfe0c69ab75f7689e0e6be8e4b0a6a946aae6e3c8423fd30c6b3
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 Oct 4, 2026.

Transparency log

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

Download URL grafeo-0.5.44-cp312-abi3-win_amd64.whl
Size 5.5 MB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
ad26a6bc8dcf96d6fd2aecdf6f818bfa0b1deecebea3ec37667da5c2a1ca8956
BLAKE2b-256 checksum
How to use checksums
2551cc1b49151629daf67b1dc7d2e07c2c4b68c9e2c69c768bd5a93d7132bed7
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 Oct 4, 2026.

Transparency log

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

Download URL grafeo-0.5.44-cp312-abi3-win32.whl
Size 5.0 MB
Tags CPython 3.12 Windows x86-32 abi3
SHA-256 checksum
How to use checksums
ce32d9fd9ba463be8b2ee72973e4afe1b56424c8be2681fe3c44d15be70bbf6e
BLAKE2b-256 checksum
How to use checksums
f9851d4a88a9e450e83112a350ec9a061e4e9f8dea21b8761a3031d94e6715b0
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 Oct 4, 2026.

Transparency log

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

Download URL grafeo-0.5.44-cp312-abi3-musllinux_1_2_x86_64.whl
Size 5.8 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
71ca6b799dc9ee7280fa5515fee2bbe603484961aed5a9c7da98e7d5f969fa3d
BLAKE2b-256 checksum
How to use checksums
bae4965162f4c1e18ad5353d3e43348c33110dbf2ad859420052a995a1010b12
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 Oct 4, 2026.

Transparency log

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

Download URL grafeo-0.5.44-cp312-abi3-musllinux_1_2_aarch64.whl
Size 5.5 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
2e3fd31ae8296f88c06d7eb1785969996f71e23325d369478a160cbcbc280c4e
BLAKE2b-256 checksum
How to use checksums
6746e92a0745c3c065e360f728f998167009dcd0b5d6857eeaf22fc098d520e5
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 Oct 4, 2026.

Transparency log

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

Download URL grafeo-0.5.44-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 5.6 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
52a5569a2df3bb5a18f426a2eea4b9a22a4ca739f5f2bb9a7a237a49c351d687
BLAKE2b-256 checksum
How to use checksums
44a8250d95dd47a8b83a79d278ec713ffb3256d7bf3ef908e721dda3e766b53c
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 Oct 4, 2026.

Transparency log

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

Download URL grafeo-0.5.44-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 5.4 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
006e0e81d934845a217cae4733ac0d88eeb261bd58685f9b41b73170d11ec330
BLAKE2b-256 checksum
How to use checksums
5f9a9d2cb291fac608ab843f6b7c6a9f3d723100870fac8ab0c76df21ae284a7
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 Oct 4, 2026.

Transparency log

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

Download URL grafeo-0.5.44-cp312-abi3-macosx_11_0_arm64.whl
Size 5.0 MB
Tags CPython 3.12 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
563a68b6684928edac6f77a7e80c2d6ac918721754df120c5bf33589348f533e
BLAKE2b-256 checksum
How to use checksums
d29527c3aa5ca59a14e7d2d3183474773249f33de4fd78952ad93b868aa31e2d
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 Oct 4, 2026.

Transparency log

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

Download URL grafeo-0.5.44-cp312-abi3-macosx_10_12_x86_64.whl
Size 5.4 MB
Tags CPython 3.12 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
0d4fa382fb227621aeea2b534aca15c801963c4d7b2d71b9299cc8d4f341df83
BLAKE2b-256 checksum
How to use checksums
d20bad03ad4ffc9e8e2bcb5a544c3fe3205d3933c23fb122643a57f96c3c80f6
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 Oct 4, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.44 This release

9 release files

0.5.43

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