Skip to main content

UnifiedQuantum Banner

UnifiedQuantum

PyPI version codecov Build and Test Quantum | AI Skill

English | 中文版

UnifiedQuantum — 非商业性量子计算聚合框架。

UnifiedQuantum 是一个轻量级 Python 框架,为量子线路构建、模拟和云端执行提供统一接口,聚合 OriginQ、QuarkStudio、IBM Quantum 等多平台后端于一套一致的 API 下。

除了核心的线路构建和执行能力,UnifiedQuantum 还提供完整的本地芯片校准与量子错误缓解(QEM)工具链

  • XEB 交叉熵基准测试uniqc calibrate xeb 测量每层门保真度,支持单比特、双比特和并行 2q 模式
  • 读出误差校准 + M3 缓解:混淆矩阵标定与线性求逆修正
  • 本地含噪模拟:通过 dummy:<platform>:<backend> 复用真实芯片的拓扑和校准数据,先 compile/transpile,再在本地重现硬件噪声特性
  • DSatur 并行调度:自动将 2q 门分配到最小并行轮次

所有校准结果写入 ~/.uniqc/calibration_cache/,QEM 模块读取并强制 TTL 新鲜度策略。


核心工作流

UnifiedQuantum 围绕一个简洁的工作流设计:任意方式构建线路 → uniqc CLI 统一执行

1. 安装

# 推荐:通过 uv 安装 CLI 工具(全局可用,无需虚拟环境)
uv tool install unified-quantum

# 或从 PyPI 安装 Python 包(提供 Python API)
uv pip install unified-quantum

2. 构建线路(支持原生 API 或任意第三方工具)

from uniqc import Circuit

c = Circuit()
c.h(0)
c.cnot(0, 1)
c.measure(0)
c.measure(1)

# 输出 OriginIR 格式,可供 CLI 使用
open('circuit.ir', 'w').write(c.originir)

你也可以使用 Qiskit、Cirq 等工具构建线路,只需最终输出 OriginIR 或 OpenQASM 2.0 格式。

3. CLI 统一执行

# 本地模拟
uniqc simulate circuit.ir --shots 1000

# 提交到云端
uniqc submit circuit.ir --backend originq:WK_C180 --shots 1000

# dummy backend 编号规则
uniqc submit circuit.ir --backend dummy:local:simulator --shots 1000
uniqc submit circuit.ir --backend dummy:local:virtual-line-3 --shots 1000
uniqc submit circuit.ir --backend dummy:originq:WK_C180 --shots 1000
uniqc submit circuit.ir --backend dummy:virtual:<name> --shots 1000

# 查询任务结果
uniqc result <task_id>

dummy 表示无约束、无噪声本地虚拟机;dummy:local:virtual-line-N / dummy:local:virtual-grid-RxC 表示带虚拟拓扑约束的无噪声本地 backend;dummy:<platform>:<backend> 表示先按真实 backend compile/transpile,再用真实芯片标定数据在本地含噪执行;dummy:virtual:<name> 使用 ~/.uniqc/backend/virtual/<name>.yaml 中的自定义拓扑与噪声模型。


设计理念

UnifiedQuantum 是一个非商业性的开源项目,致力于打造 AI 时代原生的量子计算应用框架:

  • AI 原生:专为 AI 工作流设计,无缝集成到现代开发与推理流程中
  • CLI-first:开箱即用的命令行工具,一条命令完成线路构建、模拟、提交与结果分析
  • 聚合:整合多种量子云平台(OriginQ、QuarkStudio、IBM Quantum),提供统一接口
  • 统一:一致的 API 设计,屏蔽各平台差异
  • 透明:清晰的量子程序组装与执行方式,无隐藏行为
  • 轻量:纯 Python 实现,安装简单,集成方便

配套 Skill:在 IAI-USTC-Quantum/quantum-computing.skill 中获取 Claude Code 集成指南与 AI 辅助量子编程工作流。

UnifiedQuantum 统一接入概念图


Features

  • 多平台提交:一个 submit_task(或 uniqc submit)即可将同一份线路发往 OriginQ、QuarkStudio、IBM Quantum,或本地 dummy 模拟器。支持自动检测输入格式:Circuit 对象、OriginIR 字符串、QASM 字符串、qiskit.QuantumCircuit
  • 格式互转Circuit.from_qasm() / Circuit.from_originir() 导入,circuit.to_qasm() / circuit.to_originir() 导出。
  • 本地模拟:自带 OriginIR Simulator、QASM Simulator,支持 statevector / density matrix 两种后端,以及带噪声的变体。
  • 算法组件:内置 HEA、UCCSD、QAOA 等常用 ansatz,可直接用于 VQE / QAOA 研究。
  • PyTorch 集成:提供 QuantumLayer、参数偏移梯度、批处理执行,便于构建混合量子—经典模型。
  • 可互操作:线路既可用原生 API 构建,也可来自 Qiskit、Cirq 等第三方工具,只要最终产出 OriginIR 或 OpenQASM 2.0。
  • 异步提交submit_task 立即返回 task_idpoll_result() 非阻塞查询状态,get_result()wait_for_result() 阻塞等待完成。
  • 易扩展:门集、错误模型、平台适配器都按接口组织,添加新后端只需实现一个 adapter。

Installation

Supported Platforms

  • Windows / Linux:已测试并发布预编译 wheels
  • macOS 及其他平台:可从源码构建,按 best-effort 提供支持

Requirements

  • Python 3.10 – 3.14

从 PyPI 安装(推荐)

# 安装 CLI 工具(全局可用,无需虚拟环境)
uv tool install unified-quantum

# 安装 Python 包(提供 Python API,可与 uv tool 安装共存)
uv pip install unified-quantum

中国大陆用户推荐配置清华源,可大幅提升下载速度:

# 临时使用(仅本次)
uv pip install unified-quantum --index-url https://pypi.tuna.tsinghua.edu.cn/simple/
# 永久生效
uv pip install --python-preference managed --index-url https://pypi.tuna.tsinghua.edu.cn/simple/

从源码构建

如果你需要开发新版、安装开发版本或启用 C++ 模拟器:

git clone --recurse-submodules https://github.com/IAI-USTC-Quantum/UnifiedQuantum.git
cd UnifiedQuantum

# Maintainer / 全量开发环境:安装 dev、docs 和全部可选后端依赖,并按当前包索引升级解析
uv sync --all-extras --group dev --group docs --upgrade

# 运行完整测试套件
uv run pytest uniqc/test

# 包含真实云平台量子线路执行测试
uv run pytest uniqc/test --real-cloud-test

维护者环境不应把 qiskit、QuTiP、Sphinx 等当前维护的可选或文档模块缺失视为正常跳过条件。pyproject.toml 不钉住第三方依赖版本,主分支也不提交 uv.lock;全量开发和 CI 应按当前包索引解析最新可用依赖,及时暴露上游兼容性问题。

所有云平台测试默认跳过,包括读取后端、验证 token、查询 status/API 和真实量子线路提交。只有显式传入 --real-cloud-test(并配置对应凭证)才会执行它们。

Requirements:

  • CMake >= 3.26
  • C++ compiler with C++17 support
  • Git submodules (fmt)
  • pybind11 from the Python build environment, declared in pyproject.toml

如果系统 CMake 版本过低(< 3.26),先升级:

pip install cmake --upgrade

pip 备选方案

pip 不支持 uv tool install 的 CLI 全局安装方式(无需虚拟环境即可全局调用 uniqc 命令)。如无特殊需求,推荐使用上面的 uv 安装方式。

# 从 PyPI 安装
pip install unified-quantum

# 从源码安装
pip install .
pip install -e .

可选依赖

核心依赖(包括 scipy)在默认安装中已包含。以下为可选功能依赖:

功能 安装命令(uv) pip 备选
OriginQ 云平台 uv pip install unified-quantum[originq] pip install unified-quantum[originq]
QuarkStudio / Quark 云平台 (Python ≥ 3.12) uv pip install unified-quantum[quark] pip install unified-quantum[quark]
高级模拟 (QuTiP) uv pip install unified-quantum[simulation] pip install unified-quantum[simulation]
可视化 uv pip install unified-quantum[visualization] pip install unified-quantum[visualization]
PyTorch 集成 uv pip install unified-quantum[pytorch] pip install unified-quantum[pytorch]
安装所有可选依赖 uv pip install unified-quantum[all] pip install unified-quantum[all]

Quafu 兼容性说明(deprecated):0.0.x 保留显式 Quafu 路径的兼容支持,并在使用时发出弃用警告;该支持将在 0.1.0 移除。[quafu] extra 已移除,如确需使用请手动安装 pyquafu(要求 numpy<2)。

Qiskit 已是核心依赖(随 unified-quantum 默认安装),无需单独的 [qiskit] extra。

[pytorch] 同时安装 torch 与 PyPI 上维护的 torchquantum-ng (导入名仍为 torchquantum):

uv pip install unified-quantum[pytorch]

不安装 [pytorch] 不会影响核心功能、QuTiP 模拟或云平台适配器。


CLI Quick Reference

# 查看帮助
uniqc --help

# 安装 AI 技能(AI Agent)
npx skills add IAI-USTC-Quantum/quantum-computing.skill --agent codex --skill '*'
npx skills add IAI-USTC-Quantum/quantum-computing.skill --agent claude-code --skill '*'

# 本地模拟
uniqc simulate circuit.ir --shots 1000

# 提交到云端(支持 originq / quark / ibm / dummy)
uniqc submit circuit.ir --backend originq:WK_C180 --shots 1000

# 查询任务结果
uniqc result <task_id>

# 线路转换/检查、任务管理与环境诊断
uniqc circuit circuit.ir --info
uniqc task list
uniqc doctor

# 启动 Web UI 网关
uniqc gateway start

# 配置云平台 Token
uniqc config init
uniqc config set originq.token YOUR_TOKEN

# 校准与 QEM 数据准备
uniqc calibrate readout --backend dummy --qubits 0 1 --shots 1000
uniqc calibrate xeb --backend dummy --type 1q --qubits 0 1 --depths 5 10

后端信息查询

# 列出所有可用后端(默认隐藏 unavailable/deprecated)
uniqc backend list

# 显示所有后端(包括 unavailable/deprecated)
uniqc backend list --all

# 显示带保真度信息的表格
uniqc backend list --info

# 查看单个后端详情(含保真度、相干时间、拓扑)
uniqc backend show originq:WK_C180

# 强制刷新后端缓存(update 始终全量拉取最新数据)
uniqc backend update

Examples

📁 examples/ — Runnable demonstrations

Getting Started

Example Description
Circuit Remapping Build a circuit and remap qubits for real hardware
Dummy Server Submit tasks to the local dummy simulator
Result Post-Processing Convert and analyze results

Algorithms

Example Description
Grover Search Unstructured search with quadratic speedup
Quantum Phase Estimation Eigenvalue phase estimation

Documentation

📖 GitHub Pages

Release Notes


关于我们

UnifiedQuantumIAI-USTC-Quantum 团队开发和维护。

欢迎提交 Issues、Pull Request,或通过邮件联系我们。如果您对量子计算研究感兴趣,欢迎加入我们。


Status

🚧 Actively developing. API may change.

v0.0.15 起:所有在 0.0.x 中通过 DeprecationWarning 标记的公共 API 将在 0.1.0 中移除。升级前请运行 pytest -W error::DeprecationWarning 清理所有弃用警告。详见 弃用政策

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

unified_quantum-0.0.17-cp314-cp314-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.14Windows x86-64

unified_quantum-0.0.17-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

unified_quantum-0.0.17-cp313-cp313-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.13Windows x86-64

unified_quantum-0.0.17-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

unified_quantum-0.0.17-cp312-cp312-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.12Windows x86-64

unified_quantum-0.0.17-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

unified_quantum-0.0.17-cp311-cp311-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.11Windows x86-64

unified_quantum-0.0.17-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

unified_quantum-0.0.17-cp310-cp310-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.10Windows x86-64

unified_quantum-0.0.17-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file unified_quantum-0.0.17-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for unified_quantum-0.0.17-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 2a0f86aed3fc896a775a8179d51023f42498406e85e2e993fbafe9e7dae1f236
MD5 9fdf976f470aecd8cd8a25639e6f0283
BLAKE2b-256 8c3de3389237072efb866e0094172d70a29c844f1dd19f08e9b4d220f4bc1e67

See more details on using hashes here.

File details

Details for the file unified_quantum-0.0.17-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for unified_quantum-0.0.17-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1383a903c55baba5b4074f444ee49881320ad909ea1b2d577c61c49a6caf5b85
MD5 7995a37f5d3391eafa4a60cb39dc7c60
BLAKE2b-256 9f4ee7c168d4f6cbf7d24d11a530b29911170c40d24416e81b8220a103f8e2e7

See more details on using hashes here.

File details

Details for the file unified_quantum-0.0.17-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for unified_quantum-0.0.17-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d772adb760150707381509a721d25d6a0ac109012cdee4c330fd7b705f89b2a8
MD5 ff63de95cf1a004599482e02a5ba35ec
BLAKE2b-256 a2665cd8e32a0bfd80b15cd7070bfe7f580c85984cc66df6805c9c555d7d4043

See more details on using hashes here.

File details

Details for the file unified_quantum-0.0.17-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for unified_quantum-0.0.17-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c1597bc816147c7e75a3d7e9b9db545b8b85c863bddcfdb30fc527f3d5d70276
MD5 f4d1e0fa410aa890b585fa44d94f0ddc
BLAKE2b-256 50b494e29f4b7c2b976a7db767f86e7308b4730d76269bc55e295c9342dda0ea

See more details on using hashes here.

File details

Details for the file unified_quantum-0.0.17-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for unified_quantum-0.0.17-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0da82db6d4729989ebc51a1d9b805c446128d106f1dd0c4712141a8b5c43e201
MD5 fbf044bbbf5c9f2f716e0e678b7a7aa4
BLAKE2b-256 044f3c25b69a3579be22ecbfc5413916ba7b4c4c859a410874cbf14da14c95b8

See more details on using hashes here.

File details

Details for the file unified_quantum-0.0.17-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for unified_quantum-0.0.17-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6e0322ae3d3aa008f68a18331b4eb3c05aacf93b120d018f100bc1e34a522dcf
MD5 13b5845707c60dc7f9ef71d1b6ec630e
BLAKE2b-256 761bfc1c6b85ccadbfdeced80631cf14ea909ec8b1a990ae8698372fd1a6db48

See more details on using hashes here.

File details

Details for the file unified_quantum-0.0.17-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for unified_quantum-0.0.17-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a8589a8c340fbcbb2bb0bbc269ee631a85a04c784d56db424350eef360b13b00
MD5 d4b7b1868a11039d8c5f768a95eecfae
BLAKE2b-256 0d6f3fc7d5419e984b41a6d8c99f2a310e5bd436b08bc5e6948c29e46d93073a

See more details on using hashes here.

File details

Details for the file unified_quantum-0.0.17-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for unified_quantum-0.0.17-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0c91f010e6ea0b671e2cf0f81a7cf93b43e6ef373dd245e89ba69da95d634776
MD5 9af40019cbb2ccc76fc13dc9a87f67ed
BLAKE2b-256 8731bc3e693455b5b6316ea5fc00a402efc7dee5d745091a84252efcb7bf1e18

See more details on using hashes here.

File details

Details for the file unified_quantum-0.0.17-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for unified_quantum-0.0.17-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a53c657ce535dc09c73747ad20eac9341a943f3643641170f4b24431987d2862
MD5 a5349f337151dc66216f364d0828ea51
BLAKE2b-256 53bb3b39c8b33bb76a3adf56a109f34690676c84bb448c6ff0fb3b1168ce7dae

See more details on using hashes here.

File details

Details for the file unified_quantum-0.0.17-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for unified_quantum-0.0.17-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 caf5619a7022753dc4c36bbf15caf18b19e6d3993be3fff8ca8655703e8f81d2
MD5 6a71702707b9e9b4f645450f76d18d46
BLAKE2b-256 27847f520196934457ae38514f866e2a7498afdb4f8e54c95a4713e63ab5cac6

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.0

2 files

0.0.17.post1

10 files

This release

0.0.17 This release

10 files

0.0.16

10 files

0.0.15

10 files

0.0.14.post1

8 files

0.0.14

8 files

0.0.13

8 files

0.0.12

8 files

0.0.11.post1

8 files

0.0.11

8 files

0.0.10

8 files

0.0.9

12 files

0.0.8

12 files

0.0.7.post1

12 files

0.0.7

12 files

0.0.6

12 files

0.0.5

12 files

0.0.4

12 files

0.0.3

12 files

Supported by

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