Registry / aws / aws-cryptography-internal-dynamodb

aws-cryptography-internal-dynamodb

JSON →
library1.11.2pypiunverified

This library, `aws-cryptography-internal-dynamodb` (version 1.11.2), is an internal dependency of the AWS SDK for DynamoDB Encryption for Python (`aws-sdk-dynamodb-encryption`). It provides core cryptographic components but is not intended for direct installation or use by end-users. Users seeking client-side encryption for DynamoDB should install the `aws-sdk-dynamodb-encryption` package, which offers the public API and manages this internal dependency. It follows an irregular release cadence tied to the parent SDK's updates. This package requires Python >=3.11.0, <4.0.0.

pip install aws-cryptography-internal-dynamodb
INSTALL
IMPORT
SIG · AWS-CRYPTOGRAPHY-I
A
aws-cryptography-internal-dynamodb
awsenv1.11.2
Install
Import
Disk
Pass rate
0/ 10
Env Coverage0 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.11.2 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
glibc
py 3.10
✕ build_error
✕ build_error
py 3.11
2/4 runs
2/4 runs
py 3.12
2/4 runs
2/4 runs
py 3.13
2/4 runs
2/4 runs
py 3.9
✕ build_error
✕ build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

EncryptedTable
from aws_dynamodb_encryption_sdk.encrypted.table import EncryptedTable
This symbol is from the parent library, `aws-sdk-dynamodb-encryption`, which depends on this internal package. Do not attempt to import from `aws-cryptography-internal-dynamodb` directly, as it does not expose public interfaces.
DynamoDbEncryptionConfig
from aws_dynamodb_encryption_sdk.identifiers import DynamoDbEncryptionConfig
Similar to `EncryptedTable`, this is part of the public API provided by the `aws-sdk-dynamodb-encryption` library, not this internal dependency.

This quickstart demonstrates the typical usage pattern for the AWS DynamoDB Encryption Client. Note that the imports and `EncryptedTable` class are provided by the *parent* library, `aws-sdk-dynamodb-encryption`, not `aws-cryptography-internal-dynamodb` directly. Ensure you have the `aws-sdk-dynamodb-encryption` package installed and configured with appropriate AWS credentials and a KMS key ARN. The example shows putting and getting an item, with client-side encryption and decryption handled automatically.

import os import boto3 from aws_dynamodb_encryption_sdk.encrypted.table import EncryptedTable from aws_encryption_sdk.key_providers.kms import KMSKeyring # NOTE: This quickstart demonstrates usage of the PARENT library: `aws-sdk-dynamodb-encryption`. # This internal package (`aws-cryptography-internal-dynamodb`) is NOT for direct use. # Ensure you have installed the public-facing SDK: `pip install aws-sdk-dynamodb-encryption` # Configuration TABLE_NAME = os.environ.get('DYNAMODB_TABLE_NAME', 'my-encrypted-table') KMS_KEY_ARN = os.environ.get('KMS_KEY_ARN', 'arn:aws:kms:us-west-2:123456789012:key/your-kms-key-id') REGION = os.environ.get('AWS_REGION', 'us-west-2') # Initialize boto3 DynamoDB client dynamodb_client = boto3.client('dynamodb', region_name=REGION) # Create a KMS Keyring keyring = KMSKeyring(key_ids=[KMS_KEY_ARN]) # Create an EncryptedTable instance for your DynamoDB table # The master key provider is used to encrypt/decrypt data on the client side encrypted_table = EncryptedTable( table=boto3.resource('dynamodb', region_name=REGION).Table(TABLE_NAME), keyring=keyring ) # Example: Put an item into the encrypted table item_id = 'item123' item_data = {'id': item_id, 'data': 'sensitive_info', 'cleartext_attribute': 'visible_data'} print(f"Putting item: {item_data}") encrypted_table.put_item(Item=item_data) # Example: Get an item from the encrypted table retrieved_item = encrypted_table.get_item(Key={'id': item_id})['Item'] print(f"Retrieved item: {retrieved_item}") # Verify decryption (sensitive_info should be visible) assert retrieved_item['data'] == 'sensitive_info' print("Item successfully encrypted and decrypted.")
Debug
Known issues
breakingThis package (`aws-cryptography-internal-dynamodb`) is an internal dependency of the AWS SDK for DynamoDB Encryption. It is not designed for direct consumption, and its internal components are subject to breaking changes without notice or adherence to semantic versioning for public APIs.
fix
Always install and interact with the public-facing SDK: `aws-sdk-dynamodb-encryption`. This SDK manages its dependencies, including this package, and provides a stable, documented API.
affects: All versions
gotchaInstalling `aws-cryptography-internal-dynamodb` alone does NOT provide the AWS DynamoDB Encryption Client SDK. You will not find the main `aws_dynamodb_encryption_sdk` module or its public classes after installing only this dependency.
fix
To use client-side encryption for DynamoDB, you MUST install the full AWS SDK for DynamoDB Encryption: `pip install aws-sdk-dynamodb-encryption`.
affects: All versions
gotchaTrying to import directly from `aws_cryptography_internal_dynamodb` will likely result in `ModuleNotFoundError` for intended classes or `AttributeError` for methods, as it exposes no public interfaces designed for direct user interaction.
fix
All public interfaces (e.g., `EncryptedTable`, `KMSKeyring`) are provided by `aws_dynamodb_encryption_sdk`. Import from that module instead.
affects: All versions
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'aws_dynamodb_encryption_sdk'
Attempting to import from the public DynamoDB Encryption SDK module (`aws_dynamodb_encryption_sdk`) after only installing its internal dependency (`aws-cryptography-internal-dynamodb`).
fix
Install the full AWS SDK for DynamoDB Encryption: `pip install aws-sdk-dynamodb-encryption`.
AttributeError: module 'aws_cryptography_internal_dynamodb' has no attribute 'EncryptedTable'
Mistakenly attempting to use `aws-cryptography-internal-dynamodb` as if it were the public-facing DynamoDB Encryption SDK and trying to access its classes.
fix
All public interfaces for DynamoDB client-side encryption are provided by `aws-sdk-dynamodb-encryption`. Install that library and import classes like `EncryptedTable` from `aws_dynamodb_encryption_sdk`.
Upgrade
Version history
1.11.2latest on PyPI · released Feb 23, 2026
Audit
Dependencies

No dependency data recorded yet.

Agent activity
20 hits · last 30 days
node
16
OpenAI (training)
1
Resources

No resource links recorded.

aws-cryptography-internal-dynamodb — pip install aws-cryptography-internal-dynamodb · libregistry