diff --git a/lightrag/kg/age_impl.py b/lightrag/kg/age_impl.py index 243a110b..97b3825d 100644 --- a/lightrag/kg/age_impl.py +++ b/lightrag/kg/age_impl.py @@ -34,14 +34,9 @@ if not pm.is_installed("psycopg-pool"): if not pm.is_installed("asyncpg"): pm.install("asyncpg") -try: - import psycopg - from psycopg.rows import namedtuple_row - from psycopg_pool import AsyncConnectionPool, PoolTimeout -except ImportError: - raise ImportError( - "`psycopg-pool, psycopg[binary,pool], asyncpg` library is not installed. Please install it via pip: `pip install psycopg-pool psycopg[binary,pool] asyncpg`." - ) +import psycopg +from psycopg.rows import namedtuple_row +from psycopg_pool import AsyncConnectionPool, PoolTimeout class AGEQueryException(Exception): diff --git a/lightrag/kg/chroma_impl.py b/lightrag/kg/chroma_impl.py index 62a9b601..8196cb2a 100644 --- a/lightrag/kg/chroma_impl.py +++ b/lightrag/kg/chroma_impl.py @@ -10,13 +10,8 @@ import pipmaster as pm if not pm.is_installed("chromadb"): pm.install("chromadb") -try: - from chromadb import HttpClient, PersistentClient - from chromadb.config import Settings -except ImportError as e: - raise ImportError( - "`chromadb` library is not installed. Please install it via pip: `pip install chromadb`." - ) from e +from chromadb import HttpClient, PersistentClient +from chromadb.config import Settings @final diff --git a/lightrag/kg/faiss_impl.py b/lightrag/kg/faiss_impl.py index 75abf389..7c67e212 100644 --- a/lightrag/kg/faiss_impl.py +++ b/lightrag/kg/faiss_impl.py @@ -20,12 +20,7 @@ from lightrag.base import ( if not pm.is_installed("faiss"): pm.install("faiss") -try: - import faiss -except ImportError as e: - raise ImportError( - "`faiss` library is not installed. Please install it via pip: `pip install faiss`." - ) from e +import faiss @final diff --git a/lightrag/kg/gremlin_impl.py b/lightrag/kg/gremlin_impl.py index 40a9f007..3a26401d 100644 --- a/lightrag/kg/gremlin_impl.py +++ b/lightrag/kg/gremlin_impl.py @@ -2,6 +2,7 @@ import asyncio import inspect import json import os +import pipmaster as pm from dataclasses import dataclass from typing import Any, Dict, List, final @@ -20,14 +21,12 @@ from lightrag.utils import logger from ..base import BaseGraphStorage -try: - from gremlin_python.driver import client, serializer - from gremlin_python.driver.aiohttp.transport import AiohttpTransport - from gremlin_python.driver.protocol import GremlinServerError -except ImportError as e: - raise ImportError( - "`gremlin` library is not installed. Please install it via pip: `pip install gremlin`." - ) from e +if not pm.is_installed("gremlinpython"): + pm.install("gremlinpython") + +from gremlin_python.driver import client, serializer +from gremlin_python.driver.aiohttp.transport import AiohttpTransport +from gremlin_python.driver.protocol import GremlinServerError @final diff --git a/lightrag/kg/milvus_impl.py b/lightrag/kg/milvus_impl.py index b1746514..833460a8 100644 --- a/lightrag/kg/milvus_impl.py +++ b/lightrag/kg/milvus_impl.py @@ -14,13 +14,8 @@ if not pm.is_installed("configparser"): if not pm.is_installed("pymilvus"): pm.install("pymilvus") -try: - import configparser - from pymilvus import MilvusClient -except ImportError as e: - raise ImportError( - "`pymilvus` library is not installed. Please install it via pip: `pip install pymilvus`." - ) from e +import configparser +from pymilvus import MilvusClient config = configparser.ConfigParser() config.read("config.ini", "utf-8") diff --git a/lightrag/kg/mongo_impl.py b/lightrag/kg/mongo_impl.py index a6e6edfd..bc427773 100644 --- a/lightrag/kg/mongo_impl.py +++ b/lightrag/kg/mongo_impl.py @@ -25,18 +25,13 @@ if not pm.is_installed("pymongo"): if not pm.is_installed("motor"): pm.install("motor") -try: - from motor.motor_asyncio import ( - AsyncIOMotorClient, - AsyncIOMotorDatabase, - AsyncIOMotorCollection, - ) - from pymongo.operations import SearchIndexModel - from pymongo.errors import PyMongoError -except ImportError as e: - raise ImportError( - "`motor, pymongo` library is not installed. Please install it via pip: `pip install motor pymongo`." - ) from e +from motor.motor_asyncio import ( + AsyncIOMotorClient, + AsyncIOMotorDatabase, + AsyncIOMotorCollection, +) +from pymongo.operations import SearchIndexModel +from pymongo.errors import PyMongoError config = configparser.ConfigParser() config.read("config.ini", "utf-8") diff --git a/lightrag/kg/nano_vector_db_impl.py b/lightrag/kg/nano_vector_db_impl.py index b246790b..315b5a8f 100644 --- a/lightrag/kg/nano_vector_db_impl.py +++ b/lightrag/kg/nano_vector_db_impl.py @@ -18,12 +18,7 @@ from lightrag.base import ( if not pm.is_installed("nano-vectordb"): pm.install("nano-vectordb") -try: - from nano_vectordb import NanoVectorDB -except ImportError as e: - raise ImportError( - "`nano-vectordb` library is not installed. Please install it via pip: `pip install nano-vectordb`." - ) from e +from nano_vectordb import NanoVectorDB @final diff --git a/lightrag/kg/oracle_impl.py b/lightrag/kg/oracle_impl.py index 0916f6b0..57db7e5b 100644 --- a/lightrag/kg/oracle_impl.py +++ b/lightrag/kg/oracle_impl.py @@ -26,14 +26,8 @@ if not pm.is_installed("graspologic"): if not pm.is_installed("oracledb"): pm.install("oracledb") -try: - from graspologic import embed - import oracledb - -except ImportError as e: - raise ImportError( - "`oracledb` library is not installed. Please install it via pip: `pip install oracledb`." - ) from e +from graspologic import embed +import oracledb class OracleDB: diff --git a/lightrag/kg/postgres_impl.py b/lightrag/kg/postgres_impl.py index a9c4b3b7..4ffa2fb2 100644 --- a/lightrag/kg/postgres_impl.py +++ b/lightrag/kg/postgres_impl.py @@ -38,14 +38,8 @@ import pipmaster as pm if not pm.is_installed("asyncpg"): pm.install("asyncpg") -try: - import asyncpg - from asyncpg import Pool - -except ImportError as e: - raise ImportError( - "`asyncpg` library is not installed. Please install it via pip: `pip install asyncpg`." - ) from e +import asyncpg +from asyncpg import Pool class PostgreSQLDB: diff --git a/lightrag/kg/qdrant_impl.py b/lightrag/kg/qdrant_impl.py index f9edc510..d350e7fa 100644 --- a/lightrag/kg/qdrant_impl.py +++ b/lightrag/kg/qdrant_impl.py @@ -15,16 +15,10 @@ config.read("config.ini", "utf-8") import pipmaster as pm -if not pm.is_installed("qdrant_client"): - pm.install("qdrant_client") +if not pm.is_installed("qdrant-client"): + pm.install("qdrant-client") -try: - from qdrant_client import QdrantClient, models - -except ImportError: - raise ImportError( - "`qdrant_client` library is not installed. Please install it via pip: `pip install qdrant-client`." - ) +from qdrant_client import QdrantClient, models def compute_mdhash_id_for_qdrant( diff --git a/lightrag/kg/tidb_impl.py b/lightrag/kg/tidb_impl.py index ed9c8d4b..8b8fa2b6 100644 --- a/lightrag/kg/tidb_impl.py +++ b/lightrag/kg/tidb_impl.py @@ -20,13 +20,7 @@ if not pm.is_installed("pymysql"): if not pm.is_installed("sqlalchemy"): pm.install("sqlalchemy") -try: - from sqlalchemy import create_engine, text - -except ImportError as e: - raise ImportError( - "`pymysql, sqlalchemy` library is not installed. Please install it via pip: `pip install pymysql sqlalchemy`." - ) from e +from sqlalchemy import create_engine, text class TiDB: