Skip to main content

UnifiedQuantum - A unified, non-commercial quantum computing aggregation framework.

Project description

UnifiedQuantum

PyPI version codecov Build and Test

UnifiedQuantum — A unified, non-commercial quantum computing aggregation framework.

UnifiedQuantum is a lightweight Python framework that provides a unified interface for quantum circuit construction, simulation, and cloud execution across multiple quantum computing platforms. It aggregates backends including OriginQ, Quafu, and IBM Quantum under one consistent API.


核心工作流

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

1. 安装

pip install unified-quantum

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

from uniq.circuit_builder import Circuit

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

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

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

3. CLI 统一执行

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

# 提交到云端
uniq submit circuit.ir --platform originq --shots 1000

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

设计理念

UnifiedQuantum 是一个非商业性的开源项目,致力于:

  • 聚合:整合多种量子云平台(OriginQ、Quafu、IBM Quantum),提供统一接口
  • 统一:一致的 API 设计,屏蔽各平台差异
  • 透明:清晰的量子程序组装与执行方式,无隐藏行为
  • 轻量:纯 Python 实现,安装简单,集成方便

| 线路构建 | 原生 API 或任意工具,输出 OriginIR / QASM2 | | CLI 执行 | 统一接口:模拟、云端、任务管理 | | 结果分析 | 原生 Python 结构,易于集成 |


Features

特性 说明
多后端聚合 统一接口支持 OriginQ、Quafu、IBM Quantum 等多种量子云平台
本地模拟 内置 OriginIR Simulator、QASM Simulator
透明 清晰的量子程序组装与执行方式
Python 原生 纯 Python 实现,安装简单,集成方便
同步/异步 支持同步和异步两种任务提交模式
可扩展 易于添加新的量子门、操作符和模拟后端

核心概念:

  • Circuit — 量子线路构建器,支持 OriginIR / OpenQASM 格式输出
  • Backend — 量子模拟器或真实量子计算机
  • Result — 测量结果以原生 Python 数据结构返回(dict / list / ndarray)

Installation

Supported Platforms

  • Windows / Linux / macOS

Requirements

  • Python 3.10 – 3.13

pip(推荐)

pip install unified-quantum

Build from Source

纯 Python(无 C++ 依赖):

git clone https://github.com/IAI-USTC-Quantum/UnifiedQuantum.git
cd UnifiedQuantum
pip install . --no-cpp

开发模式:

pip install -e .

含 C++ 模拟器(需 CMake):

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

Optional Dependencies

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

功能 安装命令
OriginQ 云平台 pip install unified-quantum[originq]
Quafu 执行后端 pip install unified-quantum[quafu]
Qiskit 执行后端 pip install unified-quantum[qiskit]
高级模拟 (QuTiP) pip install unified-quantum[simulation]
可视化 pip install unified-quantum[visualization]
PyTorch 集成 pip install unified-quantum[pytorch]
安装所有可选依赖 pip install unified-quantum[all]

CLI Quick Reference

# 查看帮助
uniq --help

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

# 提交到云端(支持 originq / quafu / ibm / dummy)
uniq submit circuit.ir --platform originq --shots 1000

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

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

# 也可以用 python -m 调用
python -m uniq simulate circuit.ir

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


Status

🚧 Actively developing. API may change.

Project details


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.2.dev0-cp313-cp313-win_amd64.whl (513.0 kB view details)

Uploaded CPython 3.13Windows x86-64

unified_quantum-0.0.2.dev0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (591.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

unified_quantum-0.0.2.dev0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (602.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686

unified_quantum-0.0.2.dev0-cp312-cp312-win_amd64.whl (513.0 kB view details)

Uploaded CPython 3.12Windows x86-64

unified_quantum-0.0.2.dev0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (591.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

unified_quantum-0.0.2.dev0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (602.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

unified_quantum-0.0.2.dev0-cp311-cp311-win_amd64.whl (513.0 kB view details)

Uploaded CPython 3.11Windows x86-64

unified_quantum-0.0.2.dev0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (591.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

unified_quantum-0.0.2.dev0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (602.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

unified_quantum-0.0.2.dev0-cp310-cp310-win_amd64.whl (513.0 kB view details)

Uploaded CPython 3.10Windows x86-64

unified_quantum-0.0.2.dev0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (591.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

unified_quantum-0.0.2.dev0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (602.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

File details

Details for the file unified_quantum-0.0.2.dev0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for unified_quantum-0.0.2.dev0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9c8ce1bcfde73dd5abbcdea32321a9b391bd401dcce5603e98b5fbf963f03754
MD5 30b55d512c61663d834472c6d02500b9
BLAKE2b-256 9275468242c951d63b6e2bd2101313bd16ad074b48160e6fdccd71b9c01615c6

See more details on using hashes here.

File details

Details for the file unified_quantum-0.0.2.dev0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for unified_quantum-0.0.2.dev0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e7a3dcf26a03879621bae075cbebb21d23cce89c8e5b5219ae1cc5af9bcaf23a
MD5 6fab1d358e838491242ad54cb04d53bc
BLAKE2b-256 ba536444397daf65ee7b51a5e92c44c01757b7b42504e1e51a2eb09b40387050

See more details on using hashes here.

File details

Details for the file unified_quantum-0.0.2.dev0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for unified_quantum-0.0.2.dev0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1bf0bd2b192663f0322d233b438d01ed36b367788aeedf541c460ff5d5d81bbc
MD5 c0d1d55d52e3fac25ed41fa978646bad
BLAKE2b-256 43081c2a1129d0b1692b818fe4ca8e1e5fa287887bbe99f3e0f40426d273fba1

See more details on using hashes here.

File details

Details for the file unified_quantum-0.0.2.dev0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for unified_quantum-0.0.2.dev0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8c64cb86382c826d07dde97fd609121a1cf901c0cd369594129ac503549bd4da
MD5 06e3ba9e9175ecb145a2d9cfc19b516f
BLAKE2b-256 e9934afffde5b543cfe94ed660c2156ca94657502320ebedc3eaf9177bab6457

See more details on using hashes here.

File details

Details for the file unified_quantum-0.0.2.dev0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for unified_quantum-0.0.2.dev0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5a5e194b4cdf9908561b9d4d9b63e36be5f5d3534c2d215d547cbf0f53f3c237
MD5 58ed6dc6ddf69d52a75604ddfc9e9677
BLAKE2b-256 694dd92511e1af0b73f17be3bc54b8832b968c06bd17137f9c45b9686f402513

See more details on using hashes here.

File details

Details for the file unified_quantum-0.0.2.dev0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for unified_quantum-0.0.2.dev0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 bcadadba54ad2ff5d1bc84b595edab773849d9c62779aefe87cb2345228ef2e4
MD5 c4d41ed77c3441676e439b77781c4a78
BLAKE2b-256 3471b9c83e3d36ee5a662bc15ec2b0a51c54b62e1793fd41235e092ccf50a566

See more details on using hashes here.

File details

Details for the file unified_quantum-0.0.2.dev0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for unified_quantum-0.0.2.dev0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3d831357a0f921f38fb75f12b13309c72ef250b529fb8ba59f6b4147aabb365e
MD5 6d77f1e801ce90d2ef95e186243d670f
BLAKE2b-256 f2ed87456c3904e9f5127a4185d70ad8d18ec8e5d90cef2f8aa08b6321b1955b

See more details on using hashes here.

File details

Details for the file unified_quantum-0.0.2.dev0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for unified_quantum-0.0.2.dev0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5d7bdbbd293f828d8c046540ce4b97945ad76d6a74a922c99e2aa659895e273e
MD5 680858dad8c213549f228e871821c40f
BLAKE2b-256 5dcaea0382bcd9945aaf7b75e81b63d356446584f00ba1d928b26ff9a86e136c

See more details on using hashes here.

File details

Details for the file unified_quantum-0.0.2.dev0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for unified_quantum-0.0.2.dev0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 af96fc16cf88c09a662e8cf393f42594d04107104287a8f3494a9d86ee6c547c
MD5 b5f7c77d336412036ed22b7381f958fe
BLAKE2b-256 40974c99118e1a049ddbc0779b0f7c5909bc9d9a36e6c4a46d17a4e2532b6527

See more details on using hashes here.

File details

Details for the file unified_quantum-0.0.2.dev0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for unified_quantum-0.0.2.dev0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1aefc7a978d620904848dd21cb4f622a69c75361986b49fb209edd2fa3e1f5ec
MD5 02f776fa01a2ec0780d254be94e9ac94
BLAKE2b-256 ee3c2309399053c8db6ad21877478527293793c1998d5e0cc62a691970295e83

See more details on using hashes here.

File details

Details for the file unified_quantum-0.0.2.dev0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for unified_quantum-0.0.2.dev0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 85e67f62215b0e0452ef6df49f5becc106f795ef5c3bd289d7f066bc7a6cddf9
MD5 fbafb03fbca6c2e3f4531c4169585e61
BLAKE2b-256 162bdee353707faa59b5deafa19acf6ce62ba742c484926945e97400d39099c8

See more details on using hashes here.

File details

Details for the file unified_quantum-0.0.2.dev0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for unified_quantum-0.0.2.dev0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ad50d7d6ed9ad9d224b350512d816aab378fadd5b022fd8033207e9dd6dc0a85
MD5 5f2a7cbef7556e331cb6b4ab1c9a9c7d
BLAKE2b-256 cead62c5fb663d602fb80a45ca750db97fc92e0e9be30d06eae12adedfa22973

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