diff --git a/libs/langchain/langchain/agents/__init__.py b/libs/langchain/langchain/agents/__init__.py index 5af4b9ed7c..4925a913ba 100644 --- a/libs/langchain/langchain/agents/__init__.py +++ b/libs/langchain/langchain/agents/__init__.py @@ -82,7 +82,11 @@ DEPRECATED_CODE = [ def __getattr__(name: str) -> Any: """Get attr name.""" if name in DEPRECATED_CODE: - relative_path = as_import_path(Path(__file__).parent, suffix=name) + # Get directory of langchain package + HERE = Path(__file__).parents[1] + relative_path = as_import_path( + Path(__file__).parent, suffix=name, relative_to=HERE + ) old_path = "langchain." + relative_path new_path = "langchain_experimental." + relative_path raise ImportError( diff --git a/libs/langchain/langchain/agents/agent_toolkits/csv/__init__.py b/libs/langchain/langchain/agents/agent_toolkits/csv/__init__.py index 1b4899a2d5..4b04980288 100644 --- a/libs/langchain/langchain/agents/agent_toolkits/csv/__init__.py +++ b/libs/langchain/langchain/agents/agent_toolkits/csv/__init__.py @@ -7,16 +7,20 @@ from langchain_core._api.path import as_import_path def __getattr__(name: str) -> Any: """Get attr name.""" - here = as_import_path(Path(__file__).parent) + if name == "create_csv_agent": + # Get directory of langchain package + HERE = Path(__file__).parents[3] + here = as_import_path(Path(__file__).parent, relative_to=HERE) - old_path = "langchain." + here + "." + name - new_path = "langchain_experimental." + here + "." + name - raise AttributeError( - "This agent has been moved to langchain experiment. " - "This agent relies on python REPL tool under the hood, so to use it " - "safely please sandbox the python REPL. " - "Read https://github.com/langchain-ai/langchain/blob/master/SECURITY.md " - "and https://github.com/langchain-ai/langchain/discussions/11680" - "To keep using this code as is, install langchain experimental and " - f"update your import statement from:\n `{old_path}` to `{new_path}`." - ) + old_path = "langchain." + here + "." + name + new_path = "langchain_experimental." + here + "." + name + raise ImportError( + "This agent has been moved to langchain experiment. " + "This agent relies on python REPL tool under the hood, so to use it " + "safely please sandbox the python REPL. " + "Read https://github.com/langchain-ai/langchain/blob/master/SECURITY.md " + "and https://github.com/langchain-ai/langchain/discussions/11680" + "To keep using this code as is, install langchain experimental and " + f"update your import statement from:\n `{old_path}` to `{new_path}`." + ) + raise AttributeError(f"{name} does not exist") diff --git a/libs/langchain/langchain/agents/agent_toolkits/pandas/__init__.py b/libs/langchain/langchain/agents/agent_toolkits/pandas/__init__.py index 1b4899a2d5..a5cc6fc666 100644 --- a/libs/langchain/langchain/agents/agent_toolkits/pandas/__init__.py +++ b/libs/langchain/langchain/agents/agent_toolkits/pandas/__init__.py @@ -7,16 +7,20 @@ from langchain_core._api.path import as_import_path def __getattr__(name: str) -> Any: """Get attr name.""" - here = as_import_path(Path(__file__).parent) + if name == "create_pandas_dataframe_agent": + # Get directory of langchain package + HERE = Path(__file__).parents[3] + here = as_import_path(Path(__file__).parent, relative_to=HERE) - old_path = "langchain." + here + "." + name - new_path = "langchain_experimental." + here + "." + name - raise AttributeError( - "This agent has been moved to langchain experiment. " - "This agent relies on python REPL tool under the hood, so to use it " - "safely please sandbox the python REPL. " - "Read https://github.com/langchain-ai/langchain/blob/master/SECURITY.md " - "and https://github.com/langchain-ai/langchain/discussions/11680" - "To keep using this code as is, install langchain experimental and " - f"update your import statement from:\n `{old_path}` to `{new_path}`." - ) + old_path = "langchain." + here + "." + name + new_path = "langchain_experimental." + here + "." + name + raise ImportError( + "This agent has been moved to langchain experiment. " + "This agent relies on python REPL tool under the hood, so to use it " + "safely please sandbox the python REPL. " + "Read https://github.com/langchain-ai/langchain/blob/master/SECURITY.md " + "and https://github.com/langchain-ai/langchain/discussions/11680" + "To keep using this code as is, install langchain experimental and " + f"update your import statement from:\n `{old_path}` to `{new_path}`." + ) + raise AttributeError(f"{name} does not exist") diff --git a/libs/langchain/langchain/agents/agent_toolkits/python/__init__.py b/libs/langchain/langchain/agents/agent_toolkits/python/__init__.py index 1b4899a2d5..85d36eeb49 100644 --- a/libs/langchain/langchain/agents/agent_toolkits/python/__init__.py +++ b/libs/langchain/langchain/agents/agent_toolkits/python/__init__.py @@ -7,16 +7,20 @@ from langchain_core._api.path import as_import_path def __getattr__(name: str) -> Any: """Get attr name.""" - here = as_import_path(Path(__file__).parent) + if name == "create_python_agent": + # Get directory of langchain package + HERE = Path(__file__).parents[3] + here = as_import_path(Path(__file__).parent, relative_to=HERE) - old_path = "langchain." + here + "." + name - new_path = "langchain_experimental." + here + "." + name - raise AttributeError( - "This agent has been moved to langchain experiment. " - "This agent relies on python REPL tool under the hood, so to use it " - "safely please sandbox the python REPL. " - "Read https://github.com/langchain-ai/langchain/blob/master/SECURITY.md " - "and https://github.com/langchain-ai/langchain/discussions/11680" - "To keep using this code as is, install langchain experimental and " - f"update your import statement from:\n `{old_path}` to `{new_path}`." - ) + old_path = "langchain." + here + "." + name + new_path = "langchain_experimental." + here + "." + name + raise ImportError( + "This agent has been moved to langchain experiment. " + "This agent relies on python REPL tool under the hood, so to use it " + "safely please sandbox the python REPL. " + "Read https://github.com/langchain-ai/langchain/blob/master/SECURITY.md " + "and https://github.com/langchain-ai/langchain/discussions/11680" + "To keep using this code as is, install langchain experimental and " + f"update your import statement from:\n `{old_path}` to `{new_path}`." + ) + raise AttributeError(f"{name} does not exist") diff --git a/libs/langchain/langchain/agents/agent_toolkits/spark/__init__.py b/libs/langchain/langchain/agents/agent_toolkits/spark/__init__.py index 1b4899a2d5..73ec5b97de 100644 --- a/libs/langchain/langchain/agents/agent_toolkits/spark/__init__.py +++ b/libs/langchain/langchain/agents/agent_toolkits/spark/__init__.py @@ -7,16 +7,20 @@ from langchain_core._api.path import as_import_path def __getattr__(name: str) -> Any: """Get attr name.""" - here = as_import_path(Path(__file__).parent) + if name == "create_spark_dataframe_agent": + # Get directory of langchain package + HERE = Path(__file__).parents[3] + here = as_import_path(Path(__file__).parent, relative_to=HERE) - old_path = "langchain." + here + "." + name - new_path = "langchain_experimental." + here + "." + name - raise AttributeError( - "This agent has been moved to langchain experiment. " - "This agent relies on python REPL tool under the hood, so to use it " - "safely please sandbox the python REPL. " - "Read https://github.com/langchain-ai/langchain/blob/master/SECURITY.md " - "and https://github.com/langchain-ai/langchain/discussions/11680" - "To keep using this code as is, install langchain experimental and " - f"update your import statement from:\n `{old_path}` to `{new_path}`." - ) + old_path = "langchain." + here + "." + name + new_path = "langchain_experimental." + here + "." + name + raise ImportError( + "This agent has been moved to langchain experiment. " + "This agent relies on python REPL tool under the hood, so to use it " + "safely please sandbox the python REPL. " + "Read https://github.com/langchain-ai/langchain/blob/master/SECURITY.md " + "and https://github.com/langchain-ai/langchain/discussions/11680" + "To keep using this code as is, install langchain experimental and " + f"update your import statement from:\n `{old_path}` to `{new_path}`." + ) + raise AttributeError(f"{name} does not exist") diff --git a/libs/langchain/langchain/agents/agent_toolkits/xorbits/__init__.py b/libs/langchain/langchain/agents/agent_toolkits/xorbits/__init__.py index 1b4899a2d5..fd8fc13ba0 100644 --- a/libs/langchain/langchain/agents/agent_toolkits/xorbits/__init__.py +++ b/libs/langchain/langchain/agents/agent_toolkits/xorbits/__init__.py @@ -7,16 +7,20 @@ from langchain_core._api.path import as_import_path def __getattr__(name: str) -> Any: """Get attr name.""" - here = as_import_path(Path(__file__).parent) + if name == "create_xorbits_agent": + # Get directory of langchain package + HERE = Path(__file__).parents[3] + here = as_import_path(Path(__file__).parent, relative_to=HERE) - old_path = "langchain." + here + "." + name - new_path = "langchain_experimental." + here + "." + name - raise AttributeError( - "This agent has been moved to langchain experiment. " - "This agent relies on python REPL tool under the hood, so to use it " - "safely please sandbox the python REPL. " - "Read https://github.com/langchain-ai/langchain/blob/master/SECURITY.md " - "and https://github.com/langchain-ai/langchain/discussions/11680" - "To keep using this code as is, install langchain experimental and " - f"update your import statement from:\n `{old_path}` to `{new_path}`." - ) + old_path = "langchain." + here + "." + name + new_path = "langchain_experimental." + here + "." + name + raise ImportError( + "This agent has been moved to langchain experiment. " + "This agent relies on python REPL tool under the hood, so to use it " + "safely please sandbox the python REPL. " + "Read https://github.com/langchain-ai/langchain/blob/master/SECURITY.md " + "and https://github.com/langchain-ai/langchain/discussions/11680" + "To keep using this code as is, install langchain experimental and " + f"update your import statement from:\n `{old_path}` to `{new_path}`." + ) + raise AttributeError(f"{name} does not exist")