uniqc.backend_adapter.task package

Subpackages

Submodules

Module contents

Quantum computing task management module.

This package provides a unified interface for submitting and querying quantum computing tasks across multiple backend platforms:

  • originq — Origin Quantum Cloud (本源量子云) via pyqpanda3.

  • quark — QuarkStudio (BAQIS ScQ) quantum cloud platform.

  • ibm — IBM Quantum via Qiskit Runtime.

  • dummy — Local C++ simulator (no network, no credentials needed).

Public API (from uniqc.backend_adapter.task_manager):

  • submit_task — Submit a single circuit for execution.

  • submit_batch — Submit multiple circuits as a batch.

  • dry_run_task — Validate a circuit offline without making any network calls. Checks gate compatibility, qubit count limits, and shots limits before submitting. Always run a dry-run before submitting. A dry-run success followed by an actual submission failure is a critical bug — please report it.

  • dry_run_batch — Validate multiple circuits offline.

  • query_task — Query task status by ID.

  • wait_for_result — Poll until a task completes or times out.

  • list_tasks, get_task, save_task — Cache management.

CLI shortcut:

uniqc submit circuit.originir --backend originq:WK_C180 --dry-run

Python example:

from uniqc.backend_adapter.task_manager import dry_run_task, submit_task
from uniqc.circuit_builder import Circuit

circuit = Circuit()
circuit.h(0)
circuit.measure(0)

# Validate before submitting
result = dry_run_task(circuit, backend='originq:WK_C180', shots=1000)
if result.success:
    task_id = submit_task(circuit, backend='originq:WK_C180', shots=1000)