{"id":24745,"library":"turingdb","title":"TuringDB","description":"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.","status":"active","version":"1.29.0","language":"python","source_language":"en","source_url":"https://github.com/turing-db/turingdb","tags":["graph-database","cypher","vector-search"],"install":[{"cmd":"pip install turingdb","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":"TuringDB is a class, not a submodule. Direct import of the class is correct.","wrong":"import turingdb.TuringDB","symbol":"TuringDB","correct":"from turingdb import TuringDB"}],"quickstart":{"code":"from turingdb import TuringDB\nimport os\n\ndb = TuringDB()\ndb.init()\nresult = db.execute(\"MATCH (n) RETURN n LIMIT 1\")\nprint(result)\ndb.close()","lang":"python","description":"Initialize a local TuringDB instance and run a simple match query."},"warnings":[{"fix":"Replace `from turingdb import TuringGraph` with `from turingdb import TuringDB` and update all references.","message":"In v1.0 and earlier, the main class was `TuringGraph`. Renamed to `TuringDB` in v1.1. Code using `TuringGraph` will break.","severity":"breaking","affected_versions":"<1.1"},{"fix":"Always call `db.init()` immediately after creating the `TuringDB` instance.","message":"`TuringDB.init()` must be called before any queries. Failing to do so results in a segmentation fault or undefined behavior.","severity":"gotcha","affected_versions":"All"},{"fix":"Check the type of the result or explicitly convert using `list(result)` for consistent behavior.","message":"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.","severity":"gotcha","affected_versions":"All"}],"env_vars":null,"search_vec":"'1.29.0':23 '3.10':26 'activ':32 'correct':37 'csv':19 'current':20 'cypher':12,51 'cypher-lik':11 'databas':6,46,50 'develop':33 'engin':7 'featur':40 'focus':34 'graph':5,49 'graph-databas':48 'integr':47 'like':13,41 'load':18 'month':30 'new':39 'occur':28 'perform':36 'python':25 'queri':14,43 'releas':27 'requir':24 'rough':29 'search':16,54 'set':42 'support':9 'turingdb':1,2 'vector':15,45,53 'vector-search':52 'version':21","created_at":"2026-05-01T08:14:42.538530+00:00","updated_at":"2026-05-01T08:14:42.538530+00:00","problems":[{"fix":"Use: `from turingdb import TuringDB`","cause":"Importing the module incorrectly (e.g., `import turingdb` then `turingdb.TuringDB`) when the correct form is `from turingdb import TuringDB`.","error":"AttributeError: module 'turingdb' has no attribute 'TuringDB'"},{"fix":"Add `db.init()` immediately after `db = TuringDB()` before any query execution.","cause":"Calling `execute()` before calling `init()` on the TuringDB instance.","error":"Segmentation fault (core dumped)"},{"fix":"Ensure `db.init()` is called before any `execute()` call.","cause":"Attempting to run a query without initializing the database engine.","error":"turingdb.exceptions.TuringException: Database is not initialized"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"1.34.0","cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/turing-db/turingdb","docs":null,"changelog":null,"pypi":"https://pypi.org/project/turingdb/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["database","vector-search","data"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-29","last_verified":"2026-06-29","next_check":"2026-07-29","install_tag":null}}