pydynamodb
Python DB API 2.0 (PEP 249) client for Amazon DynamoDB
Decision gist · record as of 2026-08-14
Yes. PyDynamoDB is actively maintained, has no known vulnerabilities, carries a permissive MIT license, and offers low install friction. It is worth installing if you need to query DynamoDB via standard SQL syntax or integrate DynamoDB with DB API 2.0–aware tools like SQLAlchemy. The production-stable classifier and recent activity support reliability for production use.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- AWS credentials (access key ID and secret access key) and a valid DynamoDB table must be accessible in the specified region.
- Low install friction with a pure-Python wheel and four stable runtime dependencies (boto3, botocore, tenacity, pyparsing).
- Actively maintained with a recent commit on 2026-04-12 and production-stable status.
License · maintenance · safety
MIT (permissive) — MIT license is permissive; you can use, modify, and distribute this package with minimal restrictions, provided you include the license notice.
last release 2026-04-04 (132 days) · last repo commit 2026-04-12 · 22 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 610,894 downloads/mo, #5,763 on PyPI
Alternatives
Verify before relying
from pydynamodb import connect
cursor = connect(aws_access_key_id="key",
aws_secret_access_key="secret",
region_name="us-east-1").cursor()
cursor.execute('SELECT * FROM "table_name"')
print(cursor.fetchall())- Performance characteristics and query latency for large result sets or complex PartiQL operations.
- Extent of transaction support beyond basic begin() and commit() operations.
- Compatibility scope with Superset SQL Lab and graphing features.
What it is and what it does
PyDynamoDB bridges Python's DB API 2.0 standard (PEP 249) to Amazon DynamoDB, letting you query and manipulate DynamoDB tables using SQL-like syntax instead of the native DynamoDB API. It implements PartiQL for DML operations (SELECT, INSERT, UPDATE, DELETE) and extends support to DDL operations (CREATE TABLE, ALTER TABLE, DROP TABLE) with MySQL-like syntax, plus utility commands like SHOW TABLES and DESC TABLE.
The package handles automatic type conversion between Python built-in types and DynamoDB's type system, including dates and datetimes, and provides both standard cursor iteration and dict-based result sets for JSON conversion. It includes transaction and batch operation support, and offers a SQLAlchemy dialect for use with ORMs and tools like Superset. Runtime dependencies are boto3 and botocore for AWS communication, tenacity for retry logic, and pyparsing for query parsing.
Use it for
- Query DynamoDB tables using standard SQL SELECT syntax without learning the native DynamoDB API.
- Build ETL pipelines that read from and write to DynamoDB using familiar DB API 2.0 cursor patterns.
- Integrate DynamoDB with SQLAlchemy-based applications or Superset dashboards via the provided dialect.
- Perform batch inserts and updates with automatic parameter serialization and type conversion.
- Create or alter DynamoDB table schemas using MySQL-like DDL statements from Python code.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
PyDynamoDB is actively maintained, has no known vulnerabilities, carries a permissive MIT license, and offers low install friction. It is worth installing if you need to query DynamoDB via standard SQL syntax or integrate DynamoDB with DB API 2.0–aware tools like SQLAlchemy. The production-stable classifier and recent activity support reliability for production use.
Install
pydynamodb on PyPI
Before you install
Low install friction with a pure-Python wheel and four stable runtime dependencies (boto3, botocore, tenacity, pyparsing). Actively maintained with a recent commit on 2026-04-12 and production-stable status.
AWS credentials (access key ID and secret access key) and a valid DynamoDB table must be accessible in the specified region.
License in practice
MIT license is permissive; you can use, modify, and distribute this package with minimal restrictions, provided you include the license notice.
Quickstart
from pydynamodb import connect
cursor = connect(aws_access_key_id="key",
aws_secret_access_key="secret",
region_name="us-east-1").cursor()
cursor.execute('SELECT * FROM "table_name"')
print(cursor.fetchall())
Verify before relying
- Performance characteristics and query latency for large result sets or complex PartiQL operations.
- Extent of transaction support beyond basic begin() and commit() operations.
- Compatibility scope with Superset SQL Lab and graphing features.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagesboto3botocoretenacitypyparsing |
| Maintenance | Actively maintained 132 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 610,894 / month, #5,763 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 :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9 |
Evidence: pydynamodb-0.8.2-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 sql client”
- pydynamodbPyDynamoDB is a DB API 2.0 client for Amazon DynamoDB that executes…
- rocksetPython client library for the Rockset API, enabling programmatic…
- pynamodbPynamoDB provides a Pythonic ORM-like interface to Amazon DynamoDB,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Front-Ends packages
SQLAlchemy is a Python SQL toolkit and Object Relational Mapper (ORM) that provides both a high-level ORM layer for declarative object persistence and a Core SQL construction system for direct database abstraction and query building.
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.
Alembic generates and manages database schema migrations for SQLAlchemy applications, handling version control of database structure changes with support for upgrades, downgrades, and auto-generation from model changes.
Install it if you use SQLAlchemy and need to version-control schema changes; skip it only if you manage migrations manually or use a different ORM entirely.
A Python client library for connecting to and querying Weaviate, a vector database that enables semantic search and AI-powered data retrieval.
A Python client library that connects to Databricks clusters and SQL warehouses using a Thrift-based protocol, conforming to the Python DB API 2.0 specification and supporting Arrow-based data exchange.
Install it if you need to query Databricks clusters or SQL warehouses from Python.
Psycopg 3 is a PostgreSQL database adapter for Python that enables applications to connect to, query, and manage PostgreSQL databases using Python code.
Install it if you need to connect Python to PostgreSQL.
See also dmpython · dyntastic · py-partiql-parser · pyathenajdbc · pynamodb · pyhdb · PyAthena · databricks-dbapi · redshift-connector · amazon-dax-client