{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Science/Research", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Topic :: Scientific/Engineering :: Physics" ], "description": "PennyLane ProjectQ Plugin\n#########################\n\n.. image:: https://img.shields.io/travis/com/XanaduAI/pennylane-pq/master.svg?style=popout-square\n :alt: Travis\n :target: https://travis-ci.com/XanaduAI/pennylane-pq\n\n.. image:: https://img.shields.io/codecov/c/github/xanaduai/pennylane-pq/master.svg?style=popout-square\n :alt: Codecov coverage\n :target: https://codecov.io/gh/XanaduAI/pennylane-pq\n\n.. image:: https://img.shields.io/codacy/grade/6ed6d8397b814fbaa754757fed3ea536.svg?style=popout-square\n :alt: Codacy grade\n :target: https://app.codacy.com/app/XanaduAI/pennylane-pq?utm_source=github.com&utm_medium=referral&utm_content=XanaduAI/pennylane-pq&utm_campaign=badger\n\n.. image:: https://img.shields.io/readthedocs/pennylane-pq.svg?style=popout-square\n :alt: Read the Docs\n :target: https://pennylane-pq.readthedocs.io\n\n.. image:: https://img.shields.io/pypi/v/PennyLane-PQ.svg?style=popout-square\n :alt: PyPI\n :target: https://pypi.org/project/PennyLane-PQ\n\n.. image:: https://img.shields.io/pypi/pyversions/PennyLane-PQ.svg?style=popout-square\n :alt: PyPI - Python Version\n :target: https://pypi.org/project/PennyLane-PQ\n\n.. header-start-inclusion-marker-do-not-remove\n\n`PennyLane `_ is a cross-platform Python library for quantum machine\nlearning, automatic differentiation, and optimization of hybrid quantum-classical computations.\n\n`ProjectQ `_ is an open-source compilation framework capable of targeting various types of hardware and a high-performance quantum computer simulator with emulation capabilities, and various compiler plug-ins.\n\nThis PennyLane plugin allows to use both the software and hardware backends of ProjectQ as devices for PennyLane.\n\n\nFeatures\n========\n\n* Provides three devices to be used with PennyLane: ``projectq.simulator``, ``projectq.ibm``, and ``projectq.classical``. These provide access to the respective ProjectQ backends.\n\n* Supports a wide range of PennyLane operations and observables across the devices.\n\n* Combine ProjectQ high performance simulator and hardware backend support with PennyLane's automatic differentiation and optimization.\n\n.. header-end-inclusion-marker-do-not-remove\n.. installation-start-inclusion-marker-do-not-remove\n\nInstallation\n============\n\nThis plugin requires Python version 3.5 and above, as well as PennyLane and ProjectQ. Installation of this plugin, as well as all dependencies, can be done using pip:\n\n.. code-block:: bash\n\n $ python -m pip install pennylane_pq\n\nTo test that the PennyLane ProjectQ plugin is working correctly you can run\n\n.. code-block:: bash\n\n $ make test\n\nin the source folder. Tests restricted to a specific device can be run by executing :code:`make test-simulator`, :code:`make test-ibm`, or :code:`make test-classical`.\n\n.. note:: Tests on the `ibm device `_ can only be run if a :code:`user` and :code:`password` for the `IBM Q experience `_ are configured in the `PennyLane configuration file `_. If this is the case, running :code:`make test` also executes tests on the :code:`ibm` device. By default tests on the :code:`ibm` device run with :code:`hardware=False`. At the time of writing this means that the test are \"free\". Please verify that this is also the case for your account.\n\n.. installation-end-inclusion-marker-do-not-remove\n.. gettingstarted-start-inclusion-marker-do-not-remove\n\nGetting started\n===============\n\nYou can instantiate a :code:`'projectq.simulator'` device for PennyLane with:\n\n.. code-block:: python\n\n import pennylane as qml\n dev = qml.device('projectq.simulator', wires=2)\n\nThis device can then be used just like other devices for the definition and evaluation of QNodes within PennyLane. A simple quantum function that returns the expectation value of a measurement and depends on three classical input parameters would look like:\n\n.. code-block:: python\n\n @qml.qnode(dev)\n def circuit(x, y, z):\n qml.RZ(z, wires=[0])\n qml.RY(y, wires=[0])\n qml.RX(x, wires=[0])\n qml.CNOT(wires=[0, 1])\n return qml.expval(qml.PauliZ(wires=1))\n\nYou can then execute the circuit like any other function to get the quantum mechanical expectation value.\n\n.. code-block:: python\n\n\tcircuit(0.2, 0.1, 0.3)\n\nRunning your code on an IBM Quantum Experience simulator or even a real hardware chip is just as easy. Instead of the device above, you would instantiate a :code:`'projectq.ibm'` device by giving your IBM Quantum Experience username and password:\n\n.. code-block:: python\n\n import pennylane as qml\n dev = qml.device('projectq.ibm', wires=2, user=\"XXX\", password=\"XXX\")\n\nIn order to avoid accidentally publishing your credential, you should better specify them via the `PennyLane configuration file `_ by adding a section such as\n\n.. code::\n\n [projectq.global]\n\n [projectq.ibm]\n user = \"XXX\"\n password = \"XXX\"\n\n.. gettingstarted-end-inclusion-marker-do-not-remove\n\nPlease refer to the `documentation of the PennyLane ProjectQ Plugin `_ as well as well as to the `documentation of PennyLane `_ for further reference.\n\n.. howtocite-start-inclusion-marker-do-not-remove\n\nHow to cite\n===========\n\nIf you are doing research using PennyLane, please cite `our whitepaper `_:\n\n Ville Bergholm, Josh Izaac, Maria Schuld, Christian Gogolin, and Nathan Killoran. PennyLane. *arXiv*, 2018. arXiv:1811.04968\n\n.. howtocite-end-inclusion-marker-do-not-remove\n\nContributing\n============\n\nWe welcome contributions - simply fork the repository of this plugin, and then make a\n`pull request `_ containing your contribution. All contributers to this plugin will be listed as authors on the releases.\n\nWe also encourage bug reports, suggestions for new features and enhancements, and even links to cool projects or applications built on PennyLane.\n\n\nAuthors\n=======\n\nChristian Gogolin, Maria Schuld, Josh Izaac, Nathan Killoran, and Ville Bergholm\n\n.. support-start-inclusion-marker-do-not-remove\n\nSupport\n=======\n\n- **Source Code:** https://github.com/XanaduAI/pennylane-pq\n- **Issue Tracker:** https://github.com/XanaduAI/pennylane-pq/issues\n\nIf you are having issues, please let us know by posting the issue on our Github issue tracker.\n\n.. support-end-inclusion-marker-do-not-remove\n.. license-start-inclusion-marker-do-not-remove\n\nLicense\n=======\n\nThe PennyLane ProjectQ plugin is **free** and **open source**, released under the `Apache License, Version 2.0 `_.\n\n.. license-end-inclusion-marker-do-not-remove\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/XanaduAI/PennyLane-PQ", "keywords": "", "license": "Apache License 2.0", "maintainer": "Xanadu Inc.", "maintainer_email": "software@xanadu.ai", "name": "PennyLane-PQ", "package_url": "https://pypi.org/project/PennyLane-PQ/", "platform": "", "project_url": "https://pypi.org/project/PennyLane-PQ/", "project_urls": { "Homepage": "https://github.com/XanaduAI/PennyLane-PQ" }, "release_url": "https://pypi.org/project/PennyLane-PQ/0.6.0/", "requires_dist": [ "projectq (>=0.4.1)", "pennylane (>=0.6)" ], "requires_python": "", "summary": "PennyLane plugin for ProjectQ", "version": "0.6.0" }, "last_serial": 5997923, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "159fcf10cbeda02aac6ac6ddb9469baa", "sha256": "0ac85bdfb3da1c4b23b9f6dc4a5358a82cc590cb5f87303e4ec8b951961cfd09" }, "downloads": -1, "filename": "PennyLane_PQ-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "159fcf10cbeda02aac6ac6ddb9469baa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16894, "upload_time": "2018-11-13T01:37:29", "url": "https://files.pythonhosted.org/packages/4e/a8/5ddf769c78e8f6b93e6c3b7861bde613f17aa0df1bc264fe28440642fae7/PennyLane_PQ-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aacd3fe059b2eb82d85e1605b9a01e06", "sha256": "3930eeeb189abe46f38c707ae8dab72c145bb8b8c7ee80385c185a06aca64227" }, "downloads": -1, "filename": "PennyLane-PQ-0.1.0.tar.gz", "has_sig": false, "md5_digest": "aacd3fe059b2eb82d85e1605b9a01e06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12513, "upload_time": "2018-11-13T01:37:31", "url": "https://files.pythonhosted.org/packages/a9/eb/1dc1db2c7397b679897020086f03398414e9ce4d39190d5739a4616949e5/PennyLane-PQ-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "9731de69ca4cf23659d0c6e27c2e2482", "sha256": "32bd111356dc050a334b138bcacb51fc226e1f052b89b50bcff771277f643f18" }, "downloads": -1, "filename": "PennyLane_PQ-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9731de69ca4cf23659d0c6e27c2e2482", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18532, "upload_time": "2019-01-30T22:06:11", "url": "https://files.pythonhosted.org/packages/a7/26/c613a51aeb3136462e0758d20a2af7fb53ee00a5432f4bf1e63fc04724a8/PennyLane_PQ-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "de2e5e3628f43158120ab65ae5b518c1", "sha256": "b00fcba1dedbd13f2d3b09c0823bd39223f3a1372a067773ea06479f8b0d4117" }, "downloads": -1, "filename": "PennyLane-PQ-0.2.0.tar.gz", "has_sig": false, "md5_digest": "de2e5e3628f43158120ab65ae5b518c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14051, "upload_time": "2019-01-30T22:06:12", "url": "https://files.pythonhosted.org/packages/fc/39/3b5c95fed93c0ef087fd4240b163f148b2cc161d03b98a888e99ea1fa34c/PennyLane-PQ-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "c279a863c65a11e9346ad0c57de1b8fa", "sha256": "af0833c0fac14baa62b5fbffe170d38b334b5b9844a700e097ed2e749e56e8d2" }, "downloads": -1, "filename": "PennyLane_PQ-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c279a863c65a11e9346ad0c57de1b8fa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18545, "upload_time": "2019-02-13T22:24:24", "url": "https://files.pythonhosted.org/packages/05/ca/4747943eab1e1c38dd7488aff619ecf715095d870a37dbb1e7473d3df607/PennyLane_PQ-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8121cae70a2b2930835381ebfd8c97ca", "sha256": "075a067902020a3f27f22324591d23515a612a53aeecd2aad8d81ad26211aba6" }, "downloads": -1, "filename": "PennyLane-PQ-0.2.1.tar.gz", "has_sig": false, "md5_digest": "8121cae70a2b2930835381ebfd8c97ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14070, "upload_time": "2019-02-13T22:24:26", "url": "https://files.pythonhosted.org/packages/4f/d3/5e3638bc2aaa776f18b51a742dbd840c6a34f16f4912e6ac4f7e4e39e58c/PennyLane-PQ-0.2.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "b8fa2a01de6582a2ddf131f379882818", "sha256": "8b40bb65f33642482866543754031559a636fd648dacd7b5c5fc2ad6975ea6c3" }, "downloads": -1, "filename": "PennyLane-PQ-0.4.0.tar.gz", "has_sig": false, "md5_digest": "b8fa2a01de6582a2ddf131f379882818", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12030, "upload_time": "2019-06-29T10:05:46", "url": "https://files.pythonhosted.org/packages/8d/df/eded32f672bb2c39b9d1a47be7bc9004516ffb29e35a730df14d6224f6d5/PennyLane-PQ-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "a28506b42dd2903cf0d2b8f16d2d68ce", "sha256": "413a4d628266e8cbb6f729fd84c25b3e6cc4ec0ef9c7ddb2c226f82aa51cce76" }, "downloads": -1, "filename": "PennyLane-PQ-0.4.1.tar.gz", "has_sig": false, "md5_digest": "a28506b42dd2903cf0d2b8f16d2d68ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14000, "upload_time": "2019-08-08T08:25:37", "url": "https://files.pythonhosted.org/packages/e7/77/e41107ef82f7d3dc1915bea2cb33d8736ed13d3e2d6f5bf7c718e8177b97/PennyLane-PQ-0.4.1.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "9507f73c37915f12f807f1ab45a705e3", "sha256": "d4a612a644f400912d63349339d82c827ecc6bdffbcb8e1da0604f3a9ca5888d" }, "downloads": -1, "filename": "PennyLane_PQ-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9507f73c37915f12f807f1ab45a705e3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19267, "upload_time": "2019-10-18T22:48:16", "url": "https://files.pythonhosted.org/packages/7f/b8/89cff35734c99532961405e8f4426f5de261ff650526ccedce6cfa6c3868/PennyLane_PQ-0.6.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9c6c0577c3a8fdcb5ad52c9695e27d7c", "sha256": "85b03d9e8ee166f18ae6631ac5362a49730f6fe4f73661676d859bfda283c799" }, "downloads": -1, "filename": "PennyLane-PQ-0.6.0.tar.gz", "has_sig": false, "md5_digest": "9c6c0577c3a8fdcb5ad52c9695e27d7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13669, "upload_time": "2019-10-18T22:48:18", "url": "https://files.pythonhosted.org/packages/f1/d7/38835f712f874bf93acc85d9ea4140f33d0e4d1ae7cdb5a4a633722fa763/PennyLane-PQ-0.6.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9507f73c37915f12f807f1ab45a705e3", "sha256": "d4a612a644f400912d63349339d82c827ecc6bdffbcb8e1da0604f3a9ca5888d" }, "downloads": -1, "filename": "PennyLane_PQ-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9507f73c37915f12f807f1ab45a705e3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19267, "upload_time": "2019-10-18T22:48:16", "url": "https://files.pythonhosted.org/packages/7f/b8/89cff35734c99532961405e8f4426f5de261ff650526ccedce6cfa6c3868/PennyLane_PQ-0.6.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9c6c0577c3a8fdcb5ad52c9695e27d7c", "sha256": "85b03d9e8ee166f18ae6631ac5362a49730f6fe4f73661676d859bfda283c799" }, "downloads": -1, "filename": "PennyLane-PQ-0.6.0.tar.gz", "has_sig": false, "md5_digest": "9c6c0577c3a8fdcb5ad52c9695e27d7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13669, "upload_time": "2019-10-18T22:48:18", "url": "https://files.pythonhosted.org/packages/f1/d7/38835f712f874bf93acc85d9ea4140f33d0e4d1ae7cdb5a4a633722fa763/PennyLane-PQ-0.6.0.tar.gz" } ] }