Skip to main content

Turn your computer into a Kanad quantum chemistry compute server

Project description

kanad-compute

Turn your computer into a quantum chemistry compute server for Kanad.

Run VQE calculations, molecular simulations, and quantum analyses on your own hardware — then connect to the Kanad platform for visualization, collaboration, and reporting.

Quick Start

# Install
pip install kanad-compute

# Initialize (creates config + API key)
kanad-compute init

# Start the server
kanad-compute start

Then paste your API key into Kanad > Profile > Backend Credentials > Kanad Compute.

What It Does

kanad-compute runs a local FastAPI server that executes quantum chemistry calculations using the Kanad framework. When you select "Kanad Compute" as a backend in the Kanad web app, your calculations run on YOUR machine instead of cloud services.

Supported solvers: PhysicsVQE, HardwareVQE, HybridSubspaceVQE, SQD, KrylovSQD, VQE, VarQITE, qEOM, EfficientVQE, ExcitedStates

Supported backends: Statevector (local), Qiskit Aer (CPU/GPU), IBM Quantum (with your credentials), IonQ (with your credentials)

Requirements

  • Python 3.11+
  • 8GB+ RAM recommended
  • Kanad library installed (pip install kanad or install from source)

Installation

From GitHub (recommended)

# Clone the repo
git clone https://github.com/mk0dz/kanad-compute.git
cd kanad-compute

# Install in development mode
pip install -e .

# With GPU acceleration
pip install -e ".[gpu]"

# With IBM Quantum hardware
pip install -e ".[ibm]"

# With IonQ
pip install -e ".[ionq]"

# Everything
pip install -e ".[all]"

Note: You also need the Kanad framework installed. If you don't have it:

git clone https://github.com/mk0dz/kanad.git
cd kanad && pip install -e .

From PyPI (coming soon)

pip install kanad-compute

CLI Commands

kanad-compute init

Initialize configuration. Creates ~/.kanad-compute/config.json with a unique node ID and API key.

kanad-compute init --port 7440 --max-qubits 20 --gpu

Options:

  • --port — Server port (default: 7440)
  • --max-qubits — Maximum qubits to accept (default: 20)
  • --gpu / --no-gpu — Enable GPU acceleration
  • --ibm-token — IBM Quantum API token
  • --ionq-key — IonQ API key

kanad-compute start

Start the compute server.

kanad-compute start --host 0.0.0.0 --port 7440

kanad-compute status

Check server status and system info.

kanad-compute status

kanad-compute key

Display your API key (for pasting into Kanad app).

kanad-compute key

kanad-compute configure

Update configuration without reinitializing.

kanad-compute configure --ibm-token YOUR_TOKEN --max-qubits 25

Connecting to Kanad

  1. Run kanad-compute start
  2. Copy your API key: kanad-compute key
  3. Go to kanad.xyz > Profile > Backend Credentials
  4. Under "Kanad Compute", paste the API key and set the server URL (http://localhost:7440)
  5. Click "Test" to verify the connection
  6. Select "Kanad Compute" as your backend when running experiments

API Endpoints

Method Endpoint Description
GET /health Server health check (no auth)
GET /info System info and capabilities
POST /jobs Submit a calculation job
GET /jobs/{id} Get job status and results
POST /jobs/{id}/cancel Cancel a running job
GET /jobs List recent jobs

All endpoints except /health require Bearer token authentication.

Architecture

Your Machine
+-- kanad-compute server (FastAPI, port 7440)
|   +-- /health, /info
|   +-- /jobs (submit, poll, cancel)
|   +-- Thread Pool Executor
|       +-- Kanad Solvers (PhysicsVQE, HardwareVQE, ...)
|       +-- Kanad Backends (statevector, aer, ibm, ionq)
+-- Config: ~/.kanad-compute/config.json

Kanad Web App (kanad.xyz)
+-- Profile > Backend Credentials > Kanad Compute
+-- Schrodinger Lab > Select "Kanad Compute" backend
+-- Jobs proxied to your machine via API key auth

Configuration

Config is stored at ~/.kanad-compute/config.json:

{
  "node_id": "uuid",
  "api_key": "your-api-key",
  "port": 7440,
  "max_qubits": 20,
  "max_workers": 2,
  "gpu_enabled": false,
  "ibm_api_token": null,
  "ionq_api_key": null
}

License

Apache 2.0 — see LICENSE.

Links

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

kanad_compute-0.2.1.tar.gz (819.6 kB view details)

Uploaded Source

Built Distribution

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

kanad_compute-0.2.1-py3-none-any.whl (1.0 MB view details)

Uploaded Python 3

File details

Details for the file kanad_compute-0.2.1.tar.gz.

File metadata

  • Download URL: kanad_compute-0.2.1.tar.gz
  • Upload date:
  • Size: 819.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for kanad_compute-0.2.1.tar.gz
Algorithm Hash digest
SHA256 2959f14c0422dfa06bddac0eb8558e35e9c3b8e57d12eed57b2d42115844801b
MD5 374ffea2f6f16520458ed3c7402676f1
BLAKE2b-256 bb9342e1d26530e6d43a99a9fbc0be4c11a76c69e7bffeafefd714c3d0a8a2f0

See more details on using hashes here.

File details

Details for the file kanad_compute-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: kanad_compute-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for kanad_compute-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 be54204aa8ac8b618805f0a8a72aeb78e1abda0c34159b052251d40007aa977c
MD5 d5eb34a0d0be167bd158f9d25f263f06
BLAKE2b-256 37a1b9ad43ee114ce8c718471c75b5b78d68d9449a0c3eb1acbe161afbaf1b56

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