diff --git a/libs/community/langchain_community/agent_toolkits/slack/toolkit.py b/libs/community/langchain_community/agent_toolkits/slack/toolkit.py index fd61311326d70..a8ca7f564192b 100644 --- a/libs/community/langchain_community/agent_toolkits/slack/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/slack/toolkit.py @@ -13,7 +13,14 @@ from langchain_community.tools.slack.utils import login if TYPE_CHECKING: + # This is for linting and IDE typehints from slack_sdk import WebClient +else: + try: + # We do this so pydantic can resolve the types when instantiating + from slack_sdk import WebClient + except ImportError: + pass class SlackToolkit(BaseToolkit): diff --git a/libs/community/langchain_community/tools/slack/base.py b/libs/community/langchain_community/tools/slack/base.py index 23a3fa6c99f94..38eb8f7d3f3c4 100644 --- a/libs/community/langchain_community/tools/slack/base.py +++ b/libs/community/langchain_community/tools/slack/base.py @@ -10,7 +10,14 @@ from langchain_community.tools.slack.utils import login if TYPE_CHECKING: + # This is for linting and IDE typehints from slack_sdk import WebClient +else: + try: + # We do this so pydantic can resolve the types when instantiating + from slack_sdk import WebClient + except ImportError: + pass class SlackBaseTool(BaseTool): # type: ignore[override]