PennyLane Documentation



PennyLane is a cross-platform Python library for quantum computing, quantum machine learning, and quantum chemistry. Train a quantum computer the same way as a neural network.


  • Follow the gradient. Built-in automatic differentiation of quantum circuits.

  • Best of both worlds. Support for hybrid quantum and classical models; connect quantum hardware with PyTorch, TensorFlow, and NumPy.

  • Just in time compilation. Compile your entire hybrid workflow, with support for adaptive circuits, real-time measurement feedback, unbounded loops, and more. See Catalyst for more details.

  • Batteries included. Provides optimization and machine learning tools.

  • Device-independent. The same quantum circuit model can be run on different backends. Install plugins to access even more devices, including Strawberry Fields, Amazon Braket, IBM Q, Google Cirq, Rigetti Forest, Microsoft QDK, and ProjectQ.

Getting started

For an introduction to quantum machine learning, we have several guides and resources available on our QML website, including What is QML?, frequently asked questions, a glossary of key concepts, and a curated selection of QML videos.

Then, take a deeper dive into quantum machine learning by exploring cutting-edge algorithms using PennyLane and near-term quantum hardware, with our collection of QML demonstrations.

You can also check out the Using PennyLane section for more details on the quantum operations, and to explore the available optimization tools provided by PennyLane. We also have a detailed guide on how to write your own PennyLane-compatible quantum device.

Finally, play around with the numerous devices and plugins available for running your hybrid optimizations—these include IBM Q, provided by the PennyLane-Qiskit plugin, as well as the Rigetti Aspen QPU provided by PennyLane-Rigetti.

How to cite

If you are doing research using PennyLane, please cite

Ville Bergholm et al. PennyLane: Automatic differentiation of hybrid quantum-classical computations. 2018. arXiv:1811.04968

Support and contribution

If you are having issues, please let us know by posting the issue on our GitHub issue tracker.

We encourage contributions — simply fork the PennyLane repository, and then make a pull request containing your contribution. All contributers to PennyLane will be listed as authors on the releases.

To chat directly with the team designing and building PennyLane, as well as members of our community — ranging from quantum machine learning researchers, to students, to those just interested in being a part of a rapidly growing industry — you can join our discussion forum.


PennyLane is free and open source, released under the Apache License, Version 2.0.