qarp.emit¶
QARPx SDK emitters — convert a Block to an SDK-native circuit object.
from qarp.emit import QiskitEmitter qc = QiskitEmitter().emit(block.flatten(), block.n_qubits)
All implementations are in C++ (cpp/libqarpx/src/emit/). Every emitter
declares a gate_set() and capabilities(); validate(commands)
returns the first qarpx.Incompatibility (or None) without importing
the SDK, and runs automatically at the start of every emit().
Raising surface: a circuit that cannot cross raises
qarp.errors.CapabilityError (the offending command on its command
attribute); a missing SDK raises ImportError with a pip install
hint; parse/internal failures stay RuntimeError.
Public depth: flat. No submodules.
- class qarp.emit.PennylaneEmitter(*args, **kwargs)¶
Bases:
object- capabilities(self) qarpx.EmitterCapabilities¶
- emit(self, commands: collections.abc.Sequence[qarpx.Command], n_qubits: int, circuit_name: str = 'circuit') object¶
Translate a flat QARPx command sequence into a qml.tape.QuantumScript.
- gate_set(self) qarpx.GateSet¶
- validate(self, commands: collections.abc.Sequence[qarpx.Command]) qarpx.Incompatibility | None¶
First Incompatibility in the sequence, or None if the whole sequence can cross. Needs no SDK installed.
- class qarp.emit.PytketEmitter(*args, **kwargs)¶
Bases:
object- capabilities(self) qarpx.EmitterCapabilities¶
- emit(self, commands: collections.abc.Sequence[qarpx.Command], n_qubits: int, circuit_name: str = 'circuit') object¶
Translate a flat QARPx command sequence into a pytket.Circuit.
- gate_set(self) qarpx.GateSet¶
- validate(self, commands: collections.abc.Sequence[qarpx.Command]) qarpx.Incompatibility | None¶
First Incompatibility in the sequence, or None if the whole sequence can cross. Needs no SDK installed.
- class qarp.emit.QASM2Emitter(*args, **kwargs)¶
Bases:
object- capabilities(self) qarpx.EmitterCapabilities¶
- emit(self, commands: collections.abc.Sequence[qarpx.Command], n_qubits: int, circuit_name: str = 'circuit') str¶
- emit_to_file(self, commands: collections.abc.Sequence[qarpx.Command], n_qubits: int, path: str, circuit_name: str = 'circuit') None¶
- gate_set(self) qarpx.GateSet¶
- validate(self, commands: collections.abc.Sequence[qarpx.Command]) qarpx.Incompatibility | None¶
First Incompatibility in the sequence, or None if the whole sequence can cross.
- class qarp.emit.QASM3Emitter(*args, **kwargs)¶
Bases:
object- capabilities(self) qarpx.EmitterCapabilities¶
- emit(self, commands: collections.abc.Sequence[qarpx.Command], n_qubits: int, circuit_name: str = 'circuit') str¶
- emit_to_file(self, commands: collections.abc.Sequence[qarpx.Command], n_qubits: int, path: str, circuit_name: str = 'circuit') None¶
- gate_set(self) qarpx.GateSet¶
- validate(self, commands: collections.abc.Sequence[qarpx.Command]) qarpx.Incompatibility | None¶
First Incompatibility in the sequence, or None if the whole sequence can cross.
- class qarp.emit.QIREmitter(*args, **kwargs)¶
Bases:
object- capabilities(self) qarpx.EmitterCapabilities¶
- emit(self, commands: collections.abc.Sequence[qarpx.Command], n_qubits: int, function_name: str = 'circuit') str¶
- emit_to_file(self, commands: collections.abc.Sequence[qarpx.Command], n_qubits: int, path: str, function_name: str = 'circuit') None¶
- gate_set(self) qarpx.GateSet¶
- validate(self, commands: collections.abc.Sequence[qarpx.Command]) qarpx.Incompatibility | None¶
First Incompatibility in the sequence, or None if the whole sequence can cross.
- class qarp.emit.QiskitEmitter(*args, **kwargs)¶
Bases:
object- capabilities(self) qarpx.EmitterCapabilities¶
- emit(self, commands: collections.abc.Sequence[qarpx.Command], n_qubits: int, circuit_name: str = 'circuit') object¶
Translate a flat QARPx command sequence into a qiskit.QuantumCircuit.
- gate_set(self) qarpx.GateSet¶
- validate(self, commands: collections.abc.Sequence[qarpx.Command]) qarpx.Incompatibility | None¶
First Incompatibility in the sequence, or None if the whole sequence can cross. Needs no SDK installed.
- class qarp.emit.QulacsEmitter(*args, **kwargs)¶
Bases:
object- capabilities(self) qarpx.EmitterCapabilities¶
- emit(self, commands: collections.abc.Sequence[qarpx.Command], n_qubits: int, circuit_name: str = 'circuit') object¶
Convert a QARPx command sequence to a qulacs.QuantumCircuit.
- gate_set(self) qarpx.GateSet¶
- validate(self, commands: collections.abc.Sequence[qarpx.Command]) qarpx.Incompatibility | None¶
First Incompatibility in the sequence, or None if the whole sequence can cross. Needs no SDK installed.