For data scientists, the Python bindings in v0.0.x were a wrapper around the C API—functional but clunky. V0.1.2 introduces native DataFrame integration via Arrow.
Code comparison:
V0.0.x (clunky):
results = conn.execute("MATCH (n) RETURN n.id, n.name")
for row in results:
print(row)
V0.1.2 (elegant):
import kuzu
import pandas as pd
db = kuzu.Database("graph.db")
conn = kuzu.Connection(db) kuzu v0 120 better
What makes the Kuzu V0 120 better under the microscope? Three engineering breakthroughs:
The 120 better aspect is most visible when working with aluminum or soft brass. Traditional 120-grit wheels load up (clog) within 30 seconds. The Kuzu V0 120 features a wide, shallow chip valley that ejects swarf rather than retaining it. Users report zero loading even after 10 minutes of continuous use on 6061 aluminum. For data scientists, the Python bindings in v0
Before we dive into version specifics, a brief refresher. Kuzu is an embedded property graph database management system (GDBMS). Unlike client-server databases (Neo4j, PostgreSQL with extensions), Kuzu runs inside your application process—zero network latency, zero container overhead.
Think of it as SQLite for graphs. You link the library, open a file, and query. Historically, Kuzu was fast for transactional workloads (OLTP) but struggled with complex traversals (OLAP) common in graph analytics. PostgreSQL with extensions)
If you are inserting large datasets (e.g., millions of nodes), do not use CREATE statements in a loop.