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 Common errors
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. Warnings
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.
Imports
- TuringDB wrong
import turingdb.TuringDBcorrectfrom turingdb import TuringDB
Quickstart
from turingdb import TuringDB
import os
db = TuringDB()
db.init()
result = db.execute("MATCH (n) RETURN n LIMIT 1")
print(result)
db.close()