class langgraph_agent_toolkit.agents.components.checkpoint.empty.NoOpSaver(*, serde=None)[source][source]

Bases: BaseCheckpointSaver

A fake checkpointer that implements the BaseCheckpointSaver interface but doesn’t actually persist anything.

All operations are no-ops. This is useful for: - Testing without persistence - Running graphs without memory between executions - Situations where you want the graph structure but no state saving

Parameters:

serde (SerializerProtocol)

__init__(*, serde=None)[source][source]
Parameters:

serde (SerializerProtocol | None)

Return type:

None

get(config)[source][source]

Return None - no checkpoint exists.

Parameters:

config (RunnableConfig)

Return type:

Checkpoint | None

get_tuple(config)[source][source]

Return None - no checkpoint tuple exists.

Parameters:

config (RunnableConfig)

Return type:

CheckpointTuple | None

list(config, *, filter=None, before=None, limit=None)[source][source]

Return an empty iterator - no checkpoints exist.

Parameters:
  • config (RunnableConfig | None)

  • filter (dict[str, Any] | None)

  • before (RunnableConfig | None)

  • limit (int | None)

Return type:

Iterator[CheckpointTuple]

put(config, checkpoint, metadata, new_versions)[source][source]

Pretend to save but not actually persist anything.

Return a config with a fake checkpoint_id to satisfy the interface.

Parameters:
  • config (RunnableConfig)

  • checkpoint (Checkpoint)

  • metadata (CheckpointMetadata)

  • new_versions (dict[str, str | int | float])

Return type:

RunnableConfig

put_writes(config, writes, task_id, task_path='')[source][source]

Do nothing - no writes are persisted.

Parameters:
Return type:

None

async aget(config)[source][source]

Async version - always return None.

Parameters:

config (RunnableConfig)

Return type:

Checkpoint | None

async aget_tuple(config)[source][source]

Async version - always return None.

Parameters:

config (RunnableConfig)

Return type:

CheckpointTuple | None

async alist(config, *, filter=None, before=None, limit=None)[source][source]

Async version - always return an empty iterator.

Parameters:
  • config (RunnableConfig | None)

  • filter (dict[str, Any] | None)

  • before (RunnableConfig | None)

  • limit (int | None)

Return type:

Iterator[CheckpointTuple]

async aput(config, checkpoint, metadata, new_versions)[source][source]

Async version - pretend to save but not persist.

Parameters:
  • config (RunnableConfig)

  • checkpoint (Checkpoint)

  • metadata (CheckpointMetadata)

  • new_versions (dict[str, str | int | float])

Return type:

RunnableConfig

async aput_writes(config, writes, task_id, task_path='')[source][source]

Async version - do nothing.

Parameters:
Return type:

None

async adelete_thread(thread_id)[source]

Delete all checkpoints and writes associated with a specific thread ID.

Parameters:

thread_id (str) – The thread ID whose checkpoints should be deleted.

Return type:

None

property config_specs: list

Define the configuration options for the checkpoint saver.

Returns:

List of configuration field specs.

Return type:

list

delete_thread(thread_id)[source]

Delete all checkpoints and writes associated with a specific thread ID.

Parameters:

thread_id (str) – The thread ID whose checkpoints should be deleted.

Return type:

None

get_next_version(current, channel)[source]

Generate the next version ID for a channel.

Default is to use integer versions, incrementing by 1. If you override, you can use str/int/float versions, as long as they are monotonically increasing.

Parameters:
  • current (V | None) – The current version identifier (int, float, or str).

  • channel (None) – Deprecated argument, kept for backwards compatibility.

Returns:

The next version identifier, which must be increasing.

Return type:

V

serde: SerializerProtocol = <langgraph.checkpoint.serde.jsonplus.JsonPlusSerializer object>