dynamodb-json
A DynamoDB json util from and to python objects
Decision gist · record as of 2026-08-14
Yes, if you are already using boto3 with DynamoDB and want to avoid manual type marshalling. The package is mature, has low install friction, and carries no known vulnerabilities. However, maintenance is dormant (no release in 818 days), so verify that it remains compatible with your Python and boto3 versions before adopting. License terms are unclear—confirm the Mozilla license variant before use in proprietary projects.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low friction installation with three lightweight runtime dependencies (simplejson, boto3, six).
- Maintenance is dormant—last commit was 2024-09-03 and no release in 818 days—but the package is marked Production/Stable and carries 168 repository stars, suggesting it is mature and stable enough for its narrow scope.
License · maintenance · safety
Mozilla (unclear) — License is marked 'Mozilla' in raw metadata but SPDX is null and treatment is unclear, creating ambiguity about exact license terms. Verify the actual license file in the repository before adopting in proprietary or copyleft-sensitive projects.
last release 2024-05-18 (818 days) · last repo commit 2024-09-03 · 168 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 3,264,414 downloads/mo, #2,679 on PyPI
Alternatives
Verify before relying
pip install dynamodb-json
from dynamodb_json import json_util as json
from decimal import Decimal
python_obj = {"name": "John", "balance": Decimal("19.2")}
dynamodb_json_str = json.dumps(python_obj)
python_obj_back = json.loads(dynamodb_json_str)- Exact Mozilla license variant (MPL 1.1, 2.0, etc.) and any copyleft obligations—SPDX is null and treatment is unclear.
- Whether dormant maintenance (no release in 818 days) poses risk for future Python or boto3 compatibility issues.
- Performance characteristics with large or deeply nested DynamoDB documents.
What it is and what it does
dynamodb-json is a lightweight serialization utility that mirrors Python's json.loads() and json.dumps() API to convert between plain Python objects and DynamoDB's type-annotated JSON format. DynamoDB stores data with explicit type markers (e.g., {"S": "value"} for strings, {"N": "4"} for numbers), and this package handles that marshalling automatically, including special handling for Decimal, datetime, UUID, and nested structures.
It sits between your Python code and boto3's DynamoDB client, letting you work with native Python types and serialize them to DynamoDB's wire format on demand. The package depends on simplejson, boto3, and six, and supports Python 2.7 through 3.12, though maintenance has been dormant since mid-2024.
Use it for
- Serialize Python dictionaries with Decimal and datetime objects into DynamoDB JSON before sending via boto3 put_item or update_item calls.
- Deserialize DynamoDB query or scan responses back into plain Python objects with automatic type reconstruction.
- Build data transformation pipelines that move records between DynamoDB and other systems while preserving type semantics.
- Simplify test fixtures by converting readable Python objects into DynamoDB format for mock or integration tests.
- Handle nested and complex data structures (lists, sets, nested dicts) with automatic type annotation for DynamoDB compatibility.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are already using boto3 with DynamoDB and want to avoid manual type marshalling.
The package is mature, has low install friction, and carries no known vulnerabilities. However, maintenance is dormant (no release in 818 days), so verify that it remains compatible with your Python and boto3 versions before adopting. License terms are unclear—confirm the Mozilla license variant before use in proprietary projects.
Install
dynamodb-json on PyPI
Before you install
Low friction installation with three lightweight runtime dependencies (simplejson, boto3, six). Maintenance is dormant—last commit was 2024-09-03 and no release in 818 days—but the package is marked Production/Stable and carries 168 repository stars, suggesting it is mature and stable enough for its narrow scope.
License in practice
License is marked 'Mozilla' in raw metadata but SPDX is null and treatment is unclear, creating ambiguity about exact license terms. Verify the actual license file in the repository before adopting in proprietary or copyleft-sensitive projects.
Quickstart
pip install dynamodb-json
from dynamodb_json import json_util as json
from decimal import Decimal
python_obj = {"name": "John", "balance": Decimal("19.2")}
dynamodb_json_str = json.dumps(python_obj)
python_obj_back = json.loads(dynamodb_json_str)
Verify before relying
- Exact Mozilla license variant (MPL 1.1, 2.0, etc.) and any copyleft obligations—SPDX is null and treatment is unclear.
- Whether dormant maintenance (no release in 818 days) poses risk for future Python or boto3 compatibility issues.
- Performance characteristics with large or deeply nested DynamoDB documents.
Package facts
| License | Mozilla unclear |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagessimplejsonboto3six |
| Maintenance | Dormant 818 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,264,414 / month, #2,679 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 2.7Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9 |
Evidence: dynamodb_json-1.4.2-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “dynamodb json serialization”
- dynamodb-jsonConverts Python objects to and from DynamoDB's native JSON format,…
- pynamodbPynamoDB provides a Pythonic ORM-like interface to Amazon DynamoDB,…
- dynamo-jsonConverts between DynamoDB's native JSON format (with type…
Give your agent the search over MCP, or paste the wish link into any chat.
More Database packages
psycopg2-binary is a PostgreSQL database adapter for Python that implements the DB API 2.0 specification, enabling Python applications to connect to and query PostgreSQL databases with thread-safe concurrent operations.
Python client library for connecting to and executing commands against Redis key-value stores, supporting both synchronous and asynchronous operations.
Install it if your application needs to interact with Redis; the only prerequisite is a running Redis server instance.
YDB Python SDK is the official client library for connecting to and querying YDB databases from Python applications.
Install it if you need to connect Python applications to YDB databases.
Connects Python applications to Snowflake data warehouses using the DB API 2.0 specification, enabling SQL queries, data transfers, and warehouse operations.
sqlparse tokenizes SQL text into a tree of statements, clauses, and expressions, and provides functions to split scripts, format queries, and inspect parsed tokens without validating dialect or syntax.
Install it if you need to manipulate, format, or analyze SQL text programmatically.
Provides base adapter protocols and shared functionality that database adapters use to integrate with dbt-core, handling connections, dialect translation, relation caching, and core interface management.
See also dynamo-json · json-encoder · pynamodb-attributes · typing-json · json-flatten · phpserialize · pynamodb · standardjson · paradict · publish-event-sns