__getattr__() — langchain Function Reference
Architecture documentation for the __getattr__() function in base.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 92e17b9f_11a3_1cdd_043f_0b7e50cdfd0e["__getattr__()"] 1ad7446c_5ef5_eeb3_2fc5_22a110a58b17["RunnableBinding"] 92e17b9f_11a3_1cdd_043f_0b7e50cdfd0e -->|defined in| 1ad7446c_5ef5_eeb3_2fc5_22a110a58b17 style 92e17b9f_11a3_1cdd_043f_0b7e50cdfd0e fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/core/langchain_core/runnables/base.py lines 6103–6137
def __getattr__(self, name: str) -> Any: # type: ignore[misc]
attr = getattr(self.bound, name)
if callable(attr) and (
config_param := inspect.signature(attr).parameters.get("config")
):
if config_param.kind == inspect.Parameter.KEYWORD_ONLY:
@wraps(attr)
def wrapper(*args: Any, **kwargs: Any) -> Any:
return attr(
*args,
config=merge_configs(self.config, kwargs.pop("config", None)),
**kwargs,
)
return wrapper
if config_param.kind == inspect.Parameter.POSITIONAL_OR_KEYWORD:
idx = list(inspect.signature(attr).parameters).index("config")
@wraps(attr)
def wrapper(*args: Any, **kwargs: Any) -> Any:
if len(args) >= idx + 1:
argsl = list(args)
argsl[idx] = merge_configs(self.config, argsl[idx])
return attr(*argsl, **kwargs)
return attr(
*args,
config=merge_configs(self.config, kwargs.pop("config", None)),
**kwargs,
)
return wrapper
return attr
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does __getattr__() do?
__getattr__() is a function in the langchain codebase, defined in libs/core/langchain_core/runnables/base.py.
Where is __getattr__() defined?
__getattr__() is defined in libs/core/langchain_core/runnables/base.py at line 6103.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free