diff --git a/src/backend/base/langflow/components/langchain_utilities/FirecrawlCrawlApi.py b/src/backend/base/langflow/components/langchain_utilities/FirecrawlCrawlApi.py index 7c202b3fa..ea5a3918e 100644 --- a/src/backend/base/langflow/components/langchain_utilities/FirecrawlCrawlApi.py +++ b/src/backend/base/langflow/components/langchain_utilities/FirecrawlCrawlApi.py @@ -1,8 +1,8 @@ +import uuid from typing import Optional -from firecrawl.firecrawl import FirecrawlApp + from langflow.custom import CustomComponent from langflow.schema import Data -import uuid class FirecrawlCrawlApi(CustomComponent): @@ -48,11 +48,18 @@ class FirecrawlCrawlApi(CustomComponent): self, api_key: str, url: str, - timeout: Optional[int] = 30000, + timeout: int = 30000, crawlerOptions: Optional[Data] = None, pageOptions: Optional[Data] = None, idempotency_key: Optional[str] = None, ) -> Data: + try: + from firecrawl.firecrawl import FirecrawlApp # type: ignore + except ImportError: + raise ImportError( + "Could not import firecrawl integration package. " "Please install it with `pip install firecrawl-py`." + ) + if crawlerOptions: crawler_options_dict = crawlerOptions.__dict__["data"]["text"] else: diff --git a/src/backend/base/langflow/components/langchain_utilities/FirecrawlScrapeApi.py b/src/backend/base/langflow/components/langchain_utilities/FirecrawlScrapeApi.py index a1215ce51..a2bc6829b 100644 --- a/src/backend/base/langflow/components/langchain_utilities/FirecrawlScrapeApi.py +++ b/src/backend/base/langflow/components/langchain_utilities/FirecrawlScrapeApi.py @@ -1,5 +1,5 @@ from typing import Optional -from firecrawl.firecrawl import FirecrawlApp + from langflow.custom import CustomComponent from langflow.schema import Data @@ -47,6 +47,12 @@ class FirecrawlScrapeApi(CustomComponent): pageOptions: Optional[Data] = None, extractorOptions: Optional[Data] = None, ) -> Data: + try: + from firecrawl.firecrawl import FirecrawlApp # type: ignore + except ImportError: + raise ImportError( + "Could not import firecrawl integration package. " "Please install it with `pip install firecrawl-py`." + ) if extractorOptions: extractor_options_dict = extractorOptions.__dict__["data"]["text"] else: