ML-KEM and ML-DSA are now available in cryptography>=48, enabling Python applications to migrate away from classical primitives — but you'll need to rework wire formats since PQ keys and signatures are 1–2 orders of magnitude larger.
Summary
pyca/cryptography is the eleventh most-downloaded PyPI package with 1.2 billion monthly downloads; if it doesn't expose PQ algorithms, the entire Python ecosystem stalls on quantum-resistant migration. Federal deadlines (key establishment by 2030, signatures by 2031) will force this transition, starting now with library support.
Why it matters
pyca/cryptography is the eleventh most-downloaded PyPI package with 1.2 billion monthly downloads; if it doesn't expose PQ algorithms, the entire Python ecosystem stalls on quantum-resistant migration. Federal deadlines (key establishment by 2030, signatures by 2031) will force this transition, starting now with library support.
Implementation verdict
Replaces Ed25519/X25519 with ML-DSA-65 and ML-KEM-768 respectively. Requires protocol redesign: public keys grow from 32B to 1,184–1,952B, signatures from 64B to 3,309B. API mirrors existing asymmetric patterns, so adoption is straightforward for new code. Not a drop-in swap for existing protocols due to size explosions. Worth trying now in new designs; defer in production until protocols (TLS, certificate formats) add native support.
Sources
Dev Signal
Get briefs like this in your inbox — free, every weekday.
100+ sources compressed into one 4-minute read. Ranked, cited, implementation-ready.