Home / Function/ __getattr__() — langchain Function Reference

__getattr__() — langchain Function Reference

Architecture documentation for the __getattr__() function in __init__.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  5c16336d_ebc3_1ea4_2769_5c082ddcc648["__getattr__()"]
  74c9c18b_11c5_b8f7_0fac_e554bc0a732b["__init__.py"]
  5c16336d_ebc3_1ea4_2769_5c082ddcc648 -->|defined in| 74c9c18b_11c5_b8f7_0fac_e554bc0a732b
  2c858696_fa56_c9a4_8065_2adce730d3e7["_warn_on_import()"]
  5c16336d_ebc3_1ea4_2769_5c082ddcc648 -->|calls| 2c858696_fa56_c9a4_8065_2adce730d3e7
  style 5c16336d_ebc3_1ea4_2769_5c082ddcc648 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/langchain/langchain_classic/__init__.py lines 45–374

def __getattr__(name: str) -> Any:
    if name == "MRKLChain":
        from langchain_classic.agents import MRKLChain

        _warn_on_import(name, replacement="langchain_classic.agents.MRKLChain")

        return MRKLChain
    if name == "ReActChain":
        from langchain_classic.agents import ReActChain

        _warn_on_import(name, replacement="langchain_classic.agents.ReActChain")

        return ReActChain
    if name == "SelfAskWithSearchChain":
        from langchain_classic.agents import SelfAskWithSearchChain

        _warn_on_import(
            name, replacement="langchain_classic.agents.SelfAskWithSearchChain"
        )

        return SelfAskWithSearchChain
    if name == "ConversationChain":
        from langchain_classic.chains import ConversationChain

        _warn_on_import(name, replacement="langchain_classic.chains.ConversationChain")

        return ConversationChain
    if name == "LLMBashChain":
        msg = (
            "This module has been moved to langchain-experimental. "
            "For more details: "
            "https://github.com/langchain-ai/langchain/discussions/11352."
            "To access this code, install it with `pip install langchain-experimental`."
            "`from langchain_experimental.llm_bash.base "
            "import LLMBashChain`"
        )
        raise ImportError(msg)

    if name == "LLMChain":
        from langchain_classic.chains import LLMChain

        _warn_on_import(name, replacement="langchain_classic.chains.LLMChain")

        return LLMChain
    if name == "LLMCheckerChain":
        from langchain_classic.chains import LLMCheckerChain

        _warn_on_import(name, replacement="langchain_classic.chains.LLMCheckerChain")

        return LLMCheckerChain
    if name == "LLMMathChain":
        from langchain_classic.chains import LLMMathChain

        _warn_on_import(name, replacement="langchain_classic.chains.LLMMathChain")

        return LLMMathChain
    if name == "QAWithSourcesChain":
        from langchain_classic.chains import QAWithSourcesChain

        _warn_on_import(name, replacement="langchain_classic.chains.QAWithSourcesChain")

        return QAWithSourcesChain
    if name == "VectorDBQA":
        from langchain_classic.chains import VectorDBQA

        _warn_on_import(name, replacement="langchain_classic.chains.VectorDBQA")

        return VectorDBQA
    if name == "VectorDBQAWithSourcesChain":
        from langchain_classic.chains import VectorDBQAWithSourcesChain

        _warn_on_import(
            name, replacement="langchain_classic.chains.VectorDBQAWithSourcesChain"
        )

        return VectorDBQAWithSourcesChain
    if name == "InMemoryDocstore":
        from langchain_community.docstore import InMemoryDocstore

        _warn_on_import(name, replacement="langchain_classic.docstore.InMemoryDocstore")

Domain

Subdomains

Frequently Asked Questions

What does __getattr__() do?
__getattr__() is a function in the langchain codebase, defined in libs/langchain/langchain_classic/__init__.py.
Where is __getattr__() defined?
__getattr__() is defined in libs/langchain/langchain_classic/__init__.py at line 45.
What does __getattr__() call?
__getattr__() calls 1 function(s): _warn_on_import.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free