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
Abstract Components Overview
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:
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:
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:
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:
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:
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:
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:
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: