aws-cryptographic-material-providers
AWS Cryptographic Material Providers Library for Python
What it is and what it does
This is AWS's cryptographic materials provider library for Python, designed to manage encryption keys and derived cryptographic material in AWS-integrated applications. It abstracts key management operations—including generation, derivation, and caching—and provides integration points with AWS KMS for key storage and rotation. The library is built on four internal AWS cryptography modules (dynamodb, kms, primitives, and standard-library) and exposes a MaterialProviders client that applications use to create keyrings and crypto materials managers.
The library targets modern Python (3.11+) and is actively maintained. It handles both simple and complex key hierarchies, supports envelope encryption patterns, and provides thread-safe client and manager implementations—though KMS-backed keyrings themselves are not thread-safe due to boto3 session constraints. It's intended for developers building encrypted storage, messaging, or data processing systems that need AWS-native key management without managing raw cryptographic keys directly.
Use it for:
- Encrypt data at rest in S3 or DynamoDB using AWS KMS-managed keys without handling raw key material
- Implement envelope encryption in multi-tenant applications where each tenant's data is encrypted with derived keys
- Build encrypted messaging or event systems that cache cryptographic material to reduce KMS API calls
- Integrate encryption into data pipelines that require key rotation and audit trails via AWS KMS
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides cryptographic material management and key derivation for AWS-integrated encryption workflows, handling key generation, caching, and integration with AWS KMS.
Yes, if you are building AWS-integrated applications that need encryption with centralized key management. The library is actively maintained, has no known vulnerabilities, and low install friction. Install with caution only if your license terms are unclear—verify the actual license before adopting in a commercial project, since the metadata does not declare it explicitly.
Install
aws-cryptographic-material-providers on PyPI
pip
pip install aws-cryptographic-material-providersuv
uv add aws-cryptographic-material-providerspoetry
poetry add aws-cryptographic-material-providersInstalling aws-cryptographic-material-providers
Before you install
Low friction installation as a pure Python wheel. Actively maintained with recent releases. Requires cryptography >= 43.0.1 and boto3 >= 1.35.42 as runtime dependencies, plus system-level prerequisites for the cryptography library on some platforms.
License in practice
License treatment is unclear in the package metadata, so you should verify the actual license terms before adopting this in a commercial or copyleft-sensitive project.
Quickstart
pip install aws-cryptographic-material-providers
from aws_cryptographic_material_providers.material_providers import MaterialProviders
client = MaterialProviders()
# Use client to create keyrings and crypto materials managers
Requires Python 3.11 or later; cryptography >= 43.0.1 and boto3 >= 1.35.42 must be installed. KMS-based keyrings are not thread-safe when shared across threads.
Verify before relying
- Exact license terms and SPDX identifier (metadata shows 'unclear' treatment)
- Whether thread-safe keyring implementations with caching support are planned
- Performance characteristics and throughput limits for high-volume key derivation
Package facts
| License | not declared (unclear) |
| Python support | supports the current Python release (<4.0.0,>=3.11.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — aws-cryptography-internal-dynamodb, aws-cryptography-internal-kms, aws-cryptography-internal-primitives, aws-cryptography-internal-standard-library |
| Maintenance | actively maintained — 172 days since the last release |
| First released | |
| Downloads | 540,368/month — #6,105 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: aws_cryptographic_material_providers-1.11.2-py3-none-any.whl
Tags
More Cryptography packages
Certifi provides Mozilla's curated collection…
copyleft · top 100 on PyPI
cryptographycryptography provides cryptographic recipes and…
permissive · top 100 on PyPI
rsaPure-Python RSA encryption, decryption,…
permissive · top 1,000 on PyPI
pyOpenSSLpyOpenSSL wraps OpenSSL's SSL/TLS functionality…
permissive · top 1,000 on PyPI
azure-identityProvides Microsoft Entra ID token-based…
unclear · top 1,000 on PyPI
PyNaClPyNaCl provides Python bindings to libsodium…
permissive · top 1,000 on PyPI
aws-encryption-sdkEncrypts and decrypts data using AWS KMS keys…
permissive · top 5,000 on PyPI
PyKMIPPyKMIP implements the KMIP protocol for…
permissive · top 15,000 on PyPI
hkdfImplements HMAC-based Key Derivation Function…
permissive · top 15,000 on PyPI
aliyun-python-sdk-kmsProvides Python bindings to Aliyun's Key…
permissive · top 5,000 on PyPI
dynamodb-encryption-sdkEncrypts and decrypts DynamoDB items…
permissive · top 15,000 on PyPI
google-cloud-kmsProvides a Python client library for Google…
permissive · top 1,000 on PyPI
aws-encryption-sdk-cliCommand-line tool to encrypt and decrypt files…
permissive · top 15,000 on PyPI
alibabacloud-kms20160120Provides a Python client library for Alibaba…
permissive · top 15,000 on PyPI
credstashCredStash stores and retrieves secrets using…
permissive · top 15,000 on PyPI