uniqc.backend_adapter.task.adapters.quafu_adapter module¶
[Deprecated] Quafu backend adapter.
Deprecated since version The: Quafu platform path is deprecated and is no longer installable via a
``[quafu]`` extra. The adapter code is retained for backwards
compatibility but future releases do not guarantee consistency or
completeness. Users who still need it must install pyquafu
manually::
pip install pyquafu
Note: pyquafu requires numpy<2 and may downgrade your environment.
Translates OriginIR circuits to Quafu QuantumCircuit objects and submits
via the quafu package (User / Task API). No raw REST calls.
- class uniqc.backend_adapter.task.adapters.quafu_adapter.QuafuAdapter[source]¶
Bases:
QuantumAdapterAdapter for the BAQIS Quafu (ScQ) quantum cloud platform.
- Raises:
MissingDependencyError – If quafu package is not installed.
- VALID_CHIP_IDS = frozenset({'Baihua', 'Baiwang', 'Dongling', 'Haituo', 'Miaofeng', 'ScQ-P10', 'ScQ-P102', 'ScQ-P10C', 'ScQ-P136', 'ScQ-P18', 'ScQ-P21', 'ScQ-P3', 'ScQ-P5', 'ScQ-Sim', 'ScQ-Sim10', 'ScQ-TEST', 'Xiang', 'Yunmeng'})¶
- property api_token: str¶
Return the API token used for Quafu authentication.
- Returns:
The Quafu API token.
- Return type:
- dry_run(originir, *, shots=10000, **kwargs)[source]¶
Dry-run validation for Quafu backends.
Validates offline by: 1. Extracting qubit count from OriginIR QINIT line (no API call). 2. Checking chip_id in VALID_CHIP_IDS (static check). 3. Checking qubit count against CHIP_QUBIT_COUNTS (static map). 4. Attempting translation via translate_circuit() (no API call —
catches unsupported gates).
This method makes NO network calls.
Note
Any dry-run success followed by actual submission failure is a critical bug. Please report it at the UnifiedQuantum issue tracker.
- Parameters:
- Return type:
- get_chip_characterization(chip_name)[source]¶
Return per-qubit and per-pair calibration data for a Quafu chip.
- Parameters:
chip_name (str) – Quafu chip ID, e.g.
"ScQ-P18".- Return type:
ChipCharacterization or None
- is_available()[source]¶
Check if the Quafu adapter is available (quafu package installed).
- Returns:
True if the quafu package was successfully imported.
- Return type:
- list_backends()[source]¶
Return raw Quafu backend metadata.
For hardware backends, fetches chip_info() to populate fidelity and coherence data.
- Returns:
name,num_qubits,status,task_in_queue,qv,valid_gates, plus fidelity/coherence fields (avg_1q_fidelity, avg_2q_fidelity, avg_readout_fidelity, coherence_t1, coherence_t2).- Return type:
List of dicts with keys
- query(taskid)[source]¶
Query a single Quafu task’s status via SDK
Task.retrieve().Uses the internally maintained history dict so the caller does not need to pass any additional context.
- query_sync(taskid, interval=2.0, timeout=60.0)[source]¶
Poll task status until completion or timeout.
- Parameters:
- Returns:
List of result dicts (one per task ID).
- Raises:
TimeoutError – If timeout is reached before completion.
- Return type:
- submit(circuit, *, shots=10000, wait=False, **kwargs)[source]¶
Submit a single circuit to Quafu.
- Parameters:
circuit (QuantumCircuit) – Quafu QuantumCircuit object.
shots (int) – Number of measurement shots (default: 10000).
wait (bool) – If True, block until the server acknowledges receipt (default: False).
**kwargs (Any) – Additional options: - chip_id: Quafu chip ID (required, e.g. ‘ScQ-P18’) - auto_mapping: Enable automatic qubit mapping (default: True) - task_name: Optional task name string
- Returns:
Task ID string.
- Return type:
- submit_batch(circuits, *, shots=10000, wait=False, **kwargs)[source]¶
Submit multiple circuits as a group to Quafu.
- Parameters:
circuits (list['QuantumCircuit']) – List of Quafu QuantumCircuit objects.
shots (int) – Number of measurement shots per circuit (default: 10000).
wait (bool) – If True, block until server acknowledges each submission (default: False).
**kwargs (Any) – Additional options: - chip_id: Quafu chip ID (required) - auto_mapping: Enable automatic qubit mapping (default: True) - task_name: Base task name (suffixed with -0, -1, …) - group_name: Group name for server-side batch tracking
- Returns:
List of task ID strings.
- Return type: