uniqc.task.adapters.qiskit_adapter module#

Qiskit backend adapter.

Translates OriginIR circuits to Qiskit QuantumCircuit objects and submits via the qiskit / qiskit_ibm_provider packages. No raw REST calls.

Installation:

pip install unified-quantum[qiskit]

class uniqc.task.adapters.qiskit_adapter.QiskitAdapter(proxy=None)[source]#

Bases: QuantumAdapter

Adapter for IBM Quantum backends via Qiskit.

Proxy Configuration:

Proxies can be passed via the proxy parameter: - Dict with ‘http’ and/or ‘https’ keys - Or a single proxy URL string for both protocols

Raises:

MissingDependencyError – If qiskit or qiskit_ibm_provider is not installed.

Parameters:

proxy (dict[str, str] | str | None)

Example

>>> adapter = QiskitAdapter(proxy={
...     "http": "http://proxy.example.com:8080",
...     "https": "https://proxy.example.com:8080"
... })
is_available()[source]#

Check if the Qiskit adapter is available (IBM provider initialized).

Returns:

True if the IBM provider was successfully initialized.

Return type:

bool

name: str = 'ibm'#
query(taskid)[source]#

Query a single IBM Quantum job’s status.

Parameters:

taskid (str)

Return type:

dict[str, Any]

query_batch(taskids)[source]#

Query multiple IBM Quantum jobs and merge results.

Parameters:

taskids (list[str])

Return type:

dict[str, Any]

query_sync(taskid, interval=2.0, timeout=60.0, retry=5)[source]#

Poll task status until completion or timeout.

Parameters:
Return type:

list[dict[str, Any]]

submit(circuit, *, shots=1000, **kwargs)[source]#

Submit a single circuit to IBM Quantum.

Parameters:
  • circuit (qiskit.QuantumCircuit)

  • shots (int)

  • kwargs (Any)

Return type:

str

submit_batch(circuits, *, shots=1000, **kwargs)[source]#

Submit multiple circuits as a batch. Returns a single job ID.

Parameters:
  • circuits (list['qiskit.QuantumCircuit'])

  • shots (int)

  • kwargs (Any)

Return type:

str

translate_circuit(originir)[source]#

Translate an OriginIR string to a Qiskit QuantumCircuit.

The conversion path is OriginIR → QASM string → Qiskit QuantumCircuit. This is the most compatible route given the current API surface of uniqc.circuit_builder.qcircuit (which exposes QASM export but not a direct Qiskit-native constructor). An optimised direct path can be evaluated in a future iteration if needed.

Parameters:

originir (str)

Return type:

qiskit.QuantumCircuit