$npx skillfedfor your agent

liboqs-python

Python bindings for liboqs, providing post-quantum public key cryptography algorithms

With conditionsPyPI CryptographyReleased Jul 2026114.0K downloads / mopermissive licensePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — liboqs_python-0.16.0-py3-none-any.whl
v0.16.0 · released 2026-07-23 · Python >=3.10 · 1 runtime deps: tomli

Yes, if you are prototyping or researching post-quantum cryptography. The package is actively maintained, has low install friction, and provides a straightforward Python interface to quantum-resistant algorithms. However, do not use for production security-critical systems yet—the documentation explicitly states this is for prototyping, and the security of the underlying algorithms may change as research advances. Verify that the specific algorithms you need are suitable for your use case.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires liboqs C library; on first import, liboqs-python will automatically download and build it if not found system-wide.
  • Requires git, CMake, and C compiler.
  • Python 3.10 or later required.

License · maintenance · safety

permissive license (permissive) — MIT License permits unrestricted use, modification, and distribution in commercial and private projects with minimal obligations—only attribution and license inclusion required.

last release 2026-07-23 (22 days) · last repo commit 2026-08-08 · 242 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 114,021 downloads/mo, #12,317 on PyPI

Verify before relying

pip install liboqs-python

import oqs

# Enumerate available mechanisms
kems = oqs.get_enabled_kem_mechanisms()
sigs = oqs.get_enabled_sig_mechanisms()

# Create a key encapsulation instance
kem = oqs.KeyEncapsulation('ML-KEM')
public_key = kem.generate_keypair()
  • Whether the automatic liboqs build on first import succeeds reliably across all target platforms without manual intervention.
  • Performance characteristics and memory overhead of the Python wrapper compared to direct C library usage.
  • Maturity and cryptographic validation status of the quantum-resistant algorithms exposed by version 0.16.0.
  • Production readiness of the algorithms; documentation states security may change as research advances.
Same gist for agents: .md · .json

What it is and what it does

liboqs-python is a Python 3 wrapper around the Open Quantum Safe project's liboqs C library, exposing post-quantum cryptographic algorithms for key encapsulation and digital signatures. It provides three main classes—KeyEncapsulation, Signature, and StatefulSignature—each supporting multiple quantum-resistant mechanisms that can be enumerated at runtime. The package is designed for prototyping and evaluating quantum-resistant cryptography rather than production deployment of cryptographically proven algorithms.

The wrapper handles the complexity of interfacing with the underlying C library, including automatic downloading and building of liboqs on first import if no system-wide installation is found. It requires Python 3.10 or later and has minimal Python dependencies. The project is actively maintained, tested on Linux, macOS, and Windows, and includes examples and unit tests demonstrating key encapsulation, signature, and random number generation workflows.

Use it for

  • Prototype quantum-resistant key exchange and signature schemes in Python applications before production deployment.
  • Evaluate the performance and correctness of post-quantum cryptographic algorithms in research or academic settings.
  • Build hybrid cryptographic systems that combine classical and quantum-resistant algorithms for forward secrecy.
  • Generate deterministic key pairs from seeds for reproducible testing or key derivation workflows.
  • Integrate post-quantum signatures into existing Python cryptographic pipelines as the algorithms mature.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you are prototyping or researching post-quantum cryptography.

The package is actively maintained, has low install friction, and provides a straightforward Python interface to quantum-resistant algorithms. However, do not use for production security-critical systems yet—the documentation explicitly states this is for prototyping, and the security of the underlying algorithms may change as research advances. Verify that the specific algorithms you need are suitable for your use case.

Install

liboqs-python on PyPI

Before you install

Low install friction; pure Python wheel with a single runtime dependency. Active maintenance with recent release 22 days old.

Requires liboqs C library; on first import, liboqs-python will automatically download and build it if not found system-wide. Requires git, CMake, and C compiler. Python 3.10 or later required.

License in practice

MIT License permits unrestricted use, modification, and distribution in commercial and private projects with minimal obligations—only attribution and license inclusion required.

Quickstart

pip install liboqs-python

import oqs

# Enumerate available mechanisms
kems = oqs.get_enabled_kem_mechanisms()
sigs = oqs.get_enabled_sig_mechanisms()

# Create a key encapsulation instance
kem = oqs.KeyEncapsulation('ML-KEM')
public_key = kem.generate_keypair()

Verify before relying

  • Whether the automatic liboqs build on first import succeeds reliably across all target platforms without manual intervention.
  • Performance characteristics and memory overhead of the Python wrapper compared to direct C library usage.
  • Maturity and cryptographic validation status of the quantum-resistant algorithms exposed by version 0.16.0.
  • Production readiness of the algorithms; documentation states security may change as research advances.

Package facts

Licensepermissive license permissive
Python supportSupports the current Python release >=3.10
Install frictionLow. Pure-Python wheel
Runtime dependencies
1 package
tomli
MaintenanceActively maintained 22 days since the last release
Last repo commit
First released
Downloads114,021 / month, #12,317 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14

Evidence: liboqs_python-0.16.0-py3-none-any.whl

Tags

Capabilities
post-quantum cryptography pythonquantum-resistant key encapsulationliboqs python bindingsquantum-safe signaturescryptographic algorithms wrapperstateful signature schemesopen quantum safe python
Topics
post-quantum-cryptoquantum-safecryptography-research

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “quantum-resistant key encapsulation”

  • liboqs-pythonPython 3 wrapper for the liboqs C library, providing post-quantum…
  • pqcryptoProvides Python bindings to post-quantum cryptographic algorithms…
  • pyhpkePyHPKE implements HPKE (Hybrid Public Key Encryption) as defined in…

Give your agent the search over MCP, or paste the wish link into any chat.

More Cryptography packages

certifi Worth it
PyPI · Cryptography · released Jul 2026

Certifi provides Mozilla's curated collection of root SSL certificates for Python applications to validate TLS hosts and verify certificate trustworthiness.

MPL-2.0pure Python · 3.7+
1.9Bdownloads / mo
cryptography Worth it
PyPI · Cryptography · released Jul 2026

cryptography provides cryptographic recipes and low-level primitives for symmetric encryption, message digests, key derivation, and other common cryptographic algorithms in Python.

Apache-2.0 OR BSD-3-Clausecompiled wheel
1.5Bdownloads / mo
rsa Skip
PyPI · Cryptography · released Apr 2025

Pure-Python RSA encryption, decryption, signing, and key generation following PKCS#1 v1.5, with command-line and library interfaces.

Apache-2.0pure Pythonabandoned
299.6Mdownloads / mo
pyOpenSSL With conditions
PyPI · Python Modules · released Aug 2026

pyOpenSSL wraps OpenSSL's SSL/TLS functionality for Python, providing high-level connection objects and certificate handling through a Python-friendly interface around OpenSSL's cryptographic operations.

Apache-2.0pure Python · 3.9+
294.2Mdownloads / mo
azure-identity Worth it
PyPI · Cryptography · released Mar 2026

Provides Microsoft Entra ID token-based authentication for Azure SDK clients through a set of TokenCredential implementations that handle OAuth flows and managed identity support.

license unclearpure Python · 3.9+
247.2Mdownloads / mo
PyNaCl Worth it
PyPI · Cryptography · released Jan 2026

PyNaCl provides Python bindings to libsodium for digital signatures, secret-key and public-key encryption, hashing, message authentication, and password-based key derivation.

Apache-2.0compiled wheel · 3.8+
246.6Mdownloads / mo

See also pqcrypto · openfermion · PGPy13 · cirq-core · dilithium-py · qiskit-algorithms · cirq-aqt · PGPy · cirq-pasqal · SLH-DSA