TuringDB

raw JSON →
1.29.0 verified Fri May 01 auth: no python

TuringDB is a graph database engine with support for Cypher-like queries, vector search, and LOAD CSV. Current version is 1.29.0, requiring Python >=3.10. Releases occur roughly monthly, with active development focused on performance, correctness, and new features like SET queries and vector database integration.

pip install turingdb
error AttributeError: module 'turingdb' has no attribute 'TuringDB'
cause Importing the module incorrectly (e.g., `import turingdb` then `turingdb.TuringDB`) when the correct form is `from turingdb import TuringDB`.
fix
Use: from turingdb import TuringDB
error Segmentation fault (core dumped)
cause Calling `execute()` before calling `init()` on the TuringDB instance.
fix
Add db.init() immediately after db = TuringDB() before any query execution.
error turingdb.exceptions.TuringException: Database is not initialized
cause Attempting to run a query without initializing the database engine.
fix
Ensure db.init() is called before any execute() call.
breaking In v1.0 and earlier, the main class was `TuringGraph`. Renamed to `TuringDB` in v1.1. Code using `TuringGraph` will break.
fix Replace `from turingdb import TuringGraph` with `from turingdb import TuringDB` and update all references.
gotcha `TuringDB.init()` must be called before any queries. Failing to do so results in a segmentation fault or undefined behavior.
fix Always call `db.init()` immediately after creating the `TuringDB` instance.
gotcha The `execute()` method returns results as a pandas DataFrame if pandas is installed, otherwise as a list of dicts. Code relying on one format may break if the other is returned.
fix Check the type of the result or explicitly convert using `list(result)` for consistent behavior.

Initialize a local TuringDB instance and run a simple match query.

from turingdb import TuringDB
import os

db = TuringDB()
db.init()
result = db.execute("MATCH (n) RETURN n LIMIT 1")
print(result)
db.close()