-
Notifications
You must be signed in to change notification settings - Fork 222
feat(langgraph-checkpoint-aws): add DynamoDB store #764
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
feat(langgraph-checkpoint-aws): add DynamoDB store #764
Conversation
- Introduced exceptions for DynamoDB store operations. - Created unit tests for DynamoDBStore covering initialization, setup, operations, filtering, and batch processing. - Added a Jupyter notebook demonstrating the usage of the DynamoDB store, including setup, data storage, retrieval, searching, filtering, TTL usage, and batch operations.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds a DynamoDB-backed store implementation for LangGraph, providing persistent key-value storage with hierarchical namespaces, TTL support, filtering, and batch operations as an alternative to the existing Valkey store.
Key Changes:
- Implements
DynamoDBStoreclass extendingBaseStorewith support for CRUD operations, namespaces, TTL, and filtering - Adds comprehensive unit tests covering initialization, setup, operations, and filtering functionality
- Provides documentation and sample notebook demonstrating usage patterns
Reviewed Changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 14 comments.
Show a summary per file
| File | Description |
|---|---|
libs/langgraph-checkpoint-aws/langgraph_checkpoint_aws/store/dynamodb/base.py |
Core DynamoDB store implementation with table management, CRUD operations, batch processing, and TTL support |
libs/langgraph-checkpoint-aws/langgraph_checkpoint_aws/store/dynamodb/exceptions.py |
Custom exception classes for DynamoDB store error handling |
libs/langgraph-checkpoint-aws/langgraph_checkpoint_aws/store/dynamodb/__init__.py |
Module initialization exposing DynamoDBStore |
libs/langgraph-checkpoint-aws/langgraph_checkpoint_aws/store/__init__.py |
Updated store module exports to include DynamoDBStore |
libs/langgraph-checkpoint-aws/langgraph_checkpoint_aws/__init__.py |
Updated package exports to include DynamoDBStore |
libs/langgraph-checkpoint-aws/tests/unit_tests/store/dynamodb/test_dynamodb_store.py |
Comprehensive unit tests for DynamoDB store functionality |
libs/langgraph-checkpoint-aws/tests/unit_tests/store/dynamodb/__init__.py |
Test module initialization |
libs/langgraph-checkpoint-aws/docs/dynamodb_store.md |
Complete documentation with usage examples, configuration options, and comparisons |
samples/memory/dynamodb_store.ipynb |
Interactive notebook demonstrating DynamoDB store features and use cases |
Comments suppressed due to low confidence (3)
libs/langgraph-checkpoint-aws/langgraph_checkpoint_aws/store/dynamodb/base.py:15
- Import of 'cast' is not used.
from typing import Any, cast
libs/langgraph-checkpoint-aws/langgraph_checkpoint_aws/store/dynamodb/base.py:18
- Import of 'orjson' is not used.
import orjson
libs/langgraph-checkpoint-aws/langgraph_checkpoint_aws/store/dynamodb/base.py:33
- Import of 'ValidationError' is not used.
from .exceptions import DynamoDBConnectionError, TableCreationError, ValidationError
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
libs/langgraph-checkpoint-aws/langgraph_checkpoint_aws/store/__init__.py
Show resolved
Hide resolved
libs/langgraph-checkpoint-aws/langgraph_checkpoint_aws/store/dynamodb/base.py
Show resolved
Hide resolved
libs/langgraph-checkpoint-aws/langgraph_checkpoint_aws/store/dynamodb/base.py
Show resolved
Hide resolved
libs/langgraph-checkpoint-aws/langgraph_checkpoint_aws/store/dynamodb/base.py
Show resolved
Hide resolved
libs/langgraph-checkpoint-aws/langgraph_checkpoint_aws/store/dynamodb/base.py
Show resolved
Hide resolved
libs/langgraph-checkpoint-aws/langgraph_checkpoint_aws/store/dynamodb/base.py
Show resolved
Hide resolved
libs/langgraph-checkpoint-aws/langgraph_checkpoint_aws/store/dynamodb/base.py
Show resolved
Hide resolved
libs/langgraph-checkpoint-aws/tests/unit_tests/store/dynamodb/test_dynamodb_store.py
Show resolved
Hide resolved
libs/langgraph-checkpoint-aws/tests/unit_tests/store/dynamodb/test_dynamodb_store.py
Show resolved
Hide resolved
libs/langgraph-checkpoint-aws/langgraph_checkpoint_aws/store/dynamodb/base.py
Show resolved
Hide resolved
aa8fe3a to
9a2464b
Compare
This PR provides a DynamoDB-backed store implementation for LangGraph, enabling persistent, hierarchical key-value storage with features like TTL, filtering, and batch operations.
issue: #760