Skip to main content

strands-dynamodb-store

A DynamoDB-native-vector MemoryStore for Strands Agents — semantic long-term agent memory backed by DynamoDB's native vector search (SearchVectors). No external vector database, no separate Storage layer — the store talks to DynamoDB directly, the way BedrockKnowledgeBaseStore talks to Bedrock.

pip install strands-dynamodb-store
from strands import Agent
from strands.memory import MemoryManager
from strands_dynamodb_store import DynamoDBMemoryStore

store = DynamoDBMemoryStore(name="user-memories", table_name="agent_memory")
agent = Agent(memory_manager=MemoryManager(stores=[store]))

# or use it directly
await store.add("The user prefers dark mode", metadata={"kind": "pref"})
hits = await store.search("what theme does the user like?")

How it works

  • Semantic recall via DynamoDB search_vectors (approximate nearest-neighbor over a vector index) — ranked by similarity, at DynamoDB scale.
  • You bring the embeddings. DynamoDB does not generate them; by default the store embeds with Amazon Bedrock Titan Text v2 (amazon.titan-embed-text-v2:0, 1024-dim, cosine). Pass any embedder callable to use Cohere, OpenAI, a local model, etc.
  • Each add stores an item {id, content, embedding (List<Number>), metadata, createdAt}; search embeds the query and runs the ANN search.
  • The table is created automatically if absent — PAY_PER_REQUEST with a vector index on the embedding attribute.

Configuration

DynamoDBMemoryStore(name, table_name, *, description=None, max_search_results=None, writable=True, extraction=None, embedder=None, dimensions=1024, distance_function="COSINE", index_name="vector_index", vector_attribute="embedding", region_name=None, boto_session=None, endpoint_url=None)

Implements the Strands MemoryStore protocol: search(query, options) and add(content, metadata).

Requirements

  • boto3>=1.43.78 (DynamoDB vector search, GA 2026-08-05)
  • A region where DynamoDB vector search is available, plus Bedrock model access for the default embedder.

This package (the memory store) is distinct from strands-storage-dynamodb (the byte storage backend). Earlier strands-dynamodb-store releases (0.1.x) were an alias of that storage package; from 0.2.0 it is a MemoryStore.

License

MIT

Metadata

Release files for strands-dynamodb-store 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for strands-dynamodb-store 0.2.0
File Size Uploaded Provenance
strands_dynamodb_store-0.2.0.tar.gz 5.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for strands-dynamodb-store 0.2.0
File Interpreter ABI Platform
strands_dynamodb_store-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 11.4 kB

Release files / strands_dynamodb_store-0.2.0.tar.gz

Download URL strands_dynamodb_store-0.2.0.tar.gz
Size 5.8 kB
Tags Source
SHA-256 checksum
How to use checksums
0a3ae558ea2517f81551aa78aceadf17beb661d439c236376cf23242ff9646cf
BLAKE2b-256 checksum
How to use checksums
f7c0fed094717aab6d963159622ee59924e4a6fbcabe01558569256bccbef31d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.5

Release files / strands_dynamodb_store-0.2.0-py3-none-any.whl

Download URL strands_dynamodb_store-0.2.0-py3-none-any.whl
Size 5.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
da187829c3c3860ec275744dc6cbed148d1db5db62aa6bfdc52b74099d6d8337
BLAKE2b-256 checksum
How to use checksums
3b826e605835aafcdc3cd4fabdc138d0d3ef9ad744e2b03090fa90c09f09d0cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.5

Security for strands-dynamodb-store 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page