{"record":{"id":"7e29c62dee86f72e","repo":"RyanCodrai/turbovec","slug":"llama-index-core-is-required-to-use-turbovec-llama","errorCode":null,"errorMessage":"llama-index-core is required to use turbovec.llama_index. Install with: pip install turbovec[llama-index]","messagePattern":"llama-index-core is required to use turbovec\\.llama_index\\. Install with: pip install turbovec\\[llama-index\\]","errorType":"exception","errorClass":"ImportError","httpStatus":null,"severity":"error","filePath":"turbovec-python/python/turbovec/llama_index.py","lineNumber":63,"sourceCode":"        RelatedNodeInfo,\n        TextNode,\n    )\n    from llama_index.core.vector_stores.types import (\n        BasePydanticVectorStore,\n        FilterCondition,\n        FilterOperator,\n        MetadataFilter,\n        MetadataFilters,\n        VectorStoreQuery,\n        VectorStoreQueryMode,\n        VectorStoreQueryResult,\n    )\n    from llama_index.core.vector_stores.utils import (\n        metadata_dict_to_node,\n        node_to_metadata_dict,\n    )\nexcept ImportError as exc:\n    raise ImportError(\n        \"llama-index-core is required to use turbovec.llama_index. \"\n        \"Install with: pip install turbovec[llama-index]\"\n    ) from exc\n\n\n# Persistence layout: a single user-facing ``persist_path`` (the file the\n# framework asks us to write) is split into two files by extension —\n# ``{base}.tvim`` for the binary IdMapIndex and ``{base}.nodes.json`` for\n# the node side-car. Both live next to each other so the layout fits the\n# directory-of-namespaced-files pattern used by StorageContext.\n_INDEX_EXT = \".tvim\"\n_STORE_EXT = \".nodes.json\"\n# Filename template used by SimpleVectorStore for namespace lookup —\n# mirrored here so `from_persist_dir` works the same way.\n_NAMESPACE_SEP = \"__\"\n_DEFAULT_PERSIST_FNAME = \"vector_store.json\"\n_DEFAULT_VECTOR_STORE = \"default\"\n# Bump when the nodes.json shape changes; loader accepts the current","sourceCodeStart":45,"sourceCodeEnd":81,"githubUrl":"https://github.com/RyanCodrai/turbovec/blob/ccab9f325e6ce2a270a87daf01ae4e443bcf2d49/turbovec-python/python/turbovec/llama_index.py#L45-L81","documentation":"Module-level ImportError raised when turbovec.llama_index is imported without llama-index-core installed. The try/except around the llama_index.core imports converts the raw ModuleNotFoundError into a named error with the correct extra-install command, failing at import time.","triggerScenarios":"Thrown at turbovec-python/python/turbovec/llama_index.py:63 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Install the extra: pip install turbovec[llama-index].","Or install llama-index-core directly into the environment.","Avoid importing turbovec.llama_index in environments that do not need LlamaIndex integration."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"ccab9f325e6ce2a270a87daf01ae4e443bcf2d49","analyzedAt":"2026-09-06T08:39:18.516Z","contentChangedAt":"2026-09-06T08:39:18.516Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}