Plugins and ecosystem

PennyLane is designed from the ground up to be hardware and device agnostic, allowing quantum functions to be easily dispatched to different quantum devices. A single computation can even include multiple quantum devices from different vendors.

Build your quantum algorithm once. Run it everywhere.

Built in devices

PennyLane comes with built-in support for two simple quantum devices:


A simple wavefunction qubit simulator written in Python. Supports all PennyLane core qubit operations.


A simple Gaussian simulator written in Python. Supports all PennyLane core non-Gaussian CV operations.


External quantum devices can be easily added to PennyLane by installing plugins. These plugins are installed separately, providing a rich ecosystem integrating popular quantum software development libraries with the hybrid optimization capabilities of PennyLane.

Have a plugin you would like to have listed here?
Let us know at

For an introductory tutorial on using plugin devices in PennyLane, see Plugins and Hybrid computation. For more details on any of the external plugins, including the devices they provide, device-specific options, and supported quantum operations and expectation values, please see the plugin documentation.

Developing a plugin

To write your own PennyLane-compatible plugin, the best place to start is our overview of the developer API, as well as exploring the source code of the provided reference plugin modules pennylane.plugins.default_qubit and pennylane.plugins.default_gaussian.

A template repository, XanaduAI/pennylane-plugin-template, is also available, containing the essential boilerplate alongside common integration tests.