FunctionNonLocals Class — langchain Architecture
Architecture documentation for the FunctionNonLocals class in utils.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 4c3cd6a5_6a64_daf4_cfa7_5dd764cdc784["FunctionNonLocals"] 719a9f62_5ae2_b091_92e4_22d9bc04599d["utils.py"] 4c3cd6a5_6a64_daf4_cfa7_5dd764cdc784 -->|defined in| 719a9f62_5ae2_b091_92e4_22d9bc04599d 90745cc3_e04a_f10e_7162_c7b2d991f5cc["__init__()"] 4c3cd6a5_6a64_daf4_cfa7_5dd764cdc784 -->|method| 90745cc3_e04a_f10e_7162_c7b2d991f5cc b1ea3777_eb5e_8a37_656f_792e9a118c36["visit_FunctionDef()"] 4c3cd6a5_6a64_daf4_cfa7_5dd764cdc784 -->|method| b1ea3777_eb5e_8a37_656f_792e9a118c36 a3f73bda_6a5c_d157_3659_b684da868c61["visit_AsyncFunctionDef()"] 4c3cd6a5_6a64_daf4_cfa7_5dd764cdc784 -->|method| a3f73bda_6a5c_d157_3659_b684da868c61 78109f7c_b5c1_155f_7ef9_9453981ff3eb["visit_Lambda()"] 4c3cd6a5_6a64_daf4_cfa7_5dd764cdc784 -->|method| 78109f7c_b5c1_155f_7ef9_9453981ff3eb
Relationship Graph
Source Code
libs/core/langchain_core/runnables/utils.py lines 304–342
class FunctionNonLocals(ast.NodeVisitor):
"""Get the nonlocal variables accessed of a function."""
def __init__(self) -> None:
"""Create a FunctionNonLocals visitor."""
self.nonlocals: set[str] = set()
@override
def visit_FunctionDef(self, node: ast.FunctionDef) -> None:
"""Visit a function definition.
Args:
node: The node to visit.
"""
visitor = NonLocals()
visitor.visit(node)
self.nonlocals.update(visitor.loads - visitor.stores)
@override
def visit_AsyncFunctionDef(self, node: ast.AsyncFunctionDef) -> None:
"""Visit an async function definition.
Args:
node: The node to visit.
"""
visitor = NonLocals()
visitor.visit(node)
self.nonlocals.update(visitor.loads - visitor.stores)
@override
def visit_Lambda(self, node: ast.Lambda) -> None:
"""Visit a lambda function.
Args:
node: The node to visit.
"""
visitor = NonLocals()
visitor.visit(node)
self.nonlocals.update(visitor.loads - visitor.stores)
Defined In
Source
Frequently Asked Questions
What is the FunctionNonLocals class?
FunctionNonLocals is a class in the langchain codebase, defined in libs/core/langchain_core/runnables/utils.py.
Where is FunctionNonLocals defined?
FunctionNonLocals is defined in libs/core/langchain_core/runnables/utils.py at line 304.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free