"Remember, the reason to do this now is because there’s no emergency. And because you will make your systems crypto agile, which is always a good idea," the blog post on schneier.com says.
pyca/cryptography: ML-KEM and ML-DSA are implemented
The Python cryptography library pyca/cryptography now includes implemented support for ML-KEM and ML-DSA. The source describes ML-KEM as the NIST-standard key-establishment primitive and ML-DSA as the NIST-standard digital-signature primitive. Together, those primitives address the two core tasks of secure communications: establishing keys and producing signatures.
Sovereign Tech Agency provided funding
The work was funded by the Sovereign Tech Agency, according to the source. That funding supported the addition of the two NIST-standard primitives into pyca/cryptography, making them available to Python projects that use that library.

This site is the portfolio.
OSINTSights runs on Cloudflare Workers, D1, R2, and Vectorize, with an AI pipeline on Hetzner ARM. Nubivance designed, built, and operates it. We do the same for clients.
See what we buildOne pip-install away for the entire Python ecosystem
The change is positioned as broadly accessible: "Post-quantum cryptography is now one pip-install away for the entire Python ecosystem," the post states. In practical terms, the implemented primitives are available through the widely used pyca/cryptography package, meaning downstream Python applications that depend on that package can obtain the new primitives through the standard package distribution mechanism.
What this means for Python developers and security teams
- Python developers can, according to the post, add NIST-standard post-quantum primitives via pyca/cryptography and the normal pip workflow; teams that maintain Python libraries or applications will have the primitives available without adopting a bespoke package or separate distribution channel.
- Security teams responsible for cryptographic posture now have an entry point for integrating ML-KEM and ML-DSA into Python-based code paths, and can use the availability to plan testing and integration work toward a crypto-agile architecture.
Why the timing matters: no emergency, but build agility
The source explicitly frames the timing as deliberate rather than reactive. It advises adopting these primitives now because "there’s no emergency" and because doing so will help teams make their systems "crypto agile." The post thus connects availability with preparation: these primitives are being made available so organizations can change algorithms and systems deliberately, rather than in response to a crisis.
The technical facts reported are concise: two NIST-standard primitives (ML-KEM and ML-DSA) were implemented in pyca/cryptography, the work was funded by the Sovereign Tech Agency, and the distribution path is the Python ecosystem’s standard package manager. Taken together, those facts describe a low-friction route for Python projects to experiment with, adopt, or plan for post-quantum key establishment and digital signatures while maintaining the flexibility the source calls "crypto agile."
One clear question the facts leave open—posed by the same logic the post advances—is whether organizations will use this immediate availability to build that agility now, incrementally and in testing, so they are not forced into hurried transitions in the future. The source makes the case for preparation; the next step will be whether teams take it.
https://www.schneier.com/blog/archives/2026/08/python-now-has-a-post-quantum-encryption-library.html




