https://github.com/cqcl/pytket-pennylane

https://github.com/cqcl/pytket-pennylane

Science Score: 26.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
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.9%) to scientific vocabulary

Keywords from Contributors

quantum-computing user-guide compilers archival quantum-algorithms projection profiles sequences generic interactive
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: CQCL
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Size: 6.65 MB
Statistics
  • Stars: 6
  • Watchers: 8
  • Forks: 2
  • Open Issues: 3
  • Releases: 19
Created almost 4 years ago · Last pushed 11 months ago
Metadata Files
Readme License Codeowners

README.md

pytket-pennylane

Slack Stack Exchange

Pytket extension and PennyLane plugin which allows pytket backends and compilation to be used as a PennyLane device.

Pytket is a quantum SDK python package which provides state of the art compilation for quantum circuits and a unified interface for execution on a number of "backends" (devices and simulators). PennyLane is a package for differentiable programming of quantum computer, which also provides a way to execute circuits on a variety of "devices". This package allows users to easily leverage the differentiablecircuits of PennyLane combined with the compilation available in Pytket.

The package is available for python 3.10, 3.11 and 3.12, and can be installed by cloning and installing from source, or via pip:

shell pip install pytket-pennylane

API documentation is here.

See the PennyLane documentation and Pytket documentation to get an intro to PennyLane and Pytket.

To use the integration once installed, initialise your pytket backend (in this example, an AerBackend which uses Qiskit Aer), and construct a PennyLane PytketDevice using this backend:

```python import pennylane as qml from pytket.extensions.qiskit import AerBackend

initialise pytket backend

pytket_backend = AerBackend()

construct PennyLane device

dev = qml.device( "pytket.pytketdevice", wires=2, pytketbackend=pytketbackend, shots=1000 )

define a PennyLane Qnode with this device

@qml.qnode(dev) def myquantumfunction(x, y): qml.RZ(x, wires=0) qml.RX(y, wires=1) return qml.expval(qml.PauliZ(0) @ qml.PauliZ(1))

call the node

print(myquantumfunction(0.1, 0.2))

```

The example above uses the Pytket default compilation pass for the backend, you can change the optimisation level of the default backend pass (0, 1 or 2) by setting the optimisation_level parameter:

python dev = qml.device( "pytket.pytketdevice", wires=2, pytket_backend=pytket_backend, optimisation_level=2, shots=1000 )

You can also use any Pytket compilation pass using the compilation_pass parameter, which is used instead of the default pass:

```python from pytket.passes import PauliSimp, SequencePass

use a Chemistry optimised pass before the backend's default pass

custompass = SequencePass([PauliSimp(), pytketbackend.defaultcompilationpass()])

dev = qml.device( "pytket.pytketdevice", wires=2, pytketbackend=pytketbackend, compilationpass=custompass, shots=1000 )

```

Owner

  • Name: Cambridge Quantum
  • Login: CQCL
  • Kind: organization
  • Location: Cambridge, UK

Quantum Software and Technologies

GitHub Events

Total
  • Issues event: 2
  • Watch event: 2
  • Delete event: 1
  • Push event: 16
  • Pull request review comment event: 3
  • Pull request review event: 10
  • Pull request event: 21
  • Fork event: 1
  • Create event: 14
Last Year
  • Issues event: 2
  • Watch event: 2
  • Delete event: 1
  • Push event: 16
  • Pull request review comment event: 3
  • Pull request review event: 10
  • Pull request event: 21
  • Fork event: 1
  • Create event: 14

Committers

Last synced: 12 months ago

All Time
  • Total Commits: 173
  • Total Committers: 8
  • Avg Commits per committer: 21.625
  • Development Distribution Score (DDS): 0.642
Past Year
  • Commits: 14
  • Committers: 5
  • Avg Commits per committer: 2.8
  • Development Distribution Score (DDS): 0.429
Top Committers
Name Email Commits
cqc-melf 7****f 62
dependabot[bot] 4****] 29
Alec Edgington 5****c 28
seyon s****h@c****m 23
Kimara Naicker k****r@g****m 17
Silas Dilkes 3****s 11
CalMacCQ 9****Q 2
Will Simmons w****s@c****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 17
  • Total pull requests: 132
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 7 days
  • Total issue authors: 4
  • Total pull request authors: 6
  • Average comments per issue: 0.35
  • Average comments per pull request: 0.2
  • Merged pull requests: 120
  • Bot issues: 0
  • Bot pull requests: 34
Past Year
  • Issues: 1
  • Pull requests: 22
  • Average time to close issues: about 1 hour
  • Average time to close pull requests: 25 days
  • Issue authors: 1
  • Pull request authors: 5
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.05
  • Merged pull requests: 17
  • Bot issues: 0
  • Bot pull requests: 3
Top Authors
Issue Authors
  • cqc-alec (9)
  • CalMacCQ (4)
  • cqc-melf (2)
  • erinaldiq (2)
Pull Request Authors
  • cqc-melf (80)
  • dependabot[bot] (48)
  • cqc-alec (34)
  • CalMacCQ (3)
  • sjdilkes (2)
  • willsimmons1465 (1)
Top Labels
Issue Labels
bug (4) good first issue (2) enhancement (1)
Pull Request Labels
dependencies (48) python (27) github_actions (15)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 864 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 23
  • Total maintainers: 2
pypi.org: pytket-pennylane

Pytket extension and Pennylane plugin.

  • Versions: 23
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 864 Last month
Rankings
Dependent packages count: 10.1%
Downloads: 14.0%
Average: 18.3%
Dependent repos count: 21.6%
Forks count: 22.7%
Stargazers count: 23.1%
Maintainers (2)
Last synced: 11 months ago

Dependencies

.github/workflows/docs/requirements.txt pypi
  • sphinx *
  • sphinx_rtd_theme *
setup.py pypi
  • pennylane *
  • pytket *
  • pytket-qiskit *
tests/requirements.txt pypi
  • flaky * test
  • pytest * test
  • pytest-mock * test
  • pytket-cirq * test
  • pytket-projectq * test
.github/workflows/build_and_test.yml actions
  • actions/checkout v3 composite
  • actions/deploy-pages v1 composite
  • actions/download-artifact v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
  • actions/upload-pages-artifact v1 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/docs.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
.github/workflows/issue.yml actions
  • atlassian/gajira-create v3.0.1 composite
  • atlassian/gajira-login v3.0.1 composite
.github/workflows/lint.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite