Convenience class that bundles run-scoped context and other runtime utilities.
This class is injected into graph nodes and middleware. It provides access to
context, store, stream_writer, and previous.
configRuntime does not include config. To access RunnableConfig, you can inject
it directly by adding a config: RunnableConfig parameter to your node function
(recommended), or use get_config() from langgraph.config.
ToolRuntime (from langgraph.prebuilt) is a subclass that provides similar
functionality but is designed specifically for tools. It shares context, store,
and stream_writer with Runtime, and adds tool-specific attributes like config,
state, and tool_call_id.
Example:
from typing import TypedDict
from langgraph.graph import StateGraph
from dataclasses import dataclass
from langgraph.runtime import Runtime
from langgraph.store.memory import InMemoryStore
@dataclass
class Context: # (1)!
user_id: str
class State(TypedDict, total=False):
response: str
store = InMemoryStore() # (2)!
store.put(("users",), "user_123", {"name": "Alice"})
def personalized_greeting(state: State, runtime: Runtime[Context]) -> State:
'''Generate personalized greeting using runtime context and store.'''
user_id = runtime.context.user_id # (3)!
name = "unknown_user"
if runtime.store:
if memory := runtime.store.get(("users",), user_id):
name = memory.value["name"]
response = f"Hello {name}! Nice to see you again."
return {"response": response}
graph = (
StateGraph(state_schema=State, context_schema=Context)
.add_node("personalized_greeting", personalized_greeting)
.set_entry_point("personalized_greeting")
.set_finish_point("personalized_greeting")
.compile(store=store)
)
result = graph.invoke({}, context=Context(user_id="user_123"))
print(result)
# > {'response': 'Hello Alice! Nice to see you again.'}
user_id.Runtime(
self,
*,
context: ContextT = None,
store: BaseStore | None = None,
stream_writer: StreamWriter = _no_op_stream_writer,
previous: Any = None
)| Name | Type |
|---|---|
| context | ContextT |
| store | BaseStore | None |
| stream_writer | StreamWriter |
| previous | Any |
Static context for the graph run, like user_id, db_conn, etc.
Can also be thought of as 'run dependencies'.
Store for the graph run, enabling persistence and memory.
Function that writes to the custom stream.
The previous return value for the given thread.
Only available with the functional API when a checkpointer is provided.