quactuary.backend module¶
Backend selection and execution module.
Provides plumbing to choose between quantum (Qiskit) and classical execution backends. Abstracts backend management so user-facing models receive numeric results regardless of execution mode.
Examples
>>> from quactuary.backend import get_backend, set_backend
>>> manager = get_backend()
>>> set_backend('quantum', provider='AerSimulator')
- class quactuary.backend.BackendManager(backend)¶
Bases:
object
Manager for quantum and classical backends.
Manages backend assignments and executes quantum circuits or classical simulations.
- __init__(backend)¶
Initialize a BackendManager.
- Parameters:
backend – Backend instance (e.g., Qiskit backend or custom classical engine).
- get_backend()¶
Retrieve the active backend.
- Returns:
The current backend instance.
- run(circuit)¶
Execute a circuit on the active backend.
- Parameters:
circuit – QuantumCircuit or equivalent object to run.
- Returns:
Execution result or job output.
- Return type:
Result
Examples
>>> result = backend_manager.run(qc)
- set_backend(backend)¶
Override the active backend.
- Parameters:
backend – New backend instance.
- quactuary.backend.get_backend()¶
Retrieve or initialize the global BackendManager.
- Returns:
Singleton backend manager instance.
- Return type:
- quactuary.backend.set_backend(mode, provider=None, **kwargs)¶
Configure the global execution backend.
- Parameters:
mode (str) – Type of execution (‘quantum’ or ‘classical’).
provider (Optional[str]) – Quantum provider name (‘AerSimulator’, ‘IBMQ’).
**kwargs – Additional settings (e.g., backend credentials, simulation parameters).
- Returns:
The newly assigned backend instance.
- Raises:
ImportError – If Qiskit or packaging dependencies are missing for quantum mode.
ValueError – If mode or provider is unsupported.
Examples
>>> set_backend('quantum', provider='AerSimulator') >>> set_backend('classical', backend='numpy')
- quactuary.backend.use_backend(mode, provider=None, **kwargs)¶
Context manager for temporary backend configuration.
- Parameters:
mode (str) – Execution mode override (‘quantum’ or ‘classical’).
provider (Optional[str]) – Quantum provider name.
**kwargs – Additional backend settings.
- Yields:
BackendManager – Manager with temporary backend applied.
Examples
>>> with use_backend('quantum', provider='AerSimulator') as mgr: ... result = mgr.run(circuit)