From 8047ee067cae2a416f9c3c1d3abde20e92452394 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Moura?= Date: Fri, 3 Jan 2025 03:34:34 -0300 Subject: [PATCH] treating for uninstalled dependencies --- src/crewai_tools/tools/linkup/linkup_search_tool.py | 12 +++++++++++- src/crewai_tools/tools/spider_tool/spider_tool.py | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/crewai_tools/tools/linkup/linkup_search_tool.py b/src/crewai_tools/tools/linkup/linkup_search_tool.py index 8ddb81527..3106a7c0c 100644 --- a/src/crewai_tools/tools/linkup/linkup_search_tool.py +++ b/src/crewai_tools/tools/linkup/linkup_search_tool.py @@ -1,4 +1,9 @@ -from linkup import LinkupClient +try: + from linkup import LinkupClient + LINKUP_AVAILABLE = True +except ImportError: + LINKUP_AVAILABLE = False + from pydantic import PrivateAttr class LinkupSearchTool: @@ -10,6 +15,11 @@ class LinkupSearchTool: """ Initialize the tool with an API key. """ + if not LINKUP_AVAILABLE: + raise ImportError( + "The 'linkup' package is required to use the LinkupSearchTool. " + "Please install it with: uv add linkup" + ) self._client = LinkupClient(api_key=api_key) def _run(self, query: str, depth: str = "standard", output_type: str = "searchResults") -> dict: diff --git a/src/crewai_tools/tools/spider_tool/spider_tool.py b/src/crewai_tools/tools/spider_tool/spider_tool.py index 40959612f..87726f0bc 100644 --- a/src/crewai_tools/tools/spider_tool/spider_tool.py +++ b/src/crewai_tools/tools/spider_tool/spider_tool.py @@ -90,7 +90,7 @@ class SpiderTool(BaseTool): self.spider = Spider(api_key=api_key) except ImportError: raise ImportError( - "`spider-client` package not found, please run `pip install spider-client`" + "`spider-client` package not found, please run `uv add spider-client`" ) except Exception as e: raise RuntimeError(f"Failed to initialize Spider client: {str(e)}")