Registry /
aws / dynamodb-encryption-sdk
Install & Compatibility
Where this runs
tested against v3.3.0 · 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
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 68.8MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 4.6s · import 0.000s · 69MB
68MB installed
● package 68MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
EncryptedTable
✓ from dynamodb_encryption_sdk import EncryptedTable
✗ from dynamodb_encryption_sdk import CryptoConfig
EncryptedClient
✓ from dynamodb_encryption_sdk import EncryptedClient
EncryptedResource
✓ from dynamodb_encryption_sdk import EncryptedResource
Demonstrates encrypting and decrypting an item using AWS KMS CMP.
import boto3
from dynamodb_encryption_sdk import CryptoConfig, CryptoActions
from dynamodb_encryption_sdk.material_providers.aws_kms import AwsKmsCryptographicMaterialsProvider
from dynamodb_encryption_sdk.structures import TableInfo
kms_cmk_id = 'arn:aws:kms:us-east-1:123456789012:key/abc123'
key_provider = AwsKmsCryptographicMaterialsProvider(key_id=kms_cmk_id)
table_info = TableInfo(name='my_table')
config = CryptoConfig(materials_provider=key_provider, crypto_actions=CryptoActions.DO_NOTHING)
client = boto3.client('dynamodb')
# Encrypt an item before put_item
plaintext_item = {'pk': {'S': 'test'}, 'data': {'S': 'secret'}}
encrypted_item = config.encrypt_item(plaintext_item)
client.put_item(TableName='my_table', Item=encrypted_item)
# Decrypt on get
response = client.get_item(TableName='my_table', Key={'pk': {'S': 'test'}})
decrypted_item = config.decrypt_item(response['Item'])
print(decrypted_item['data']['S'])
Upgrade
Version history
3.3.0latest on PyPI · released Aug 7, 2024
Audit
Dependencies
No dependency data recorded yet.