pennylane

PennyLane is a cross-platform Python library for quantum computing, quantum machine learning, and quantum chemistry. Built by researchers, for research.

https://github.com/pennylaneai/pennylane

Science Score: 46.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Committers with academic emails
    8 of 203 committers (3.9%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.8%) to scientific vocabulary

Keywords

autograd automatic-differentiation cirq deep-learning differentiable-computing hacktoberfest jax machine-learning neural-network optimization python pytorch qiskit qml quantum quantum-chemistry quantum-computing quantum-machine-learning strawberryfields tensorflow

Keywords from Contributors

parallel mpi rocm openmp distributed-computing llvm quantum-circuit qir quantum-programming-language mlir
Last synced: 6 months ago · JSON representation

Repository

PennyLane is a cross-platform Python library for quantum computing, quantum machine learning, and quantum chemistry. Built by researchers, for research.

Basic Info
  • Host: GitHub
  • Owner: PennyLaneAI
  • License: apache-2.0
  • Language: Python
  • Default Branch: master
  • Homepage: https://pennylane.ai
  • Size: 134 MB
Statistics
  • Stars: 2,795
  • Watchers: 48
  • Forks: 690
  • Open Issues: 481
  • Releases: 67
Topics
autograd automatic-differentiation cirq deep-learning differentiable-computing hacktoberfest jax machine-learning neural-network optimization python pytorch qiskit qml quantum quantum-chemistry quantum-computing quantum-machine-learning strawberryfields tensorflow
Created almost 8 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Code of conduct Codeowners

README.md

UFoundation_logosmall

The 2025 Quantum Open Source Software Survey is now open. 👉 Take the survey! 👈

Take 10 minutes to share your voice and help build a better quantum computing ecosystem!

UFoundation_logosmall

Survey closes October 3, 2025




PennyLane is a cross-platform Python library for quantum computing, quantum machine learning, and quantum chemistry.

The definitive open-source framework for quantum programming. Built by researchers, for research.

Key Features

  • Program quantum computers. Build quantum circuits with a wide range of state preparations, gates, and measurements. Run on high-performance simulators or various hardware devices, with advanced features like mid-circuit measurements and error mitigation.

  • Master quantum algorithms. From NISQ to fault-tolerant quantum computing, unlock algorithms for research and application. Analyze performance, visualize circuits, and access tools for quantum chemistry and algorithm development.

  • Machine learning with quantum hardware and simulators. Integrate with PyTorch, TensorFlow, JAX, Keras, or NumPy to define and train hybrid models using quantum-aware optimizers and hardware-compatible gradients for advanced research tasks. Quantum machine learning quickstart.

  • Quantum datasets. Access high-quality, pre-simulated datasets to decrease time-to-research and accelerate algorithm development. Browse the datasets or contribute your own data.

  • Compilation and performance. Experimental support for just-in-time compilation. Compile your entire hybrid workflow, with support for advanced features such as adaptive circuits, real-time measurement feedback, and unbounded loops. See Catalyst for more details.

For more details and additional features, please see the PennyLane website.

Installation

PennyLane requires Python version 3.11 and above. Installation of PennyLane, as well as all dependencies, can be done using pip:

console python -m pip install pennylane

Docker support

Docker images are found on the PennyLane Docker Hub page, where there is also a detailed description about PennyLane Docker support. See description here for more information.

Getting started

Get up and running quickly with PennyLane by following our quickstart guide, designed to introduce key features and help you start building quantum circuits right away.

Whether you're exploring quantum machine learning (QML), quantum computing, or quantum chemistry, PennyLane offers a wide range of tools and resources to support your research:

Key Resources:

You can also check out our documentation for quickstart guides to using PennyLane, and detailed developer guides on how to write your own PennyLane-compatible quantum device.

Demos

Take a deeper dive into quantum computing by exploring cutting-edge algorithms using PennyLane and quantum hardware. Explore PennyLane demos.

If you would like to contribute your own demo, see our demo submission guide.

Research Applications

PennyLane is at the forefront of research in quantum computing, quantum machine learning, and quantum chemistry. Explore how PennyLane is used for research in the following publications:

Impactful research drives PennyLane. Let us know what features you need for your research on GitHub or on our website.

Contributing to PennyLane

We welcome contributions—simply fork the PennyLane repository, and then make a pull request containing your contribution. All contributors to PennyLane will be listed as authors on the releases. All users who contribute significantly to the code (new plugins, new functionality, etc.) will be listed on the PennyLane arXiv paper.

We also encourage bug reports, suggestions for new features and enhancements, and even links to cool projects or applications built on PennyLane.

See our contributions page and our Development guide for more details.

Support

  • Source Code: https://github.com/PennyLaneAI/pennylane
  • Issue Tracker: https://github.com/PennyLaneAI/pennylane/issues

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

Join the PennyLane Discussion Forum to connect with the quantum community, get support, and engage directly with our team. It’s the perfect place to share ideas, ask questions, and collaborate with fellow researchers and developers!

Note that we are committed to providing a friendly, safe, and welcoming environment for all. Please read and respect the Code of Conduct.

Authors

PennyLane is the work of many contributors.

If you are doing research using PennyLane, please cite our paper:

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

License

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

Owner

  • Name: PennyLaneAI
  • Login: PennyLaneAI
  • Kind: organization

PennyLane is a cross-platform Python library for differentiable programming of quantum computers. Train a quantum computer the same way as a neural network.

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 5,212
  • Total Committers: 203
  • Avg Commits per committer: 25.675
  • Development Distribution Score (DDS): 0.873
Past Year
  • Commits: 1,243
  • Committers: 76
  • Avg Commits per committer: 16.355
  • Development Distribution Score (DDS): 0.817
Top Committers
Name Email Commits
Josh Izaac j****6@g****m 661
Christina Lee c****a@x****i 426
Nathan Killoran c****y 285
antalszava a****a@g****m 244
Christian Gogolin g****t@c****e 233
ringo-but-quantum g****m@x****i 227
Matthew Silverman m****s@x****i 209
Maria Schuld m****d@g****m 202
Mudit Pandey m****y@x****i 180
David Wierichs d****s@x****i 164
Romain Moyard r****d@g****m 147
github-actions[bot] 4****] 128
Astral Cai a****i@x****i 121
lillian542 3****2 112
Albert Mitjans a****a@g****m 111
Andrija Paurevic 4****u 98
Korbinian Kottmann 4****n 91
Pietropaolo Frisoni p****i@x****i 85
Jay Soni j****i@u****a 82
Ville Bergholm v****m@i****i 82
Edward Jiang 3****y 79
Tom Bromley 4****y 76
soranjh 4****h 75
Yushao Chen (Jerry) c****3@o****m 72
Utkarsh u****8@g****m 71
Guillermo Alonso-Linaje 6****G 49
Lee James O'Riordan m****d 41
Vincent Michaud-Rioux v****m@n****m 36
Olivia Di Matteo 2****s 34
agran2018 4****8 32
and 173 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 648
  • Total pull requests: 5,402
  • Average time to close issues: 6 months
  • Average time to close pull requests: 19 days
  • Total issue authors: 177
  • Total pull request authors: 152
  • Average comments per issue: 2.14
  • Average comments per pull request: 2.3
  • Merged pull requests: 3,684
  • Bot issues: 1
  • Bot pull requests: 297
Past Year
  • Issues: 201
  • Pull requests: 2,629
  • Average time to close issues: 14 days
  • Average time to close pull requests: 9 days
  • Issue authors: 67
  • Pull request authors: 79
  • Average comments per issue: 0.81
  • Average comments per pull request: 2.03
  • Merged pull requests: 1,720
  • Bot issues: 1
  • Bot pull requests: 159
Top Authors
Issue Authors
  • albi3ro (63)
  • dwierichs (56)
  • antalszava (30)
  • KetpuntoG (29)
  • Qottmann (29)
  • isaacdevlugt (27)
  • mudit2812 (21)
  • lillian542 (18)
  • CatalinaAlbornoz (17)
  • cvjjm (17)
  • trbromley (16)
  • astralcai (16)
  • dime10 (10)
  • JerryChen97 (10)
  • ankit27kh (8)
Pull Request Authors
  • albi3ro (610)
  • mudit2812 (395)
  • astralcai (357)
  • andrijapau (300)
  • github-actions[bot] (288)
  • PietropaoloFrisoni (257)
  • JerryChen97 (245)
  • timmysilv (235)
  • lillian542 (222)
  • dwierichs (219)
  • Qottmann (185)
  • Jaybsoni (127)
  • isaacdevlugt (116)
  • KetpuntoG (103)
  • obliviateandsurrender (100)
Top Labels
Issue Labels
bug :bug: (414) enhancement :sparkles: (138) good first issue (32) wontfix :see_no_evil: (10) unitaryhack (5) WIP :construction: (4) code quality :mortar_board: (3) autodiff :chart_with_upwards_trend: (3) intermediate issue :hatched_chick: (3) Hacktoberfest (3) question :question: (2) documentation :blue_book: (2) photonics :zap: (1) devices :computer: (1) CI :wrench: (1) performance :timer_clock: (1) unified compiler (1) merge-ready :heavy_check_mark: (1) urgent (1)
Pull Request Labels
merge-ready :heavy_check_mark: (247) do not merge :warning: (142) review-ready :ok_hand: (128) WIP :construction: (83) urgent (81) bug :bug: (59) ci:run-full-test-suite (49) qchem :atom_symbol: (26) gpu (23) enhancement :sparkles: (23) external (21) compiler :factory: (17) documentation :blue_book: (15) deprecation :wastebasket: (12) unified compiler (12) dependencies :pushpin: (9) labs :scientist: (7) tests :test_tube: (6) python compiler (4) ci:run-benchmarks (4) CI :wrench: (4) hacktoberfest-accepted (2) op-arithmetic (2) performance :timer_clock: (2) templates :file_folder: (2) discussion :speech_balloon: (2) core :atom: (1) merge-later (1)

Packages

  • Total packages: 3
  • Total downloads:
    • pypi 143,853 last-month
  • Total dependent packages: 53
    (may contain duplicates)
  • Total dependent repositories: 97
    (may contain duplicates)
  • Total versions: 69
  • Total maintainers: 6
pypi.org: pennylane

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.

  • Versions: 61
  • Dependent Packages: 49
  • Dependent Repositories: 95
  • Downloads: 143,853 Last month
Rankings
Dependent packages count: 0.3%
Average: 1.5%
Dependent repos count: 1.5%
Stargazers count: 1.6%
Downloads: 1.6%
Forks count: 2.3%
Last synced: 6 months ago
conda-forge.org: pennylane
  • Versions: 7
  • Dependent Packages: 4
  • Dependent Repositories: 2
Rankings
Forks count: 7.8%
Stargazers count: 9.7%
Dependent packages count: 12.5%
Average: 12.6%
Dependent repos count: 20.3%
Last synced: 6 months ago
conda-forge.org: pennylane-qchem
  • Homepage: http://xanadu.ai
  • License: Apache-2.0
  • Latest release: 0.17.0
    published almost 4 years ago
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Forks count: 7.3%
Stargazers count: 9.1%
Average: 25.4%
Dependent repos count: 34.0%
Dependent packages count: 51.2%
Last synced: 6 months ago

Dependencies

doc/requirements.txt pypi
  • appdirs *
  • autograd *
  • autoray *
  • docutils ==0.16
  • jax ==0.2.19
  • jaxlib ==0.1.71
  • jinja2 ==3.0.3
  • m2r2 *
  • mistune ==0.8.4
  • networkx ==2.6
  • numpy *
  • pip *
  • pygments-github-lexers *
  • retworkx ==0.10.2
  • scipy *
  • semantic_version ==2.10
  • sphinx ==3.5.3
  • sphinx-automodapi ==0.13
  • sphinx-copybutton *
  • sphinxcontrib-bibtex ==0.4.2
  • tensorflow ==2.6.5
  • tensornetwork ==0.3
  • toml *
  • torch ==1.9.0
  • torchvision ==0.10.0
  • xanadu-sphinx-theme ==0.1.0
requirements-ci.txt pypi
  • appdirs *
  • autograd *
  • autoray *
  • cvxopt *
  • cvxpy *
  • dask *
  • matplotlib *
  • networkx *
  • numpy *
  • opt_einsum *
  • retworkx *
  • scipy *
  • semantic_version *
  • tensornetwork ==0.3
  • toml *
requirements-dev.txt pypi
  • black >=21 development
  • flaky >=3.7.0 development
  • pre-commit >=2.19.0 development
  • pytest >=7.1.2 development
  • pytest-cov >=3.0.0 development
  • pytest-forked >=1.4.0 development
  • pytest-mock >=3.7.0 development
  • pytest-xdist >=2.5.0 development
requirements.txt pypi
  • appdirs *
  • autograd *
  • autoray ==0.3.1
  • cachetools *
  • cvxopt *
  • cvxpy *
  • dask *
  • matplotlib *
  • networkx *
  • numpy *
  • opt_einsum *
  • retworkx *
  • scipy *
  • semantic_version *
  • tensornetwork *
  • toml *
.github/workflows/assign_bugs.yml actions
  • Naturalclar/issue-action v2.0.2 composite
.github/workflows/changelog_reminder.yml actions
  • actions/checkout master composite
  • peterjgrainger/action-changelog-reminder v1.3.0 composite
.github/workflows/docker.yml actions
  • actions/checkout v2 composite
  • styfle/cancel-workflow-action 0.11.0 composite
.github/workflows/docs.yml actions
  • PennyLaneAI/sphinx-action master composite
  • actions/checkout v3 composite
  • repo-sync/pull-request v2 composite
.github/workflows/format.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • styfle/cancel-workflow-action 0.11.0 composite
.github/workflows/interface-unit-tests.yml actions
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
  • codecov/codecov-action v4 composite
.github/workflows/rc_sync.yml actions
  • actions/checkout v3 composite
  • repo-sync/pull-request v2 composite
.github/workflows/tests-gpu.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/tests.yml actions
  • actions/checkout v3 composite
  • actions/download-artifact v4 composite
  • repo-sync/pull-request v2 composite
.github/workflows/unit-test.yml actions
  • ./.github/workflows/install_deps * composite
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
.github/workflows/upload.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • pypa/gh-action-pypi-publish release/v1 composite
pyproject.toml pypi
setup.py pypi
.github/workflows/check_in_artifact.yml actions
  • actions/checkout v4 composite
  • actions/download-artifact v4 composite
.github/workflows/determine-workflow-runner.yml actions
.github/workflows/interface-dependency-versions.yml actions
.github/workflows/module-validation.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
.github/workflows/test_numpy_1_compat.yml actions
.github/workflows/tests-labs.yml actions
  • actions/checkout v4 composite
  • tj-actions/changed-files v45 composite
.github/workflows/trigger_benchmarks.yml actions
  • actions/github-script v7 composite
  • peter-evans/repository-dispatch v3 composite
.github/workflows/upload-nightly-release.yml actions
  • actions/checkout v4 composite
  • actions/download-artifact v4 composite
  • actions/upload-artifact v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/package_warnings_as_errors.yml actions
.github/workflows/update-durations.yml actions
  • actions/download-artifact v4 composite
  • actions/upload-artifact v4 composite
.github/workflows/check-external-contributor.yml actions
  • XanaduAI/cloud-actions/label-external-pull-request main composite
.github/workflows/code_security_scan.yml actions
.github/workflows/rtd-check.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
.github/workflows/scripts/upload_reports/requirements.txt pypi
  • pydantic ==2.10.6
  • pydantic-settings ==2.8.0
  • requests ==2.32.3