Skip to main content

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

Release files for kanad-compute 0.2.15

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kanad-compute 0.2.15
File Size Uploaded
kanad_compute-0.2.15.tar.gz 829.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kanad-compute 0.2.15
File Interpreter ABI Platform
kanad_compute-0.2.15-py3-none-any.whl Python 3 none any Details

Total release size: 1.8 MB

Release files / kanad_compute-0.2.15.tar.gz

Download URL kanad_compute-0.2.15.tar.gz
Size 829.6 kB
Tags Source
SHA-256 checksum
How to use checksums
901b5ac705a1d6f4bf99fdfa8b5f8b233bc5917658950466c61108e8a9187eb1
BLAKE2b-256 checksum
How to use checksums
dc0be8f165bb11ec685c5d1c84d9e006ceeca0c5ea5538abb4a9cde145256f37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / kanad_compute-0.2.15-py3-none-any.whl

Download URL kanad_compute-0.2.15-py3-none-any.whl
Size 1.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
a93f76f275774c218c300ce5c28df69f270d16d7a352631e52830a257f6f556d
BLAKE2b-256 checksum
How to use checksums
bfdd40a62e00c171756230f58616a0ed171b399d780a842f57677647124bfb7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release history Release notifications | RSS feed

This release

0.2.15 This release

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page