MemorySaverAssertImmutable Class — langchain Architecture
Architecture documentation for the MemorySaverAssertImmutable class in memory_assert.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 0fad622c_f86b_840d_42b5_97c5a1c330f1["MemorySaverAssertImmutable"] 3e70e0e1_ddc3_69e9_583b_0336ed48d360["memory_assert.py"] 0fad622c_f86b_840d_42b5_97c5a1c330f1 -->|defined in| 3e70e0e1_ddc3_69e9_583b_0336ed48d360 b137e971_8bf6_65e1_ed9f_f0cf25f295db["__init__()"] 0fad622c_f86b_840d_42b5_97c5a1c330f1 -->|method| b137e971_8bf6_65e1_ed9f_f0cf25f295db 0832e1df_4f2c_8c66_7089_7e38536724bf["put()"] 0fad622c_f86b_840d_42b5_97c5a1c330f1 -->|method| 0832e1df_4f2c_8c66_7089_7e38536724bf
Relationship Graph
Source Code
libs/langchain_v1/tests/unit_tests/agents/memory_assert.py lines 20–63
class MemorySaverAssertImmutable(InMemorySaver):
storage_for_copies: defaultdict[str, dict[str, dict[str, tuple[str, bytes]]]]
def __init__(
self,
*,
serde: SerializerProtocol | None = None,
put_sleep: float | None = None,
) -> None:
_, filename = tempfile.mkstemp()
class TempfilePersistentDict(PersistentDict):
def __init__(self, *args: Any, **kwargs: Any) -> None:
super().__init__(*args, filename=filename, **kwargs)
super().__init__(serde=serde, factory=TempfilePersistentDict)
self.storage_for_copies = defaultdict(lambda: defaultdict(dict))
self.put_sleep = put_sleep
self.stack.callback(os.remove, filename)
def put(
self,
config: RunnableConfig,
checkpoint: Checkpoint,
metadata: CheckpointMetadata,
new_versions: ChannelVersions,
) -> RunnableConfig:
if self.put_sleep:
time.sleep(self.put_sleep)
# assert checkpoint hasn't been modified since last written
thread_id = config["configurable"]["thread_id"]
checkpoint_ns = config["configurable"]["checkpoint_ns"]
if saved := super().get(config):
assert (
self.serde.loads_typed(
self.storage_for_copies[thread_id][checkpoint_ns][saved["id"]]
)
== saved
)
self.storage_for_copies[thread_id][checkpoint_ns][checkpoint["id"]] = (
self.serde.dumps_typed(copy_checkpoint(checkpoint))
)
# call super to write checkpoint
return super().put(config, checkpoint, metadata, new_versions)
Source
Frequently Asked Questions
What is the MemorySaverAssertImmutable class?
MemorySaverAssertImmutable is a class in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/memory_assert.py.
Where is MemorySaverAssertImmutable defined?
MemorySaverAssertImmutable is defined in libs/langchain_v1/tests/unit_tests/agents/memory_assert.py at line 20.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free