This section contains the API documentation for the PennyLane-Qiskit plugin.


Unless you are a PennyLane plugin developer, you likely do not need to use these classes and functions directly.

See the overview page for more details using the available Qiskit devices with PennyLane.

Top level PennyLane-qiskit module


delete_vqe_runner(provider, program_id)

Delete the desired program on the IBMQ platform.


Loads a PennyLane template from a Qiskit QuantumCircuit.


Loads a PennyLane template from a QASM string.


Loads a PennyLane template from a QASM file.


Takes a list of operator strings and creates a Qiskit circuit with the correct pre-measurement rotations.

upload_vqe_runner([hub, group, project])

Upload the custom VQE runner to the IBMQ cloud.

vqe_runner(backend, hamiltonian, x0, program_id)

Routine that executes a given VQE problem via the sample-vqe program on the target backend.


AerDevice(wires[, shots, backend, method])

A PennyLane device for the C++ Qiskit Aer simulator.

BasicAerDevice(wires[, shots, backend])

A PennyLane device for the native Python Qiskit simulator.

IBMQCircuitRunnerDevice(wires[, provider, ...])

Class for a Qiskit runtime circuit-runner program device in PennyLane.

IBMQDevice(wires[, provider, backend, shots])

A PennyLane device for the IBMQ API (remote) backend.

IBMQSamplerDevice(wires[, provider, ...])

Class for a Qiskit runtime sampler program device in PennyLane.

Class Inheritance Diagram

Inheritance diagram of pennylane_qiskit.aer.AerDevice, pennylane_qiskit.basic_aer.BasicAerDevice, pennylane_qiskit.runtime_devices.IBMQCircuitRunnerDevice, pennylane_qiskit.ibmq.IBMQDevice, pennylane_qiskit.runtime_devices.IBMQSamplerDevice