Skip to main content

Post-quantum (ML-DSA-87 / Falcon) cryptographic tokens — Python client for the QuantumVault REST server.

Project description

quantumvault

PyPI Python versions Apache-2.0

Python client for QuantumVault — post-quantum (ML-DSA-87, Falcon-512/1024) cryptographic tokens over a zero-dependency REST API.

  • Stdlib-only. No requests, no httpx, 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 at ghcr.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


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quantumvault-4.2.0-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

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

Hashes for quantumvault-4.2.0.tar.gz
Algorithm Hash digest
SHA256 0d5915804209ee5fa51de111048011cfdc90f810a1489280048da380597ca386
MD5 26e0557ebb41154af7fbeb488a131b58
BLAKE2b-256 4daf71008c8123037eaeb4c9c96230f4f7ea3aeacbab4477799099162709f256

See more details on using hashes here.

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

Hashes for quantumvault-4.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e100ba5151b7b6e5cc1d77bf47db831b37fef333c36333cb184d25fd43e64efb
MD5 d940c34cbda0804d58871882afcbd35a
BLAKE2b-256 bd181b9351f204f8446b625675b0bdf7b48d8ca056aaa7456a9a2fda4ac44ab5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page