Skip to content

Latest commit

 

History

History
103 lines (57 loc) · 4.97 KB

File metadata and controls

103 lines (57 loc) · 4.97 KB
graph LR
    BaseCheckpointSaver["BaseCheckpointSaver"]
    MemorySaver["MemorySaver"]
    SqliteSaver["SqliteSaver"]
    PostgresSaver["PostgresSaver"]
    CheckpointSerde["CheckpointSerde"]
    BaseStore["BaseStore"]
    SqliteStore["SqliteStore"]
    PostgresStore["PostgresStore"]
    MemorySaver -- "implements" --> BaseCheckpointSaver
    SqliteSaver -- "implements" --> BaseCheckpointSaver
    PostgresSaver -- "implements" --> BaseCheckpointSaver
    SqliteStore -- "implements" --> BaseStore
    PostgresStore -- "implements" --> BaseStore
    SqliteSaver -- "composes with" --> SqliteStore
    PostgresSaver -- "composes with" --> PostgresStore
    MemorySaver -- "utilizes" --> CheckpointSerde
    SqliteSaver -- "utilizes" --> CheckpointSerde
    PostgresSaver -- "utilizes" --> CheckpointSerde
Loading

CodeBoardingDemoContact

Details

Abstract Components Overview

BaseCheckpointSaver

The foundational abstract class defining the contract for all checkpointing operations (get, list, put, delete). It establishes the standard interface for managing graph checkpoints, ensuring extensibility for various storage implementations.

Related Classes/Methods:

MemorySaver

An in-memory implementation of BaseCheckpointSaver, suitable for transient states, testing, and scenarios where persistence beyond application lifetime is not required. It stores checkpoints in a Python dictionary.

Related Classes/Methods:

SqliteSaver

A persistent implementation of BaseCheckpointSaver using an SQLite database. It manages the storage and retrieval of checkpoints in a local file, providing lightweight, file-based persistence.

Related Classes/Methods:

PostgresSaver

A persistent implementation of BaseCheckpointSaver using a PostgreSQL database. It manages the storage and retrieval of checkpoints in a remote database, enabling robust, scalable, and shared persistence.

Related Classes/Methods:

CheckpointSerde

A utility component responsible for serializing and deserializing the complex Python objects representing the graph's state into a storable format (e.g., JSON) and vice-versa. It ensures that the state can be correctly persisted and retrieved.

Related Classes/Methods:

BaseStore

The abstract interface for generic key-value stores, providing a common API for underlying storage mechanisms. It defines the low-level contract for data persistence, decoupled from the checkpointing logic.

Related Classes/Methods:

SqliteStore

An SQLite-backed concrete implementation of BaseStore, providing the actual storage for SqliteSaver. It handles the low-level database operations for key-value persistence in an SQLite file.

Related Classes/Methods:

PostgresStore

A PostgreSQL-backed concrete implementation of BaseStore, providing the actual storage for PostgresSaver. It handles the low-level database operations for key-value persistence in a PostgreSQL database.

Related Classes/Methods: