About this project
Dynoxide is a DynamoDB emulator implemented in Rust with SQLite as its storage layer. It is positioned as a lighter alternative to DynamoDB Local for local development, testing and CI, and can be used in several ways: as a standalone HTTP server exposing a DynamoDB-compatible API, as an MCP (Model Context Protocol) server for coding agents, as an embeddable library for Rust and iOS applications, and compiled to WebAssembly for browser use.
Installation and running options include npx (npx dynoxide --port 8000), an npm dev dependency, a Docker image (ghcr.io/nubo-db/dynoxide) intended as a drop-in for amazon/dynamodb-local, plus Homebrew, Cargo and pre-built binaries. Any AWS SDK or DynamoDB client can be pointed at the local endpoint. A --log quiet flag suppresses informational startup and shutdown messages on stderr.
The README reports benchmark comparisons against DynamoDB Local and LocalStack covering cold startup, GetItem latency, PutItem throughput, test-suite runtimes, download and on-disk size, and idle memory. It also notes that the project is continuously verified against real DynamoDB by Parity Suite, a public DynamoDB conformance suite, with live standings published rather than a pinned snapshot; the README discloses that Dynoxide and Parity Suite share a maintainer. The WebAssembly build is scored separately and currently skips more operations than other targets.
Supported functionality spans tables, items, query and scan, batches, transactions, PartiQL, streams, TTL and tags, with GSI and LSI support, expression syntax, and DynamoDB-compatible pagination, validation and error codes. Documented limitations include unimplemented cloud-only operations (backups and point-in-time restore, global tables, Kinesis streaming, resource policies, capacity management), ConsistentRead being accepted but having no effect because SQLite is strongly consistent, streams exposing a single shard with paging parameters ignored, and transaction-contention errors not being emulated. The project is explicitly aimed at local development, testing and CI rather than production use.
Documentation covers installation, the HTTP server, Testcontainers usage, the MCP server, DynamoDB Streams, an import CLI with table filtering and anonymisation, WebAssembly, library embedding and feature flags, compatibility, versioning and releasing. The README distinguishes a crate version (Rust library only) from a product version covering the binary, npm packages, container images, browser engine and GitHub Action. Dynoxide is dual-licensed under MIT and Apache 2.0, is a clean-room Rust implementation, and acknowledges dynalite as an influence on its API semantics and validation logic. It states it is not affiliated with, endorsed by or sponsored by Amazon.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.