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
target_name(self) str
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
target_name(self) str
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
target_name(self) str
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
target_name(self) str
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
target_name(self) str
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
target_name(self) str
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
target_name(self) str
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.