uniqc.task.adapters.dummy_adapter module#
Dummy adapter for local simulation without real quantum hardware.
This adapter provides a drop-in replacement for cloud backends using local simulation. It’s useful for: - Development and testing without cloud access - Offline development - Quick prototyping and debugging - Running circuits when API tokens are not available
The dummy adapter uses the built-in OriginIR simulator to execute circuits and returns results in the same format as cloud backends.
- Usage:
from uniqc.task.adapters.dummy_adapter import DummyAdapter
# Create adapter with default settings adapter = DummyAdapter()
# Or with noise simulation adapter = DummyAdapter(noise_model={‘depol’: 0.01})
# Submit and query (results are immediately available) task_id = adapter.submit(originir_circuit, shots=1000) result = adapter.query(task_id)
- Environment Variable:
UNIQC_DUMMY: Set to ‘true’, ‘1’, or ‘yes’ to enable dummy mode globally. When set, all task submissions use local simulation instead of real quantum backends.
- class uniqc.task.adapters.dummy_adapter.DummyAdapter(noise_model=None, available_qubits=None, available_topology=None)[source]#
Bases:
QuantumAdapterLocal simulator adapter that mimics cloud backends.
This adapter executes circuits locally using the built-in OriginIR simulator instead of submitting to real quantum hardware. It provides the same interface as cloud adapters, making it a drop-in replacement.
Features: - Immediate result availability (no waiting for queue) - Optional noise simulation - Deterministic task IDs (based on circuit hash) - Same result format as cloud backends
- Variables:
name (str) – Adapter identifier (‘dummy’).
noise_model – Optional noise configuration for simulation.
available_qubits – List of qubit indices available for simulation.
available_topology – List of [u, v] edges defining qubit connectivity.
- Parameters:
Example
>>> adapter = DummyAdapter() >>> task_id = adapter.submit("QINIT 2\nH q[0]\nCNOT q[0] q[1]\nMEASURE") >>> result = adapter.query(task_id) >>> print(result['status']) 'success'
- is_available()[source]#
Check if the dummy adapter is available.
- Returns:
True if the C++ simulation backend is available.
- Return type:
- query(taskid)[source]#
Retrieve the cached result for a task.
Since dummy tasks are executed immediately on submission, results are always available instantly.
- submit(circuit, *, shots=1000, **kwargs)[source]#
Simulate a circuit locally and cache the result.
The circuit is executed immediately using the local simulator, and results are cached for later retrieval via query().