Skip to content

Project directory

DynamoDB emulators

What each emulator supports, what it needs to run, and where to get it. Feature support comes from the measured suite; installation information comes from project documentation.

How to read feature support

Supported means all feature tests pass. Partial means some pass while others fail or skip. Failing means the feature is implemented but no tests pass. Not supported means it is not implemented; not tested means there is no measurement. Each build is measured separately.

Dynalite

4.0.0

What you need

Node 20+

Installation routes

Measured

Vector search
not supported
GSI
partially supported
LSI
partially supported
PartiQL
not supported
Transactions
partially supported
Streams
not supported
TTL
partially supported
Legacy params
partially supported
Other AWS services
Backups / PITR
not supported
Export / import
not supported
Kinesis
not supported
Resource policies
not supported
Contributor Insights
not supported
Account API
not supported
Operation-by-operation support

Measured divergence and coverage for each operation. Inspect the full evidence.

Tier 1 - Core

  • batchGetItem 0/15 0.0% 100.0% batchGetItem: supported, diverges on 0.0% of it, covers 100.0% (15 pass)
  • batchWriteItem 1/18 5.6% 100.0% batchWriteItem: partially supported, diverges on 5.6% of it, covers 100.0% (17 pass, 1 fail)
  • createTable 7/30 23.3% 100.0% createTable: partially supported, diverges on 23.3% of it, covers 100.0% (23 pass, 7 fail)
  • deleteItem 0/13 0.0% 100.0% deleteItem: supported, diverges on 0.0% of it, covers 100.0% (13 pass)
  • deleteTable 0/3 0.0% 100.0% deleteTable: supported, diverges on 0.0% of it, covers 100.0% (3 pass)
  • describeTable 0/4 0.0% 100.0% describeTable: supported, diverges on 0.0% of it, covers 100.0% (4 pass)
  • getItem 0/39 0.0% 100.0% getItem: supported, diverges on 0.0% of it, covers 100.0% (39 pass)
  • listTables 0/5 0.0% 100.0% listTables: supported, diverges on 0.0% of it, covers 100.0% (5 pass)
  • putItem 27/129 20.9% 100.0% putItem: partially supported, diverges on 20.9% of it, covers 100.0% (102 pass, 27 fail)
  • query 5/95 5.3% 100.0% query: partially supported, diverges on 5.3% of it, covers 100.0% (90 pass, 5 fail)
  • scan 6/60 10.0% 100.0% scan: partially supported, diverges on 10.0% of it, covers 100.0% (54 pass, 6 fail)
  • updateItem 2/70 2.9% 100.0% updateItem: partially supported, diverges on 2.9% of it, covers 100.0% (68 pass, 2 fail)
  • updateTable 5/15 33.3% 100.0% updateTable: partially supported, diverges on 33.3% of it, covers 100.0% (10 pass, 5 fail)

Tier 2 - Complete

  • account 0/2 · 2 skip n/a 0.0% account: unsupported, implements none of it (2 skip)
  • backups 0/5 · 5 skip n/a 0.0% backups: unsupported, implements none of it (5 skip)
  • contributorInsights 0/2 · 2 skip n/a 0.0% contributorInsights: unsupported, implements none of it (2 skip)
  • export 0/2 · 2 skip n/a 0.0% export: unsupported, implements none of it (2 skip)
  • kinesis 0/1 · 1 skip n/a 0.0% kinesis: unsupported, implements none of it (1 skip)
  • partiql 0/186 · 186 skip n/a 0.0% partiql: unsupported, implements none of it (186 skip)
  • resourcePolicy 0/2 · 2 skip n/a 0.0% resourcePolicy: unsupported, implements none of it (2 skip)
  • streams 0/18 · 18 skip n/a 0.0% streams: unsupported, implements none of it (18 skip)
  • tags 2/8 25.0% 100.0% tags: partially supported, diverges on 25.0% of it, covers 100.0% (6 pass, 2 fail)
  • transactions 11/62 · 51 skip 17.7% 17.7% transactions: failing, diverges on 17.7% of it, covers 17.7% (11 fail, 51 skip)
  • ttl 5/7 71.4% 100.0% ttl: partially supported, diverges on 71.4% of it, covers 100.0% (2 pass, 5 fail)
  • updateTable 10/14 71.4% 100.0% updateTable: partially supported, diverges on 71.4% of it, covers 100.0% (4 pass, 10 fail)
  • vectorSearch 0/36 · 36 skip n/a 0.0% vectorSearch: unsupported, implements none of it (36 skip)

Tier 3 - Strict

  • error-messages 39/185 · 61 skip 21.1% 67.0% error-messages: partially supported, diverges on 21.1% of it, covers 67.0% (85 pass, 39 fail, 61 skip)
  • legacy-api 1/42 2.4% 100.0% legacy-api: partially supported, diverges on 2.4% of it, covers 100.0% (41 pass, 1 fail)
  • limits 20/164 · 29 skip 12.2% 82.3% limits: partially supported, diverges on 12.2% of it, covers 82.3% (115 pass, 20 fail, 29 skip)
  • validation-ordering 10/34 · 3 skip 29.4% 91.2% validation-ordering: partially supported, diverges on 29.4% of it, covers 91.2% (21 pass, 10 fail, 3 skip)

DynamoDB Local

ff89bd48ff32

What you need

JRE 17+ (bundled in the Docker route)

Installation routes

Measured

Vector search
not supported
GSI
partially supported
LSI
partially supported
PartiQL
partially supported
Transactions
partially supported
Streams
supported
TTL
supported
Legacy params
partially supported
Other AWS services
Backups / PITR
not supported
Export / import
not supported
Kinesis
not supported
Resource policies
not supported
Contributor Insights
not supported
Account API
partially supported
Operation-by-operation support

Measured divergence and coverage for each operation. Inspect the full evidence.

Tier 1 - Core

  • batchGetItem 0/15 0.0% 100.0% batchGetItem: supported, diverges on 0.0% of it, covers 100.0% (15 pass)
  • batchWriteItem 3/18 16.7% 100.0% batchWriteItem: partially supported, diverges on 16.7% of it, covers 100.0% (15 pass, 3 fail)
  • createTable 4/30 13.3% 100.0% createTable: partially supported, diverges on 13.3% of it, covers 100.0% (26 pass, 4 fail)
  • deleteItem 0/13 0.0% 100.0% deleteItem: supported, diverges on 0.0% of it, covers 100.0% (13 pass)
  • deleteTable 0/3 0.0% 100.0% deleteTable: supported, diverges on 0.0% of it, covers 100.0% (3 pass)
  • describeTable 1/4 25.0% 100.0% describeTable: partially supported, diverges on 25.0% of it, covers 100.0% (3 pass, 1 fail)
  • getItem 0/39 0.0% 100.0% getItem: supported, diverges on 0.0% of it, covers 100.0% (39 pass)
  • listTables 0/5 0.0% 100.0% listTables: supported, diverges on 0.0% of it, covers 100.0% (5 pass)
  • putItem 25/129 19.4% 100.0% putItem: partially supported, diverges on 19.4% of it, covers 100.0% (104 pass, 25 fail)
  • query 2/95 2.1% 100.0% query: partially supported, diverges on 2.1% of it, covers 100.0% (93 pass, 2 fail)
  • scan 0/60 0.0% 100.0% scan: supported, diverges on 0.0% of it, covers 100.0% (60 pass)
  • updateItem 1/70 1.4% 100.0% updateItem: partially supported, diverges on 1.4% of it, covers 100.0% (69 pass, 1 fail)
  • updateTable 1/15 6.7% 100.0% updateTable: partially supported, diverges on 6.7% of it, covers 100.0% (14 pass, 1 fail)

Tier 2 - Complete

  • account 0/2 · 1 skip 0.0% 50.0% account: partially supported, diverges on 0.0% of it, covers 50.0% (1 pass, 1 skip)
  • backups 0/5 · 5 skip n/a 0.0% backups: unsupported, implements none of it (5 skip)
  • contributorInsights 0/2 · 2 skip n/a 0.0% contributorInsights: unsupported, implements none of it (2 skip)
  • export 0/2 · 2 skip n/a 0.0% export: unsupported, implements none of it (2 skip)
  • kinesis 0/1 · 1 skip n/a 0.0% kinesis: unsupported, implements none of it (1 skip)
  • partiql 39/186 21.0% 100.0% partiql: partially supported, diverges on 21.0% of it, covers 100.0% (147 pass, 39 fail)
  • resourcePolicy 0/2 · 2 skip n/a 0.0% resourcePolicy: unsupported, implements none of it (2 skip)
  • streams 0/18 0.0% 100.0% streams: supported, diverges on 0.0% of it, covers 100.0% (18 pass)
  • tags 0/8 · 8 skip n/a 0.0% tags: unsupported, implements none of it (8 skip)
  • transactions 11/62 17.7% 100.0% transactions: partially supported, diverges on 17.7% of it, covers 100.0% (51 pass, 11 fail)
  • ttl 0/7 0.0% 100.0% ttl: supported, diverges on 0.0% of it, covers 100.0% (7 pass)
  • updateTable 3/14 21.4% 100.0% updateTable: partially supported, diverges on 21.4% of it, covers 100.0% (11 pass, 3 fail)
  • vectorSearch 0/36 · 36 skip n/a 0.0% vectorSearch: unsupported, implements none of it (36 skip)

Tier 3 - Strict

  • error-messages 70/185 · 16 skip 37.8% 91.4% error-messages: partially supported, diverges on 37.8% of it, covers 91.4% (99 pass, 70 fail, 16 skip)
  • legacy-api 1/42 2.4% 100.0% legacy-api: partially supported, diverges on 2.4% of it, covers 100.0% (41 pass, 1 fail)
  • limits 13/164 7.9% 100.0% limits: partially supported, diverges on 7.9% of it, covers 100.0% (151 pass, 13 fail)
  • validation-ordering 24/34 70.6% 100.0% validation-ordering: partially supported, diverges on 70.6% of it, covers 100.0% (10 pass, 24 fail)

Dynoxide

self-contained binary · 1.3.0

Disclosure: maintained by this board's author.

What you need

none - a single binary, with no runtime to install

Installation routes

Other measured builds

WebAssembly / OPFS

Measured

Vector search
supported
GSI
supported
LSI
supported
PartiQL
supported
Transactions
supported
Streams
supported
TTL
supported
Legacy params
supported
Other AWS services
Backups / PITR
not supported
Export / import
not supported
Kinesis
not supported
Resource policies
not supported
Contributor Insights
not supported
Account API
not supported
Operation-by-operation support

Measured divergence and coverage for each operation. Inspect the full evidence.

Tier 1 - Core

  • batchGetItem 0/15 0.0% 100.0% batchGetItem: supported, diverges on 0.0% of it, covers 100.0% (15 pass)
  • batchWriteItem 0/18 0.0% 100.0% batchWriteItem: supported, diverges on 0.0% of it, covers 100.0% (18 pass)
  • createTable 0/30 0.0% 100.0% createTable: supported, diverges on 0.0% of it, covers 100.0% (30 pass)
  • deleteItem 0/13 0.0% 100.0% deleteItem: supported, diverges on 0.0% of it, covers 100.0% (13 pass)
  • deleteTable 0/3 0.0% 100.0% deleteTable: supported, diverges on 0.0% of it, covers 100.0% (3 pass)
  • describeTable 0/4 0.0% 100.0% describeTable: supported, diverges on 0.0% of it, covers 100.0% (4 pass)
  • getItem 0/39 0.0% 100.0% getItem: supported, diverges on 0.0% of it, covers 100.0% (39 pass)
  • listTables 0/5 0.0% 100.0% listTables: supported, diverges on 0.0% of it, covers 100.0% (5 pass)
  • putItem 0/129 0.0% 100.0% putItem: supported, diverges on 0.0% of it, covers 100.0% (129 pass)
  • query 0/95 0.0% 100.0% query: supported, diverges on 0.0% of it, covers 100.0% (95 pass)
  • scan 0/60 0.0% 100.0% scan: supported, diverges on 0.0% of it, covers 100.0% (60 pass)
  • updateItem 0/70 0.0% 100.0% updateItem: supported, diverges on 0.0% of it, covers 100.0% (70 pass)
  • updateTable 0/15 0.0% 100.0% updateTable: supported, diverges on 0.0% of it, covers 100.0% (15 pass)

Tier 2 - Complete

  • account 0/2 · 2 skip n/a 0.0% account: unsupported, implements none of it (2 skip)
  • backups 0/5 · 5 skip n/a 0.0% backups: unsupported, implements none of it (5 skip)
  • contributorInsights 0/2 · 2 skip n/a 0.0% contributorInsights: unsupported, implements none of it (2 skip)
  • export 0/2 · 2 skip n/a 0.0% export: unsupported, implements none of it (2 skip)
  • kinesis 0/1 · 1 skip n/a 0.0% kinesis: unsupported, implements none of it (1 skip)
  • partiql 0/186 0.0% 100.0% partiql: supported, diverges on 0.0% of it, covers 100.0% (186 pass)
  • resourcePolicy 0/2 · 2 skip n/a 0.0% resourcePolicy: unsupported, implements none of it (2 skip)
  • streams 0/18 0.0% 100.0% streams: supported, diverges on 0.0% of it, covers 100.0% (18 pass)
  • tags 0/8 0.0% 100.0% tags: supported, diverges on 0.0% of it, covers 100.0% (8 pass)
  • transactions 0/62 0.0% 100.0% transactions: supported, diverges on 0.0% of it, covers 100.0% (62 pass)
  • ttl 0/7 0.0% 100.0% ttl: supported, diverges on 0.0% of it, covers 100.0% (7 pass)
  • updateTable 0/14 0.0% 100.0% updateTable: supported, diverges on 0.0% of it, covers 100.0% (14 pass)
  • vectorSearch 0/36 0.0% 100.0% vectorSearch: supported, diverges on 0.0% of it, covers 100.0% (36 pass)

Tier 3 - Strict

  • error-messages 5/185 2.7% 100.0% error-messages: partially supported, diverges on 2.7% of it, covers 100.0% (180 pass, 5 fail)
  • legacy-api 0/42 0.0% 100.0% legacy-api: supported, diverges on 0.0% of it, covers 100.0% (42 pass)
  • limits 0/164 0.0% 100.0% limits: supported, diverges on 0.0% of it, covers 100.0% (164 pass)
  • validation-ordering 0/34 0.0% 100.0% validation-ordering: supported, diverges on 0.0% of it, covers 100.0% (34 pass)

ExtendDB

PostgreSQL · v0.1.13

What you need

PostgreSQL 14+, and a Rust toolchain to build it

An adapter over an external PostgreSQL rather than a self-contained store. TLS and SigV4 are mandatory, and it listens on 18443.

Installation routes

Other measured builds

SQLite

Measured

Vector search
not supported
GSI
partially supported
LSI
partially supported
PartiQL
not supported
Transactions
partially supported
Streams
supported
TTL
supported
Legacy params
supported
Other AWS services
Backups / PITR
supported
Export / import
not supported
Kinesis
not supported
Resource policies
not supported
Contributor Insights
not supported
Account API
supported
Operation-by-operation support

Measured divergence and coverage for each operation. Inspect the full evidence.

Tier 1 - Core

  • batchGetItem 0/15 0.0% 100.0% batchGetItem: supported, diverges on 0.0% of it, covers 100.0% (15 pass)
  • batchWriteItem 0/18 0.0% 100.0% batchWriteItem: supported, diverges on 0.0% of it, covers 100.0% (18 pass)
  • createTable 0/30 0.0% 100.0% createTable: supported, diverges on 0.0% of it, covers 100.0% (30 pass)
  • deleteItem 0/13 0.0% 100.0% deleteItem: supported, diverges on 0.0% of it, covers 100.0% (13 pass)
  • deleteTable 0/3 0.0% 100.0% deleteTable: supported, diverges on 0.0% of it, covers 100.0% (3 pass)
  • describeTable 0/4 0.0% 100.0% describeTable: supported, diverges on 0.0% of it, covers 100.0% (4 pass)
  • getItem 0/39 0.0% 100.0% getItem: supported, diverges on 0.0% of it, covers 100.0% (39 pass)
  • listTables 0/5 0.0% 100.0% listTables: supported, diverges on 0.0% of it, covers 100.0% (5 pass)
  • putItem 0/129 0.0% 100.0% putItem: supported, diverges on 0.0% of it, covers 100.0% (129 pass)
  • query 0/95 0.0% 100.0% query: supported, diverges on 0.0% of it, covers 100.0% (95 pass)
  • scan 0/60 0.0% 100.0% scan: supported, diverges on 0.0% of it, covers 100.0% (60 pass)
  • updateItem 0/70 0.0% 100.0% updateItem: supported, diverges on 0.0% of it, covers 100.0% (70 pass)
  • updateTable 0/15 0.0% 100.0% updateTable: supported, diverges on 0.0% of it, covers 100.0% (15 pass)

Tier 2 - Complete

  • account 0/2 0.0% 100.0% account: supported, diverges on 0.0% of it, covers 100.0% (2 pass)
  • backups 0/5 0.0% 100.0% backups: supported, diverges on 0.0% of it, covers 100.0% (5 pass)
  • contributorInsights 0/2 · 2 skip n/a 0.0% contributorInsights: unsupported, implements none of it (2 skip)
  • export 0/2 · 2 skip n/a 0.0% export: unsupported, implements none of it (2 skip)
  • kinesis 0/1 · 1 skip n/a 0.0% kinesis: unsupported, implements none of it (1 skip)
  • partiql 0/186 · 186 skip n/a 0.0% partiql: unsupported, implements none of it (186 skip)
  • resourcePolicy 0/2 · 2 skip n/a 0.0% resourcePolicy: unsupported, implements none of it (2 skip)
  • streams 0/18 0.0% 100.0% streams: supported, diverges on 0.0% of it, covers 100.0% (18 pass)
  • tags 0/8 0.0% 100.0% tags: supported, diverges on 0.0% of it, covers 100.0% (8 pass)
  • transactions 0/62 0.0% 100.0% transactions: supported, diverges on 0.0% of it, covers 100.0% (62 pass)
  • ttl 0/7 0.0% 100.0% ttl: supported, diverges on 0.0% of it, covers 100.0% (7 pass)
  • updateTable 0/14 0.0% 100.0% updateTable: supported, diverges on 0.0% of it, covers 100.0% (14 pass)
  • vectorSearch 0/36 · 36 skip n/a 0.0% vectorSearch: unsupported, implements none of it (36 skip)

Tier 3 - Strict

  • error-messages 6/185 · 30 skip 3.2% 83.8% error-messages: partially supported, diverges on 3.2% of it, covers 83.8% (149 pass, 6 fail, 30 skip)
  • legacy-api 0/42 0.0% 100.0% legacy-api: supported, diverges on 0.0% of it, covers 100.0% (42 pass)
  • limits 22/164 · 5 skip 13.4% 97.0% limits: partially supported, diverges on 13.4% of it, covers 97.0% (137 pass, 22 fail, 5 skip)
  • validation-ordering 0/34 · 3 skip 0.0% 91.2% validation-ordering: partially supported, diverges on 0.0% of it, covers 91.2% (31 pass, 3 skip)

Floci

e97cd0c1dc2a

What you need

Docker

Only the Docker image is the emulator. The other channels install the floci CLI, which pulls and runs that image for you.

Installation routes

Measured

Vector search
supported
GSI
supported
LSI
supported
PartiQL
supported
Transactions
partially supported
Streams
supported
TTL
supported
Legacy params
supported
Other AWS services
Backups / PITR
partially supported
Export / import
supported
Kinesis
supported
Resource policies
supported
Contributor Insights
not supported
Account API
not supported
Operation-by-operation support

Measured divergence and coverage for each operation. Inspect the full evidence.

Tier 1 - Core

  • batchGetItem 0/15 0.0% 100.0% batchGetItem: supported, diverges on 0.0% of it, covers 100.0% (15 pass)
  • batchWriteItem 0/18 0.0% 100.0% batchWriteItem: supported, diverges on 0.0% of it, covers 100.0% (18 pass)
  • createTable 0/30 0.0% 100.0% createTable: supported, diverges on 0.0% of it, covers 100.0% (30 pass)
  • deleteItem 0/13 0.0% 100.0% deleteItem: supported, diverges on 0.0% of it, covers 100.0% (13 pass)
  • deleteTable 0/3 0.0% 100.0% deleteTable: supported, diverges on 0.0% of it, covers 100.0% (3 pass)
  • describeTable 0/4 0.0% 100.0% describeTable: supported, diverges on 0.0% of it, covers 100.0% (4 pass)
  • getItem 0/39 0.0% 100.0% getItem: supported, diverges on 0.0% of it, covers 100.0% (39 pass)
  • listTables 0/5 0.0% 100.0% listTables: supported, diverges on 0.0% of it, covers 100.0% (5 pass)
  • putItem 0/129 0.0% 100.0% putItem: supported, diverges on 0.0% of it, covers 100.0% (129 pass)
  • query 0/95 0.0% 100.0% query: supported, diverges on 0.0% of it, covers 100.0% (95 pass)
  • scan 0/60 0.0% 100.0% scan: supported, diverges on 0.0% of it, covers 100.0% (60 pass)
  • updateItem 0/70 0.0% 100.0% updateItem: supported, diverges on 0.0% of it, covers 100.0% (70 pass)
  • updateTable 0/15 0.0% 100.0% updateTable: supported, diverges on 0.0% of it, covers 100.0% (15 pass)

Tier 2 - Complete

  • account 0/2 · 2 skip n/a 0.0% account: unsupported, implements none of it (2 skip)
  • backups 0/5 · 3 skip 0.0% 40.0% backups: partially supported, diverges on 0.0% of it, covers 40.0% (2 pass, 3 skip)
  • contributorInsights 0/2 · 2 skip n/a 0.0% contributorInsights: unsupported, implements none of it (2 skip)
  • export 0/2 0.0% 100.0% export: supported, diverges on 0.0% of it, covers 100.0% (2 pass)
  • kinesis 0/1 0.0% 100.0% kinesis: supported, diverges on 0.0% of it, covers 100.0% (1 pass)
  • partiql 0/186 0.0% 100.0% partiql: supported, diverges on 0.0% of it, covers 100.0% (186 pass)
  • resourcePolicy 0/2 0.0% 100.0% resourcePolicy: supported, diverges on 0.0% of it, covers 100.0% (2 pass)
  • streams 0/18 0.0% 100.0% streams: supported, diverges on 0.0% of it, covers 100.0% (18 pass)
  • tags 0/8 0.0% 100.0% tags: supported, diverges on 0.0% of it, covers 100.0% (8 pass)
  • transactions 0/62 0.0% 100.0% transactions: supported, diverges on 0.0% of it, covers 100.0% (62 pass)
  • ttl 0/7 0.0% 100.0% ttl: supported, diverges on 0.0% of it, covers 100.0% (7 pass)
  • updateTable 0/14 0.0% 100.0% updateTable: supported, diverges on 0.0% of it, covers 100.0% (14 pass)
  • vectorSearch 0/36 0.0% 100.0% vectorSearch: supported, diverges on 0.0% of it, covers 100.0% (36 pass)

Tier 3 - Strict

  • error-messages 5/185 2.7% 100.0% error-messages: partially supported, diverges on 2.7% of it, covers 100.0% (180 pass, 5 fail)
  • legacy-api 0/42 0.0% 100.0% legacy-api: supported, diverges on 0.0% of it, covers 100.0% (42 pass)
  • limits 1/164 0.6% 100.0% limits: partially supported, diverges on 0.6% of it, covers 100.0% (163 pass, 1 fail)
  • validation-ordering 0/34 0.0% 100.0% validation-ordering: supported, diverges on 0.0% of it, covers 100.0% (34 pass)

Kumo

76e97ef55735

What you need

none - a single Go binary, or Docker for the image

Installation routes

Measured

Vector search
not supported
GSI
partially supported
LSI
partially supported
PartiQL
not supported
Transactions
partially supported
Streams
partially supported
TTL
partially supported
Legacy params
partially supported
Other AWS services
Backups / PITR
partially supported
Export / import
not supported
Kinesis
not supported
Resource policies
not supported
Contributor Insights
not supported
Account API
partially supported
Operation-by-operation support

Measured divergence and coverage for each operation. Inspect the full evidence.

Tier 1 - Core

  • batchGetItem 4/15 26.7% 100.0% batchGetItem: partially supported, diverges on 26.7% of it, covers 100.0% (11 pass, 4 fail)
  • batchWriteItem 7/18 38.9% 100.0% batchWriteItem: partially supported, diverges on 38.9% of it, covers 100.0% (11 pass, 7 fail)
  • createTable 14/30 46.7% 100.0% createTable: partially supported, diverges on 46.7% of it, covers 100.0% (16 pass, 14 fail)
  • deleteItem 1/13 7.7% 100.0% deleteItem: partially supported, diverges on 7.7% of it, covers 100.0% (12 pass, 1 fail)
  • deleteTable 0/3 0.0% 100.0% deleteTable: supported, diverges on 0.0% of it, covers 100.0% (3 pass)
  • describeTable 1/4 25.0% 100.0% describeTable: partially supported, diverges on 25.0% of it, covers 100.0% (3 pass, 1 fail)
  • getItem 27/39 69.2% 100.0% getItem: partially supported, diverges on 69.2% of it, covers 100.0% (12 pass, 27 fail)
  • listTables 0/5 0.0% 100.0% listTables: supported, diverges on 0.0% of it, covers 100.0% (5 pass)
  • putItem 82/129 63.6% 100.0% putItem: partially supported, diverges on 63.6% of it, covers 100.0% (47 pass, 82 fail)
  • query 29/95 30.5% 100.0% query: partially supported, diverges on 30.5% of it, covers 100.0% (66 pass, 29 fail)
  • scan 25/60 41.7% 100.0% scan: partially supported, diverges on 41.7% of it, covers 100.0% (35 pass, 25 fail)
  • updateItem 31/70 44.3% 100.0% updateItem: partially supported, diverges on 44.3% of it, covers 100.0% (39 pass, 31 fail)
  • updateTable 11/15 73.3% 100.0% updateTable: partially supported, diverges on 73.3% of it, covers 100.0% (4 pass, 11 fail)

Tier 2 - Complete

  • account 0/2 · 1 skip 0.0% 50.0% account: partially supported, diverges on 0.0% of it, covers 50.0% (1 pass, 1 skip)
  • backups 1/5 · 3 skip 20.0% 40.0% backups: partially supported, diverges on 20.0% of it, covers 40.0% (1 pass, 1 fail, 3 skip)
  • contributorInsights 0/2 · 2 skip n/a 0.0% contributorInsights: unsupported, implements none of it (2 skip)
  • export 0/2 · 2 skip n/a 0.0% export: unsupported, implements none of it (2 skip)
  • kinesis 0/1 · 1 skip n/a 0.0% kinesis: unsupported, implements none of it (1 skip)
  • partiql 0/186 · 186 skip n/a 0.0% partiql: unsupported, implements none of it (186 skip)
  • resourcePolicy 0/2 · 2 skip n/a 0.0% resourcePolicy: unsupported, implements none of it (2 skip)
  • streams 2/18 11.1% 100.0% streams: partially supported, diverges on 11.1% of it, covers 100.0% (16 pass, 2 fail)
  • tags 2/8 25.0% 100.0% tags: partially supported, diverges on 25.0% of it, covers 100.0% (6 pass, 2 fail)
  • transactions 29/62 46.8% 100.0% transactions: partially supported, diverges on 46.8% of it, covers 100.0% (33 pass, 29 fail)
  • ttl 1/7 14.3% 100.0% ttl: partially supported, diverges on 14.3% of it, covers 100.0% (6 pass, 1 fail)
  • updateTable 13/14 92.9% 100.0% updateTable: partially supported, diverges on 92.9% of it, covers 100.0% (1 pass, 13 fail)
  • vectorSearch 0/36 · 36 skip n/a 0.0% vectorSearch: unsupported, implements none of it (36 skip)

Tier 3 - Strict

  • error-messages 147/185 · 30 skip 79.5% 83.8% error-messages: partially supported, diverges on 79.5% of it, covers 83.8% (8 pass, 147 fail, 30 skip)
  • legacy-api 24/42 57.1% 100.0% legacy-api: partially supported, diverges on 57.1% of it, covers 100.0% (18 pass, 24 fail)
  • limits 102/164 · 5 skip 62.2% 97.0% limits: partially supported, diverges on 62.2% of it, covers 97.0% (57 pass, 102 fail, 5 skip)
  • validation-ordering 22/34 · 3 skip 64.7% 91.2% validation-ordering: partially supported, diverges on 64.7% of it, covers 91.2% (9 pass, 22 fail, 3 skip)

LocalStack

2026.9.1

What you need

Docker, and an auth token since March 2026

The Community image was sunset in March 2026; the unified image needs a LOCALSTACK_AUTH_TOKEN, so an account is now part of running it.

Installation routes

Measured

Vector search
not supported
GSI
partially supported
LSI
partially supported
PartiQL
partially supported
Transactions
partially supported
Streams
supported
TTL
supported
Legacy params
supported
Other AWS services
Backups / PITR
supported
Export / import
not supported
Kinesis
supported
Resource policies
supported
Contributor Insights
supported
Account API
supported
Operation-by-operation support

Measured divergence and coverage for each operation. Inspect the full evidence.

Tier 1 - Core

  • batchGetItem 0/15 0.0% 100.0% batchGetItem: supported, diverges on 0.0% of it, covers 100.0% (15 pass)
  • batchWriteItem 0/18 0.0% 100.0% batchWriteItem: supported, diverges on 0.0% of it, covers 100.0% (18 pass)
  • createTable 0/30 0.0% 100.0% createTable: supported, diverges on 0.0% of it, covers 100.0% (30 pass)
  • deleteItem 0/13 0.0% 100.0% deleteItem: supported, diverges on 0.0% of it, covers 100.0% (13 pass)
  • deleteTable 0/3 0.0% 100.0% deleteTable: supported, diverges on 0.0% of it, covers 100.0% (3 pass)
  • describeTable 0/4 0.0% 100.0% describeTable: supported, diverges on 0.0% of it, covers 100.0% (4 pass)
  • getItem 0/39 0.0% 100.0% getItem: supported, diverges on 0.0% of it, covers 100.0% (39 pass)
  • listTables 0/5 0.0% 100.0% listTables: supported, diverges on 0.0% of it, covers 100.0% (5 pass)
  • putItem 0/129 0.0% 100.0% putItem: supported, diverges on 0.0% of it, covers 100.0% (129 pass)
  • query 0/95 0.0% 100.0% query: supported, diverges on 0.0% of it, covers 100.0% (95 pass)
  • scan 0/60 0.0% 100.0% scan: supported, diverges on 0.0% of it, covers 100.0% (60 pass)
  • updateItem 0/70 0.0% 100.0% updateItem: supported, diverges on 0.0% of it, covers 100.0% (70 pass)
  • updateTable 0/15 0.0% 100.0% updateTable: supported, diverges on 0.0% of it, covers 100.0% (15 pass)

Tier 2 - Complete

  • account 0/2 0.0% 100.0% account: supported, diverges on 0.0% of it, covers 100.0% (2 pass)
  • backups 0/5 0.0% 100.0% backups: supported, diverges on 0.0% of it, covers 100.0% (5 pass)
  • contributorInsights 0/2 0.0% 100.0% contributorInsights: supported, diverges on 0.0% of it, covers 100.0% (2 pass)
  • export 0/2 · 2 skip n/a 0.0% export: unsupported, implements none of it (2 skip)
  • kinesis 0/1 0.0% 100.0% kinesis: supported, diverges on 0.0% of it, covers 100.0% (1 pass)
  • partiql 21/186 11.3% 100.0% partiql: partially supported, diverges on 11.3% of it, covers 100.0% (165 pass, 21 fail)
  • resourcePolicy 0/2 0.0% 100.0% resourcePolicy: supported, diverges on 0.0% of it, covers 100.0% (2 pass)
  • streams 0/18 0.0% 100.0% streams: supported, diverges on 0.0% of it, covers 100.0% (18 pass)
  • tags 0/8 0.0% 100.0% tags: supported, diverges on 0.0% of it, covers 100.0% (8 pass)
  • transactions 0/62 0.0% 100.0% transactions: supported, diverges on 0.0% of it, covers 100.0% (62 pass)
  • ttl 0/7 0.0% 100.0% ttl: supported, diverges on 0.0% of it, covers 100.0% (7 pass)
  • updateTable 0/14 0.0% 100.0% updateTable: supported, diverges on 0.0% of it, covers 100.0% (14 pass)
  • vectorSearch 0/36 · 36 skip n/a 0.0% vectorSearch: unsupported, implements none of it (36 skip)

Tier 3 - Strict

  • error-messages 12/185 · 16 skip 6.5% 91.4% error-messages: partially supported, diverges on 6.5% of it, covers 91.4% (157 pass, 12 fail, 16 skip)
  • legacy-api 0/42 0.0% 100.0% legacy-api: supported, diverges on 0.0% of it, covers 100.0% (42 pass)
  • limits 2/164 1.2% 100.0% limits: partially supported, diverges on 1.2% of it, covers 100.0% (162 pass, 2 fail)
  • validation-ordering 1/34 2.9% 100.0% validation-ordering: partially supported, diverges on 2.9% of it, covers 100.0% (33 pass, 1 fail)

Ministack

f90981c85c9b

What you need

Python 3.10+ for the pip route; DynamoDB runs in-process, so no Docker

Installation routes

Measured

Vector search
supported
GSI
partially supported
LSI
partially supported
PartiQL
partially supported
Transactions
supported
Streams
supported
TTL
supported
Legacy params
supported
Other AWS services
Backups / PITR
supported
Export / import
supported
Kinesis
supported
Resource policies
supported
Contributor Insights
supported
Account API
supported
Operation-by-operation support

Measured divergence and coverage for each operation. Inspect the full evidence.

Tier 1 - Core

  • batchGetItem 0/15 0.0% 100.0% batchGetItem: supported, diverges on 0.0% of it, covers 100.0% (15 pass)
  • batchWriteItem 0/18 0.0% 100.0% batchWriteItem: supported, diverges on 0.0% of it, covers 100.0% (18 pass)
  • createTable 0/30 0.0% 100.0% createTable: supported, diverges on 0.0% of it, covers 100.0% (30 pass)
  • deleteItem 0/13 0.0% 100.0% deleteItem: supported, diverges on 0.0% of it, covers 100.0% (13 pass)
  • deleteTable 0/3 0.0% 100.0% deleteTable: supported, diverges on 0.0% of it, covers 100.0% (3 pass)
  • describeTable 0/4 0.0% 100.0% describeTable: supported, diverges on 0.0% of it, covers 100.0% (4 pass)
  • getItem 0/39 0.0% 100.0% getItem: supported, diverges on 0.0% of it, covers 100.0% (39 pass)
  • listTables 0/5 0.0% 100.0% listTables: supported, diverges on 0.0% of it, covers 100.0% (5 pass)
  • putItem 0/129 0.0% 100.0% putItem: supported, diverges on 0.0% of it, covers 100.0% (129 pass)
  • query 0/95 0.0% 100.0% query: supported, diverges on 0.0% of it, covers 100.0% (95 pass)
  • scan 0/60 0.0% 100.0% scan: supported, diverges on 0.0% of it, covers 100.0% (60 pass)
  • updateItem 0/70 0.0% 100.0% updateItem: supported, diverges on 0.0% of it, covers 100.0% (70 pass)
  • updateTable 0/15 0.0% 100.0% updateTable: supported, diverges on 0.0% of it, covers 100.0% (15 pass)

Tier 2 - Complete

  • account 0/2 0.0% 100.0% account: supported, diverges on 0.0% of it, covers 100.0% (2 pass)
  • backups 0/5 0.0% 100.0% backups: supported, diverges on 0.0% of it, covers 100.0% (5 pass)
  • contributorInsights 0/2 0.0% 100.0% contributorInsights: supported, diverges on 0.0% of it, covers 100.0% (2 pass)
  • export 0/2 0.0% 100.0% export: supported, diverges on 0.0% of it, covers 100.0% (2 pass)
  • kinesis 0/1 0.0% 100.0% kinesis: supported, diverges on 0.0% of it, covers 100.0% (1 pass)
  • partiql 1/186 0.5% 100.0% partiql: partially supported, diverges on 0.5% of it, covers 100.0% (185 pass, 1 fail)
  • resourcePolicy 0/2 0.0% 100.0% resourcePolicy: supported, diverges on 0.0% of it, covers 100.0% (2 pass)
  • streams 0/18 0.0% 100.0% streams: supported, diverges on 0.0% of it, covers 100.0% (18 pass)
  • tags 0/8 0.0% 100.0% tags: supported, diverges on 0.0% of it, covers 100.0% (8 pass)
  • transactions 0/62 0.0% 100.0% transactions: supported, diverges on 0.0% of it, covers 100.0% (62 pass)
  • ttl 0/7 0.0% 100.0% ttl: supported, diverges on 0.0% of it, covers 100.0% (7 pass)
  • updateTable 0/14 0.0% 100.0% updateTable: supported, diverges on 0.0% of it, covers 100.0% (14 pass)
  • vectorSearch 0/36 0.0% 100.0% vectorSearch: supported, diverges on 0.0% of it, covers 100.0% (36 pass)

Tier 3 - Strict

  • error-messages 0/185 0.0% 100.0% error-messages: supported, diverges on 0.0% of it, covers 100.0% (185 pass)
  • legacy-api 0/42 0.0% 100.0% legacy-api: supported, diverges on 0.0% of it, covers 100.0% (42 pass)
  • limits 0/164 0.0% 100.0% limits: supported, diverges on 0.0% of it, covers 100.0% (164 pass)
  • validation-ordering 0/34 0.0% 100.0% validation-ordering: supported, diverges on 0.0% of it, covers 100.0% (34 pass)

Know an emulator we're missing?

If there's a DynamoDB emulator or compatible adapter that isn't tracked here, suggest it. Anything that speaks the DynamoDB HTTP API can be run through the same suite and scored against live AWS.

Suggest a target