Files
zeekay bff34dd87a brand-neutral: drop LUX_ prefix from env/symbols/exports
Brand stays in import path only; symbols, env vars, and exports are
brand-neutral. One-release backwards-compat shim reads deprecated
LUX_ names with deprecation log.

Env: CRYPTO_BACKEND, CRYPTO_DIR, CRYPTO_BUILD_DIR, CRYPTO_LIB_DIR,
CRYPTO_LIB are canonical.

Rust: idiomatic Secp256k1Status enum; extern fn names dropped lux_ prefix.

TS/Python: cryptoAvailable / crypto_available; FFI symbol strings drop
lux_ prefix to match renamed C-ABI in luxcpp/crypto.

cabi/main.go: //export names drop lux_ prefix (mlkem768_*, mldsa65_*).
2025-12-27 20:22:38 -08:00

23 lines
658 B
Python

"""luxcrypto — Python bindings for Lux post-quantum cryptography.
One library, one implementation. Uses libluxcrypto (Go/circl) via ctypes.
Same PQ crypto from blockchain to AI agents.
from luxcrypto import mlkem768, mldsa65
pk, sk = mlkem768.keypair()
ct, ss_enc = mlkem768.encapsulate(pk)
ss_dec = mlkem768.decapsulate(sk, ct)
assert ss_enc == ss_dec
pk, sk = mldsa65.keypair()
sig = mldsa65.sign(sk, b"hello")
assert mldsa65.verify(pk, b"hello", sig)
"""
from luxcrypto._ffi import crypto_available
from luxcrypto import mlkem768, mldsa65
__version__ = "0.1.0"
__all__ = ["mlkem768", "mldsa65", "crypto_available"]