Post-quantum (ML-DSA-87 / Falcon) cryptographic tokens — Python client for the QuantumVault REST server.
Project description
quantumvault
Python client for QuantumVault — post-quantum (ML-DSA-87, Falcon-512/1024) cryptographic tokens over a zero-dependency REST API.
- Stdlib-only. No
requests, nohttpx, no compiled wheels. One universal wheel, works on Python 3.8+ everywhere (Linux, macOS, Windows, WASM, Alpine). - Talks to
qv-server— the same sovereign Node server available as a Docker image atghcr.io/007krcs/qv-server:4.2.
Install
pip install quantumvault
Run the server
docker run -p 7433:7433 \
-e QV_MASTER_KEY_HEX=$(openssl rand -hex 32) \
ghcr.io/007krcs/qv-server:4.2
30-second demo
from quantumvault import QVClient
qv = QVClient("http://localhost:7433")
key = qv.keygen(label="demo")
iss = qv.issue(
key_id=key["keyId"],
claims={"sub": "user-123", "role": "admin"},
ttl=3600,
)
out = qv.verify(key_id=key["keyId"], token=iss["token"])
assert out["claims"]["sub"] == "user-123"
Error handling
from quantumvault import QVClient, QVVerifyError, QVHTTPError
qv = QVClient("http://localhost:7433")
try:
qv.verify(key_id=key_id, token=tampered_token)
except QVVerifyError as e:
# Signature / expiry / replay / revocation failure.
...
except QVHTTPError as e:
# Server returned 4xx/5xx for non-verification reasons.
print(e.status, e.code, e.message)
License
Apache-2.0.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
quantumvault-4.2.0.tar.gz
(8.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file quantumvault-4.2.0.tar.gz.
File metadata
- Download URL: quantumvault-4.2.0.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d5915804209ee5fa51de111048011cfdc90f810a1489280048da380597ca386
|
|
| MD5 |
26e0557ebb41154af7fbeb488a131b58
|
|
| BLAKE2b-256 |
4daf71008c8123037eaeb4c9c96230f4f7ea3aeacbab4477799099162709f256
|
File details
Details for the file quantumvault-4.2.0-py3-none-any.whl.
File metadata
- Download URL: quantumvault-4.2.0-py3-none-any.whl
- Upload date:
- Size: 9.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e100ba5151b7b6e5cc1d77bf47db831b37fef333c36333cb184d25fd43e64efb
|
|
| MD5 |
d940c34cbda0804d58871882afcbd35a
|
|
| BLAKE2b-256 |
bd181b9351f204f8446b625675b0bdf7b48d8ca056aaa7456a9a2fda4ac44ab5
|