Appearance
Are you an LLM? You can read better optimized documentation at /references.md for this page in Markdown format
References Overview
Kipu Quantum Hub ships three SDKs and one CLI. Each one targets a different job. This page helps you pick the right one in under a minute.
Which tool should I use?
| I want to… | Use this | Package |
|---|---|---|
| Run a Qiskit or Braket circuit on a quantum backend | Quantum SDK | qhub-quantum (Python) |
| Use IBM Qiskit Runtime sessions/primitives | Quantum SDK — HubQiskitRuntimeService | qhub-quantum (Python) |
| Submit raw jobs, manage sessions, or inspect backends without Qiskit | API SDK — HubQuantumClient | qhub-api (Python, TypeScript) |
| Browse the service catalog, manage data pools, applications, or subscriptions | API SDK — HubPlatformClient | qhub-api (Python, TypeScript) |
| Call a Managed Service you (or someone else) deployed (submit jobs, get results, stream logs) | Service SDK | qhub-service (Python, TypeScript) |
| Log in, bootstrap a project, run it locally, or deploy it to the Hub | CLI | @quantum-hub/qhubctl (Node.js) |
| Configure a service project (name, resources, runtime) | qhub.json | file in project root |
| Style descriptions in the platform UI with Markdown or LaTeX | Markdown & LaTeX | — |
At a glance
Quantum SDK — qhub-quantum
Run Qiskit 2.2 or Amazon Braket circuits on any supported backend. Provides drop-in replacements for Qiskit/Braket providers:
HubQiskitProvider— gate-based backends (IonQ, IQM, Rigetti, simulators)HubQiskitRuntimeService— IBM backends with sessions, Sampler/EstimatorHubBraketProvider— AWS-accessed devices (including QuEra Aquila for AHS)- Works with PennyLane via the
pennylane-qiskitplugin
Service SDK — qhub-service
High-level client for Managed Services you (or others) have deployed on the Hub. Submit executions, poll status, fetch results and logs, download result files, cancel runs, and attach short-lived Data Pool grants.
- Available for Python and TypeScript — shared
HubServiceClientsurface. - Python ships a richer
HubServiceExecutionwrapper withwait_for_final_state,result(),result_files(), andlogs()helpers. - Authenticates to the service gateway via OAuth 2.0 client credentials (access key + secret); uses a personal access token only when requesting data pool grants.
API SDK — qhub-api
Typed, multi-language clients for the Kipu Quantum Hub REST APIs. One package ships three clients — one per API surface — generated from the same OpenAPI definitions:
HubQuantumClient— submit jobs, manage sessions, inspect backends and calibration.HubPlatformClient— browse the catalog (services, algorithms, applications, data pools, subscriptions, grants, users, marketplace).HubServiceClient— invoke a deployed service through the gateway with a short-lived bearer token.- Available for Python 3.9+ and Node 18+ / ESM.
- Authenticates with a personal access token (Platform/Quantum) or a short-lived bearer token (Service gateway).
CLI — qhubctl
Terminal tool for project lifecycle on the Hub. Log in, bootstrap a new service, run it locally, deploy it, upload files to a data pool, inspect build status.
- Installed via
npm i -g @quantum-hub/qhubctl - Used by the other SDKs for auth:
qhubctl login -t <token>makes subsequent SDK calls token-free
Install cheat-sheet
bash
# Quantum SDK (Qiskit / Braket)
pip install --upgrade qhub-quantum
# Service SDK
uv add qhub-service # or: pip install qhub-service
# API SDK
uv add qhub-api # or: pip install --upgrade qhub-apibash
# CLI
npm i -g @quantum-hub/qhubctl
qhubctl login -t <your-access-token>Authentication at a glance
| Tool | Credential | How to supply it |
|---|---|---|
| Quantum SDK | Personal access token | qhubctl login or access_token=... argument |
| API SDK | Personal access token (Platform/Quantum) or bearer token (Service) | Passed to the constructor (api_key=... / apiKey for Platform/Quantum; token=... for Service). Python helpers (DefaultCredentialsProvider) can resolve from env vars or the qhubctl config file — not wired into constructors automatically. |
| Service SDK | Service-scoped access key + secret | Passed to the constructor (access_key_id, secret_access_key). In Python, the personal access token used for data pool grants is auto-resolved from qhubctl / env when available. |
| CLI | Personal access token | qhubctl login -t <token> |
Generate personal access tokens on the Access Tokens page. Service access keys are generated per-application in Service Settings.
What's next?
- New here? Start with the Quickstart.
- Deploying your own service? Read Implementations → Create a Service.
- Looking for a specific backend? See Available Backends.

