From 7a39fe60dab08fea25ea4d99b7d7cfa56d5460bb Mon Sep 17 00:00:00 2001 From: Eugene Yurtsev Date: Wed, 1 May 2024 13:09:34 -0400 Subject: [PATCH] langchain[patch]: Migrate utilities to handle langchain community as optional (#21149) --- .../langchain/langchain/utilities/__init__.py | 132 ++++++++++++++---- .../langchain/utilities/alpha_vantage.py | 24 +++- .../langchain/utilities/anthropic.py | 29 +++- libs/langchain/langchain/utilities/apify.py | 24 +++- libs/langchain/langchain/utilities/arcee.py | 44 ++++-- libs/langchain/langchain/utilities/arxiv.py | 24 +++- .../langchain/utilities/awslambda.py | 24 +++- libs/langchain/langchain/utilities/bibtex.py | 24 +++- .../langchain/utilities/bing_search.py | 24 +++- .../langchain/utilities/brave_search.py | 24 +++- libs/langchain/langchain/utilities/clickup.py | 44 ++++-- .../utilities/dalle_image_generator.py | 26 +++- .../utilities/dataforseo_api_search.py | 26 +++- .../langchain/utilities/duckduckgo_search.py | 24 +++- libs/langchain/langchain/utilities/github.py | 24 +++- libs/langchain/langchain/utilities/gitlab.py | 24 +++- .../langchain/utilities/golden_query.py | 26 +++- .../langchain/utilities/google_finance.py | 24 +++- .../langchain/utilities/google_jobs.py | 24 +++- .../langchain/utilities/google_lens.py | 24 +++- .../langchain/utilities/google_places_api.py | 24 +++- .../langchain/utilities/google_scholar.py | 24 +++- .../langchain/utilities/google_search.py | 24 +++- .../langchain/utilities/google_serper.py | 24 +++- .../langchain/utilities/google_trends.py | 24 +++- libs/langchain/langchain/utilities/graphql.py | 24 +++- libs/langchain/langchain/utilities/jira.py | 24 +++- .../langchain/utilities/max_compute.py | 24 +++- .../langchain/utilities/merriam_webster.py | 22 ++- .../langchain/utilities/metaphor_search.py | 26 +++- libs/langchain/langchain/utilities/nasa.py | 26 +++- .../langchain/utilities/opaqueprompts.py | 28 +++- libs/langchain/langchain/utilities/openapi.py | 29 +++- .../langchain/utilities/openweathermap.py | 24 +++- libs/langchain/langchain/utilities/outline.py | 26 +++- libs/langchain/langchain/utilities/portkey.py | 24 +++- libs/langchain/langchain/utilities/powerbi.py | 22 ++- libs/langchain/langchain/utilities/pubmed.py | 24 +++- .../langchain/utilities/reddit_search.py | 26 +++- libs/langchain/langchain/utilities/redis.py | 32 ++++- .../langchain/langchain/utilities/requests.py | 32 ++++- .../langchain/utilities/scenexplain.py | 24 +++- .../langchain/utilities/searchapi.py | 24 +++- .../langchain/utilities/searx_search.py | 32 ++++- libs/langchain/langchain/utilities/serpapi.py | 29 +++- .../langchain/utilities/spark_sql.py | 24 +++- .../langchain/utilities/sql_database.py | 32 ++++- .../langchain/utilities/stackexchange.py | 24 +++- libs/langchain/langchain/utilities/steam.py | 24 +++- .../langchain/utilities/tavily_search.py | 28 +++- .../utilities/tensorflow_datasets.py | 24 +++- libs/langchain/langchain/utilities/twilio.py | 24 +++- .../langchain/langchain/utilities/vertexai.py | 35 ++++- .../langchain/utilities/wikipedia.py | 26 +++- .../langchain/utilities/wolfram_alpha.py | 24 +++- libs/langchain/langchain/utilities/zapier.py | 24 +++- 56 files changed, 1389 insertions(+), 181 deletions(-) diff --git a/libs/langchain/langchain/utilities/__init__.py b/libs/langchain/langchain/utilities/__init__.py index fce438aea39..66cd02b5463 100644 --- a/libs/langchain/langchain/utilities/__init__.py +++ b/libs/langchain/langchain/utilities/__init__.py @@ -3,34 +3,118 @@ Other LangChain classes use **Utilities** to interact with third-part systems and packages. """ -import warnings -from typing import Any +from typing import TYPE_CHECKING, Any -from langchain_community.utilities.requests import ( - Requests, - RequestsWrapper, - TextRequestsWrapper, -) -from langchain_core._api import LangChainDeprecationWarning +from langchain._api import create_importer -from langchain.utils.interactive_env import is_interactive_env +if TYPE_CHECKING: + from langchain_community.utilities import ( + AlphaVantageAPIWrapper, + ApifyWrapper, + ArceeWrapper, + ArxivAPIWrapper, + BibtexparserWrapper, + BingSearchAPIWrapper, + BraveSearchWrapper, + DuckDuckGoSearchAPIWrapper, + GoldenQueryAPIWrapper, + GoogleFinanceAPIWrapper, + GoogleJobsAPIWrapper, + GoogleLensAPIWrapper, + GooglePlacesAPIWrapper, + GoogleScholarAPIWrapper, + GoogleSearchAPIWrapper, + GoogleSerperAPIWrapper, + GoogleTrendsAPIWrapper, + GraphQLAPIWrapper, + JiraAPIWrapper, + LambdaWrapper, + MaxComputeAPIWrapper, + MerriamWebsterAPIWrapper, + MetaphorSearchAPIWrapper, + NasaAPIWrapper, + OpenWeatherMapAPIWrapper, + OutlineAPIWrapper, + Portkey, + PowerBIDataset, + PubMedAPIWrapper, + PythonREPL, + Requests, + RequestsWrapper, + SceneXplainAPIWrapper, + SearchApiAPIWrapper, + SearxSearchWrapper, + SerpAPIWrapper, + SparkSQL, + SQLDatabase, + StackExchangeAPIWrapper, + SteamWebAPIWrapper, + TensorflowDatasets, + TextRequestsWrapper, + TwilioAPIWrapper, + WikipediaAPIWrapper, + WolframAlphaAPIWrapper, + ZapierNLAWrapper, + ) + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = { + "AlphaVantageAPIWrapper": "langchain_community.utilities", + "ApifyWrapper": "langchain_community.utilities", + "ArceeWrapper": "langchain_community.utilities", + "ArxivAPIWrapper": "langchain_community.utilities", + "BibtexparserWrapper": "langchain_community.utilities", + "BingSearchAPIWrapper": "langchain_community.utilities", + "BraveSearchWrapper": "langchain_community.utilities", + "DuckDuckGoSearchAPIWrapper": "langchain_community.utilities", + "GoldenQueryAPIWrapper": "langchain_community.utilities", + "GoogleFinanceAPIWrapper": "langchain_community.utilities", + "GoogleLensAPIWrapper": "langchain_community.utilities", + "GoogleJobsAPIWrapper": "langchain_community.utilities", + "GooglePlacesAPIWrapper": "langchain_community.utilities", + "GoogleScholarAPIWrapper": "langchain_community.utilities", + "GoogleTrendsAPIWrapper": "langchain_community.utilities", + "GoogleSearchAPIWrapper": "langchain_community.utilities", + "GoogleSerperAPIWrapper": "langchain_community.utilities", + "GraphQLAPIWrapper": "langchain_community.utilities", + "JiraAPIWrapper": "langchain_community.utilities", + "LambdaWrapper": "langchain_community.utilities", + "MaxComputeAPIWrapper": "langchain_community.utilities", + "MerriamWebsterAPIWrapper": "langchain_community.utilities", + "MetaphorSearchAPIWrapper": "langchain_community.utilities", + "NasaAPIWrapper": "langchain_community.utilities", + "OpenWeatherMapAPIWrapper": "langchain_community.utilities", + "OutlineAPIWrapper": "langchain_community.utilities", + "Portkey": "langchain_community.utilities", + "PowerBIDataset": "langchain_community.utilities", + "PubMedAPIWrapper": "langchain_community.utilities", + "PythonREPL": "langchain_community.utilities", + "Requests": "langchain_community.utilities", + "SteamWebAPIWrapper": "langchain_community.utilities", + "SQLDatabase": "langchain_community.utilities", + "SceneXplainAPIWrapper": "langchain_community.utilities", + "SearchApiAPIWrapper": "langchain_community.utilities", + "SearxSearchWrapper": "langchain_community.utilities", + "SerpAPIWrapper": "langchain_community.utilities", + "SparkSQL": "langchain_community.utilities", + "StackExchangeAPIWrapper": "langchain_community.utilities", + "TensorflowDatasets": "langchain_community.utilities", + "RequestsWrapper": "langchain_community.utilities", + "TextRequestsWrapper": "langchain_community.utilities", + "TwilioAPIWrapper": "langchain_community.utilities", + "WikipediaAPIWrapper": "langchain_community.utilities", + "WolframAlphaAPIWrapper": "langchain_community.utilities", + "ZapierNLAWrapper": "langchain_community.utilities", +} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) def __getattr__(name: str) -> Any: - from langchain_community import utilities - - # If not in interactive env, raise warning. - if not is_interactive_env(): - warnings.warn( - "Importing this utility from langchain is deprecated. Importing it from " - "langchain will no longer be supported as of langchain==0.2.0. " - "Please import from langchain-community instead:\n\n" - f"`from langchain_community.utilities import {name}`.\n\n" - "To install langchain-community run `pip install -U langchain-community`.", - category=LangChainDeprecationWarning, - ) - - return getattr(utilities, name) + """Look up attributes dynamically.""" + return _import_attribute(name) __all__ = [ @@ -65,7 +149,6 @@ __all__ = [ "PubMedAPIWrapper", "PythonREPL", "Requests", - "RequestsWrapper", "SteamWebAPIWrapper", "SQLDatabase", "SceneXplainAPIWrapper", @@ -75,6 +158,7 @@ __all__ = [ "SparkSQL", "StackExchangeAPIWrapper", "TensorflowDatasets", + "RequestsWrapper", "TextRequestsWrapper", "TwilioAPIWrapper", "WikipediaAPIWrapper", diff --git a/libs/langchain/langchain/utilities/alpha_vantage.py b/libs/langchain/langchain/utilities/alpha_vantage.py index 3ca7072e29b..e9560ea5c86 100644 --- a/libs/langchain/langchain/utilities/alpha_vantage.py +++ b/libs/langchain/langchain/utilities/alpha_vantage.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.alpha_vantage import AlphaVantageAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["AlphaVantageAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import AlphaVantageAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"AlphaVantageAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "AlphaVantageAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/anthropic.py b/libs/langchain/langchain/utilities/anthropic.py index ff9706ee4e2..994bf22f70a 100644 --- a/libs/langchain/langchain/utilities/anthropic.py +++ b/libs/langchain/langchain/utilities/anthropic.py @@ -1,7 +1,28 @@ -from langchain_community.utilities.anthropic import ( - get_num_tokens_anthropic, - get_token_ids_anthropic, -) +from typing import TYPE_CHECKING, Any + +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities.anthropic import ( + get_num_tokens_anthropic, + get_token_ids_anthropic, + ) + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = { + "get_num_tokens_anthropic": "langchain_community.utilities.anthropic", + "get_token_ids_anthropic": "langchain_community.utilities.anthropic", +} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + __all__ = [ "get_num_tokens_anthropic", diff --git a/libs/langchain/langchain/utilities/apify.py b/libs/langchain/langchain/utilities/apify.py index 9cfa0f7fabf..d906ffad8a2 100644 --- a/libs/langchain/langchain/utilities/apify.py +++ b/libs/langchain/langchain/utilities/apify.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.apify import ApifyWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["ApifyWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import ApifyWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"ApifyWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "ApifyWrapper", +] diff --git a/libs/langchain/langchain/utilities/arcee.py b/libs/langchain/langchain/utilities/arcee.py index a847bdf2ecc..db6adef3127 100644 --- a/libs/langchain/langchain/utilities/arcee.py +++ b/libs/langchain/langchain/utilities/arcee.py @@ -1,12 +1,38 @@ -from langchain_community.utilities.arcee import ( - ArceeDocument, - ArceeDocumentAdapter, - ArceeDocumentSource, - ArceeRoute, - ArceeWrapper, - DALMFilter, - DALMFilterType, -) +from typing import TYPE_CHECKING, Any + +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import ArceeWrapper + from langchain_community.utilities.arcee import ( + ArceeDocument, + ArceeDocumentAdapter, + ArceeDocumentSource, + ArceeRoute, + DALMFilter, + DALMFilterType, + ) + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = { + "ArceeRoute": "langchain_community.utilities.arcee", + "DALMFilterType": "langchain_community.utilities.arcee", + "DALMFilter": "langchain_community.utilities.arcee", + "ArceeDocumentSource": "langchain_community.utilities.arcee", + "ArceeDocument": "langchain_community.utilities.arcee", + "ArceeDocumentAdapter": "langchain_community.utilities.arcee", + "ArceeWrapper": "langchain_community.utilities", +} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + __all__ = [ "ArceeRoute", diff --git a/libs/langchain/langchain/utilities/arxiv.py b/libs/langchain/langchain/utilities/arxiv.py index ca6305e8272..d3f3faae480 100644 --- a/libs/langchain/langchain/utilities/arxiv.py +++ b/libs/langchain/langchain/utilities/arxiv.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.arxiv import ArxivAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["ArxivAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import ArxivAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"ArxivAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "ArxivAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/awslambda.py b/libs/langchain/langchain/utilities/awslambda.py index 25b1898bf95..6d952017d22 100644 --- a/libs/langchain/langchain/utilities/awslambda.py +++ b/libs/langchain/langchain/utilities/awslambda.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.awslambda import LambdaWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["LambdaWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import LambdaWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"LambdaWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "LambdaWrapper", +] diff --git a/libs/langchain/langchain/utilities/bibtex.py b/libs/langchain/langchain/utilities/bibtex.py index 599d25922c4..0f435ec1730 100644 --- a/libs/langchain/langchain/utilities/bibtex.py +++ b/libs/langchain/langchain/utilities/bibtex.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.bibtex import BibtexparserWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["BibtexparserWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import BibtexparserWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"BibtexparserWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "BibtexparserWrapper", +] diff --git a/libs/langchain/langchain/utilities/bing_search.py b/libs/langchain/langchain/utilities/bing_search.py index dbe78b1c977..895a5f4cb45 100644 --- a/libs/langchain/langchain/utilities/bing_search.py +++ b/libs/langchain/langchain/utilities/bing_search.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.bing_search import BingSearchAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["BingSearchAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import BingSearchAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"BingSearchAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "BingSearchAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/brave_search.py b/libs/langchain/langchain/utilities/brave_search.py index e4b414e1154..73eef15fef6 100644 --- a/libs/langchain/langchain/utilities/brave_search.py +++ b/libs/langchain/langchain/utilities/brave_search.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.brave_search import BraveSearchWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["BraveSearchWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import BraveSearchWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"BraveSearchWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "BraveSearchWrapper", +] diff --git a/libs/langchain/langchain/utilities/clickup.py b/libs/langchain/langchain/utilities/clickup.py index 4598c3e9762..d7a6d1265ef 100644 --- a/libs/langchain/langchain/utilities/clickup.py +++ b/libs/langchain/langchain/utilities/clickup.py @@ -1,12 +1,38 @@ -from langchain_community.utilities.clickup import ( - ClickupAPIWrapper, - Component, - CUList, - Member, - Space, - Task, - Team, -) +from typing import TYPE_CHECKING, Any + +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities.clickup import ( + ClickupAPIWrapper, + Component, + CUList, + Member, + Space, + Task, + Team, + ) + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = { + "Component": "langchain_community.utilities.clickup", + "Task": "langchain_community.utilities.clickup", + "CUList": "langchain_community.utilities.clickup", + "Member": "langchain_community.utilities.clickup", + "Team": "langchain_community.utilities.clickup", + "Space": "langchain_community.utilities.clickup", + "ClickupAPIWrapper": "langchain_community.utilities.clickup", +} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + __all__ = [ "Component", diff --git a/libs/langchain/langchain/utilities/dalle_image_generator.py b/libs/langchain/langchain/utilities/dalle_image_generator.py index cccc45d9130..b62c1034901 100644 --- a/libs/langchain/langchain/utilities/dalle_image_generator.py +++ b/libs/langchain/langchain/utilities/dalle_image_generator.py @@ -1,3 +1,25 @@ -from langchain_community.utilities.dalle_image_generator import DallEAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["DallEAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities.dalle_image_generator import DallEAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = { + "DallEAPIWrapper": "langchain_community.utilities.dalle_image_generator" +} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "DallEAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/dataforseo_api_search.py b/libs/langchain/langchain/utilities/dataforseo_api_search.py index 389cc96ed3a..14345a56fa7 100644 --- a/libs/langchain/langchain/utilities/dataforseo_api_search.py +++ b/libs/langchain/langchain/utilities/dataforseo_api_search.py @@ -1,3 +1,25 @@ -from langchain_community.utilities.dataforseo_api_search import DataForSeoAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["DataForSeoAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities.dataforseo_api_search import DataForSeoAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = { + "DataForSeoAPIWrapper": "langchain_community.utilities.dataforseo_api_search" +} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "DataForSeoAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/duckduckgo_search.py b/libs/langchain/langchain/utilities/duckduckgo_search.py index 0c6daf83ffc..d7741e9aa93 100644 --- a/libs/langchain/langchain/utilities/duckduckgo_search.py +++ b/libs/langchain/langchain/utilities/duckduckgo_search.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.duckduckgo_search import DuckDuckGoSearchAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["DuckDuckGoSearchAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import DuckDuckGoSearchAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"DuckDuckGoSearchAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "DuckDuckGoSearchAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/github.py b/libs/langchain/langchain/utilities/github.py index 89c0fe455ce..1f4e18f1f04 100644 --- a/libs/langchain/langchain/utilities/github.py +++ b/libs/langchain/langchain/utilities/github.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.github import GitHubAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["GitHubAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities.github import GitHubAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"GitHubAPIWrapper": "langchain_community.utilities.github"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "GitHubAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/gitlab.py b/libs/langchain/langchain/utilities/gitlab.py index 13df0d4c284..eb1723ac4f2 100644 --- a/libs/langchain/langchain/utilities/gitlab.py +++ b/libs/langchain/langchain/utilities/gitlab.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.gitlab import GitLabAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["GitLabAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities.gitlab import GitLabAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"GitLabAPIWrapper": "langchain_community.utilities.gitlab"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "GitLabAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/golden_query.py b/libs/langchain/langchain/utilities/golden_query.py index cccb89e11bd..85f04b80c61 100644 --- a/libs/langchain/langchain/utilities/golden_query.py +++ b/libs/langchain/langchain/utilities/golden_query.py @@ -1,5 +1,23 @@ -from langchain_community.utilities.golden_query import ( - GoldenQueryAPIWrapper, -) +from typing import TYPE_CHECKING, Any -__all__ = ["GoldenQueryAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import GoldenQueryAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"GoldenQueryAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "GoldenQueryAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/google_finance.py b/libs/langchain/langchain/utilities/google_finance.py index e674e935861..a29a6bce0c9 100644 --- a/libs/langchain/langchain/utilities/google_finance.py +++ b/libs/langchain/langchain/utilities/google_finance.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.google_finance import GoogleFinanceAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["GoogleFinanceAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import GoogleFinanceAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"GoogleFinanceAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "GoogleFinanceAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/google_jobs.py b/libs/langchain/langchain/utilities/google_jobs.py index 339a42f8ec9..11ce337d850 100644 --- a/libs/langchain/langchain/utilities/google_jobs.py +++ b/libs/langchain/langchain/utilities/google_jobs.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.google_jobs import GoogleJobsAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["GoogleJobsAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import GoogleJobsAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"GoogleJobsAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "GoogleJobsAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/google_lens.py b/libs/langchain/langchain/utilities/google_lens.py index e7a90cfae67..0e7dc4b4350 100644 --- a/libs/langchain/langchain/utilities/google_lens.py +++ b/libs/langchain/langchain/utilities/google_lens.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.google_lens import GoogleLensAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["GoogleLensAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import GoogleLensAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"GoogleLensAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "GoogleLensAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/google_places_api.py b/libs/langchain/langchain/utilities/google_places_api.py index 82a23270dce..9205969998f 100644 --- a/libs/langchain/langchain/utilities/google_places_api.py +++ b/libs/langchain/langchain/utilities/google_places_api.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.google_places_api import GooglePlacesAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["GooglePlacesAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import GooglePlacesAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"GooglePlacesAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "GooglePlacesAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/google_scholar.py b/libs/langchain/langchain/utilities/google_scholar.py index 1d621713859..bc70bfc1519 100644 --- a/libs/langchain/langchain/utilities/google_scholar.py +++ b/libs/langchain/langchain/utilities/google_scholar.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.google_scholar import GoogleScholarAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["GoogleScholarAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import GoogleScholarAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"GoogleScholarAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "GoogleScholarAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/google_search.py b/libs/langchain/langchain/utilities/google_search.py index 5e237aeabd8..970d5d28b6d 100644 --- a/libs/langchain/langchain/utilities/google_search.py +++ b/libs/langchain/langchain/utilities/google_search.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.google_search import GoogleSearchAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["GoogleSearchAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import GoogleSearchAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"GoogleSearchAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "GoogleSearchAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/google_serper.py b/libs/langchain/langchain/utilities/google_serper.py index 559a5800a30..d751672a8d6 100644 --- a/libs/langchain/langchain/utilities/google_serper.py +++ b/libs/langchain/langchain/utilities/google_serper.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.google_serper import GoogleSerperAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["GoogleSerperAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import GoogleSerperAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"GoogleSerperAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "GoogleSerperAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/google_trends.py b/libs/langchain/langchain/utilities/google_trends.py index 697b355d4ac..86a5bd78660 100644 --- a/libs/langchain/langchain/utilities/google_trends.py +++ b/libs/langchain/langchain/utilities/google_trends.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.google_trends import GoogleTrendsAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["GoogleTrendsAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import GoogleTrendsAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"GoogleTrendsAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "GoogleTrendsAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/graphql.py b/libs/langchain/langchain/utilities/graphql.py index 4bed67bde83..d75ddb63790 100644 --- a/libs/langchain/langchain/utilities/graphql.py +++ b/libs/langchain/langchain/utilities/graphql.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.graphql import GraphQLAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["GraphQLAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import GraphQLAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"GraphQLAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "GraphQLAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/jira.py b/libs/langchain/langchain/utilities/jira.py index b4adf0b1c46..6585880673a 100644 --- a/libs/langchain/langchain/utilities/jira.py +++ b/libs/langchain/langchain/utilities/jira.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.jira import JiraAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["JiraAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import JiraAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"JiraAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "JiraAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/max_compute.py b/libs/langchain/langchain/utilities/max_compute.py index bbd2052c598..7797a22fdf8 100644 --- a/libs/langchain/langchain/utilities/max_compute.py +++ b/libs/langchain/langchain/utilities/max_compute.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.max_compute import MaxComputeAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["MaxComputeAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import MaxComputeAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"MaxComputeAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "MaxComputeAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/merriam_webster.py b/libs/langchain/langchain/utilities/merriam_webster.py index f3ab7961aaa..e8a35960713 100644 --- a/libs/langchain/langchain/utilities/merriam_webster.py +++ b/libs/langchain/langchain/utilities/merriam_webster.py @@ -1,6 +1,22 @@ -from langchain_community.utilities.merriam_webster import ( - MerriamWebsterAPIWrapper, -) +from typing import TYPE_CHECKING, Any + +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import MerriamWebsterAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"MerriamWebsterAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + __all__ = [ "MerriamWebsterAPIWrapper", diff --git a/libs/langchain/langchain/utilities/metaphor_search.py b/libs/langchain/langchain/utilities/metaphor_search.py index fdd26ba43d7..9534267c29d 100644 --- a/libs/langchain/langchain/utilities/metaphor_search.py +++ b/libs/langchain/langchain/utilities/metaphor_search.py @@ -1,5 +1,23 @@ -from langchain_community.utilities.metaphor_search import ( - MetaphorSearchAPIWrapper, -) +from typing import TYPE_CHECKING, Any -__all__ = ["MetaphorSearchAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import MetaphorSearchAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"MetaphorSearchAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "MetaphorSearchAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/nasa.py b/libs/langchain/langchain/utilities/nasa.py index ae5d9ccb25b..cf7c48c03f7 100644 --- a/libs/langchain/langchain/utilities/nasa.py +++ b/libs/langchain/langchain/utilities/nasa.py @@ -1,5 +1,23 @@ -from langchain_community.utilities.nasa import ( - NasaAPIWrapper, -) +from typing import TYPE_CHECKING, Any -__all__ = ["NasaAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import NasaAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"NasaAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "NasaAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/opaqueprompts.py b/libs/langchain/langchain/utilities/opaqueprompts.py index 57ad15e3799..07780a9d99a 100644 --- a/libs/langchain/langchain/utilities/opaqueprompts.py +++ b/libs/langchain/langchain/utilities/opaqueprompts.py @@ -1,3 +1,27 @@ -from langchain_community.utilities.opaqueprompts import desanitize, sanitize +from typing import TYPE_CHECKING, Any -__all__ = ["sanitize", "desanitize"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities.opaqueprompts import desanitize, sanitize + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = { + "sanitize": "langchain_community.utilities.opaqueprompts", + "desanitize": "langchain_community.utilities.opaqueprompts", +} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "sanitize", + "desanitize", +] diff --git a/libs/langchain/langchain/utilities/openapi.py b/libs/langchain/langchain/utilities/openapi.py index 98279154e0e..90e5abea9d9 100644 --- a/libs/langchain/langchain/utilities/openapi.py +++ b/libs/langchain/langchain/utilities/openapi.py @@ -1,3 +1,28 @@ -from langchain_community.utilities.openapi import HTTPVerb, OpenAPISpec +from typing import TYPE_CHECKING, Any -__all__ = ["HTTPVerb", "OpenAPISpec"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.tools import OpenAPISpec + from langchain_community.utilities.openapi import HTTPVerb + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = { + "HTTPVerb": "langchain_community.utilities.openapi", + "OpenAPISpec": "langchain_community.tools", +} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "HTTPVerb", + "OpenAPISpec", +] diff --git a/libs/langchain/langchain/utilities/openweathermap.py b/libs/langchain/langchain/utilities/openweathermap.py index fca7edda50c..c0c42110116 100644 --- a/libs/langchain/langchain/utilities/openweathermap.py +++ b/libs/langchain/langchain/utilities/openweathermap.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.openweathermap import OpenWeatherMapAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["OpenWeatherMapAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import OpenWeatherMapAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"OpenWeatherMapAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "OpenWeatherMapAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/outline.py b/libs/langchain/langchain/utilities/outline.py index 9cdebd8a2cb..0a86724edc5 100644 --- a/libs/langchain/langchain/utilities/outline.py +++ b/libs/langchain/langchain/utilities/outline.py @@ -1,5 +1,23 @@ -from langchain_community.utilities.outline import ( - OutlineAPIWrapper, -) +from typing import TYPE_CHECKING, Any -__all__ = ["OutlineAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import OutlineAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"OutlineAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "OutlineAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/portkey.py b/libs/langchain/langchain/utilities/portkey.py index c44c72110a5..62a786dc41a 100644 --- a/libs/langchain/langchain/utilities/portkey.py +++ b/libs/langchain/langchain/utilities/portkey.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.portkey import Portkey +from typing import TYPE_CHECKING, Any -__all__ = ["Portkey"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import Portkey + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"Portkey": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "Portkey", +] diff --git a/libs/langchain/langchain/utilities/powerbi.py b/libs/langchain/langchain/utilities/powerbi.py index f01eb8ab52c..5220d8ee669 100644 --- a/libs/langchain/langchain/utilities/powerbi.py +++ b/libs/langchain/langchain/utilities/powerbi.py @@ -1,6 +1,22 @@ -from langchain_community.utilities.powerbi import ( - PowerBIDataset, -) +from typing import TYPE_CHECKING, Any + +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import PowerBIDataset + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"PowerBIDataset": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + __all__ = [ "PowerBIDataset", diff --git a/libs/langchain/langchain/utilities/pubmed.py b/libs/langchain/langchain/utilities/pubmed.py index f5784cd0e93..f97fe468cc7 100644 --- a/libs/langchain/langchain/utilities/pubmed.py +++ b/libs/langchain/langchain/utilities/pubmed.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.pubmed import PubMedAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["PubMedAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import PubMedAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"PubMedAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "PubMedAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/reddit_search.py b/libs/langchain/langchain/utilities/reddit_search.py index aeabf49b222..fa8288ad7f3 100644 --- a/libs/langchain/langchain/utilities/reddit_search.py +++ b/libs/langchain/langchain/utilities/reddit_search.py @@ -1,3 +1,25 @@ -from langchain_community.utilities.reddit_search import RedditSearchAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["RedditSearchAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities.reddit_search import RedditSearchAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = { + "RedditSearchAPIWrapper": "langchain_community.utilities.reddit_search" +} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "RedditSearchAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/redis.py b/libs/langchain/langchain/utilities/redis.py index c31d9b15c13..db58dae17c5 100644 --- a/libs/langchain/langchain/utilities/redis.py +++ b/libs/langchain/langchain/utilities/redis.py @@ -1,8 +1,30 @@ -from langchain_community.utilities.redis import ( - TokenEscaper, - check_redis_module_exist, - get_client, -) +from typing import TYPE_CHECKING, Any + +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities.redis import ( + TokenEscaper, + check_redis_module_exist, + get_client, + ) + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = { + "TokenEscaper": "langchain_community.utilities.redis", + "check_redis_module_exist": "langchain_community.utilities.redis", + "get_client": "langchain_community.utilities.redis", +} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + __all__ = [ "TokenEscaper", diff --git a/libs/langchain/langchain/utilities/requests.py b/libs/langchain/langchain/utilities/requests.py index bb3b0c97aff..4acff814427 100644 --- a/libs/langchain/langchain/utilities/requests.py +++ b/libs/langchain/langchain/utilities/requests.py @@ -1,7 +1,27 @@ -from langchain_community.utilities.requests import ( - Requests, - RequestsWrapper, - TextRequestsWrapper, -) +from typing import TYPE_CHECKING, Any -__all__ = ["Requests", "TextRequestsWrapper", "RequestsWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import Requests, RequestsWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = { + "Requests": "langchain_community.utilities", + "RequestsWrapper": "langchain_community.utilities", +} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "Requests", + "RequestsWrapper", +] diff --git a/libs/langchain/langchain/utilities/scenexplain.py b/libs/langchain/langchain/utilities/scenexplain.py index 730ce9dad16..9c1c52c0473 100644 --- a/libs/langchain/langchain/utilities/scenexplain.py +++ b/libs/langchain/langchain/utilities/scenexplain.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.scenexplain import SceneXplainAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["SceneXplainAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import SceneXplainAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"SceneXplainAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "SceneXplainAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/searchapi.py b/libs/langchain/langchain/utilities/searchapi.py index 04df8972a7b..77366ca0c75 100644 --- a/libs/langchain/langchain/utilities/searchapi.py +++ b/libs/langchain/langchain/utilities/searchapi.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.searchapi import SearchApiAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["SearchApiAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import SearchApiAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"SearchApiAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "SearchApiAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/searx_search.py b/libs/langchain/langchain/utilities/searx_search.py index 9a71f803586..72131c3e75b 100644 --- a/libs/langchain/langchain/utilities/searx_search.py +++ b/libs/langchain/langchain/utilities/searx_search.py @@ -1,6 +1,28 @@ -from langchain_community.utilities.searx_search import ( - SearxResults, - SearxSearchWrapper, -) +from typing import TYPE_CHECKING, Any -__all__ = ["SearxResults", "SearxSearchWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import SearxSearchWrapper + from langchain_community.utilities.searx_search import SearxResults + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = { + "SearxResults": "langchain_community.utilities.searx_search", + "SearxSearchWrapper": "langchain_community.utilities", +} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "SearxResults", + "SearxSearchWrapper", +] diff --git a/libs/langchain/langchain/utilities/serpapi.py b/libs/langchain/langchain/utilities/serpapi.py index 126396d099b..eb3e44b8564 100644 --- a/libs/langchain/langchain/utilities/serpapi.py +++ b/libs/langchain/langchain/utilities/serpapi.py @@ -1,3 +1,28 @@ -from langchain_community.utilities.serpapi import HiddenPrints, SerpAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["HiddenPrints", "SerpAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import SerpAPIWrapper + from langchain_community.utilities.serpapi import HiddenPrints + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = { + "HiddenPrints": "langchain_community.utilities.serpapi", + "SerpAPIWrapper": "langchain_community.utilities", +} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "HiddenPrints", + "SerpAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/spark_sql.py b/libs/langchain/langchain/utilities/spark_sql.py index a7bb2f4e3c8..2c74702501e 100644 --- a/libs/langchain/langchain/utilities/spark_sql.py +++ b/libs/langchain/langchain/utilities/spark_sql.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.spark_sql import SparkSQL +from typing import TYPE_CHECKING, Any -__all__ = ["SparkSQL"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import SparkSQL + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"SparkSQL": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "SparkSQL", +] diff --git a/libs/langchain/langchain/utilities/sql_database.py b/libs/langchain/langchain/utilities/sql_database.py index 40a093b987f..c5648057ac7 100644 --- a/libs/langchain/langchain/utilities/sql_database.py +++ b/libs/langchain/langchain/utilities/sql_database.py @@ -1,6 +1,28 @@ -from langchain_community.utilities.sql_database import ( - SQLDatabase, - truncate_word, -) +from typing import TYPE_CHECKING, Any -__all__ = ["truncate_word", "SQLDatabase"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import SQLDatabase + from langchain_community.utilities.sql_database import truncate_word + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = { + "truncate_word": "langchain_community.utilities.sql_database", + "SQLDatabase": "langchain_community.utilities", +} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "truncate_word", + "SQLDatabase", +] diff --git a/libs/langchain/langchain/utilities/stackexchange.py b/libs/langchain/langchain/utilities/stackexchange.py index 02b9ee4b212..bee2a8c56b6 100644 --- a/libs/langchain/langchain/utilities/stackexchange.py +++ b/libs/langchain/langchain/utilities/stackexchange.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.stackexchange import StackExchangeAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["StackExchangeAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import StackExchangeAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"StackExchangeAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "StackExchangeAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/steam.py b/libs/langchain/langchain/utilities/steam.py index 37ff4c96907..55906f92a9b 100644 --- a/libs/langchain/langchain/utilities/steam.py +++ b/libs/langchain/langchain/utilities/steam.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.steam import SteamWebAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["SteamWebAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import SteamWebAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"SteamWebAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "SteamWebAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/tavily_search.py b/libs/langchain/langchain/utilities/tavily_search.py index 651ca62edc8..e3bae5866ff 100644 --- a/libs/langchain/langchain/utilities/tavily_search.py +++ b/libs/langchain/langchain/utilities/tavily_search.py @@ -1,5 +1,25 @@ -from langchain_community.utilities.tavily_search import ( - TavilySearchAPIWrapper, -) +from typing import TYPE_CHECKING, Any -__all__ = ["TavilySearchAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities.tavily_search import TavilySearchAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = { + "TavilySearchAPIWrapper": "langchain_community.utilities.tavily_search" +} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "TavilySearchAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/tensorflow_datasets.py b/libs/langchain/langchain/utilities/tensorflow_datasets.py index 6ae0215b411..a94fc1f6eb0 100644 --- a/libs/langchain/langchain/utilities/tensorflow_datasets.py +++ b/libs/langchain/langchain/utilities/tensorflow_datasets.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.tensorflow_datasets import TensorflowDatasets +from typing import TYPE_CHECKING, Any -__all__ = ["TensorflowDatasets"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import TensorflowDatasets + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"TensorflowDatasets": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "TensorflowDatasets", +] diff --git a/libs/langchain/langchain/utilities/twilio.py b/libs/langchain/langchain/utilities/twilio.py index 58d3522122a..9c91b51dcb8 100644 --- a/libs/langchain/langchain/utilities/twilio.py +++ b/libs/langchain/langchain/utilities/twilio.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.twilio import TwilioAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["TwilioAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import TwilioAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"TwilioAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "TwilioAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/vertexai.py b/libs/langchain/langchain/utilities/vertexai.py index c9397d1b599..6b9fca5cd87 100644 --- a/libs/langchain/langchain/utilities/vertexai.py +++ b/libs/langchain/langchain/utilities/vertexai.py @@ -1,9 +1,32 @@ -from langchain_community.utilities.vertexai import ( - create_retry_decorator, - get_client_info, - init_vertexai, - raise_vertex_import_error, -) +from typing import TYPE_CHECKING, Any + +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities.vertexai import ( + create_retry_decorator, + get_client_info, + init_vertexai, + raise_vertex_import_error, + ) + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = { + "create_retry_decorator": "langchain_community.utilities.vertexai", + "raise_vertex_import_error": "langchain_community.utilities.vertexai", + "init_vertexai": "langchain_community.utilities.vertexai", + "get_client_info": "langchain_community.utilities.vertexai", +} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + __all__ = [ "create_retry_decorator", diff --git a/libs/langchain/langchain/utilities/wikipedia.py b/libs/langchain/langchain/utilities/wikipedia.py index ec9a773423f..5160839a8a5 100644 --- a/libs/langchain/langchain/utilities/wikipedia.py +++ b/libs/langchain/langchain/utilities/wikipedia.py @@ -1,5 +1,23 @@ -from langchain_community.utilities.wikipedia import ( - WikipediaAPIWrapper, -) +from typing import TYPE_CHECKING, Any -__all__ = ["WikipediaAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import WikipediaAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"WikipediaAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "WikipediaAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/wolfram_alpha.py b/libs/langchain/langchain/utilities/wolfram_alpha.py index ef785464686..827075ee12c 100644 --- a/libs/langchain/langchain/utilities/wolfram_alpha.py +++ b/libs/langchain/langchain/utilities/wolfram_alpha.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.wolfram_alpha import WolframAlphaAPIWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["WolframAlphaAPIWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import WolframAlphaAPIWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"WolframAlphaAPIWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "WolframAlphaAPIWrapper", +] diff --git a/libs/langchain/langchain/utilities/zapier.py b/libs/langchain/langchain/utilities/zapier.py index ebbd501e902..71c9afdedbd 100644 --- a/libs/langchain/langchain/utilities/zapier.py +++ b/libs/langchain/langchain/utilities/zapier.py @@ -1,3 +1,23 @@ -from langchain_community.utilities.zapier import ZapierNLAWrapper +from typing import TYPE_CHECKING, Any -__all__ = ["ZapierNLAWrapper"] +from langchain._api import create_importer + +if TYPE_CHECKING: + from langchain_community.utilities import ZapierNLAWrapper + +# Create a way to dynamically look up deprecated imports. +# Used to consolidate logic for raising deprecation warnings and +# handling optional imports. +DEPRECATED_LOOKUP = {"ZapierNLAWrapper": "langchain_community.utilities"} + +_import_attribute = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP) + + +def __getattr__(name: str) -> Any: + """Look up attributes dynamically.""" + return _import_attribute(name) + + +__all__ = [ + "ZapierNLAWrapper", +]