• Stars
    star
    324
  • Rank 125,408 (Top 3 %)
  • Language
    Jupyter Notebook
  • License
    Apache License 2.0
  • Created almost 6 years ago
  • Updated 24 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

User manual and example notebooks for the pytket quantum SDK

pytket

Slack PyPI version Binder

Pytket is a python module for interfacing with tket, a quantum computing toolkit and optimising compiler developed by Quantinuum.

This repository contains API documentation and example notebooks to get you started using pytket. It does not contain source code. The source code is maintained on the tket repository.

Getting started

Pytket is available for Python 3.9, 3.10 and 3.11, on Linux, MacOS and Windows. To install, run:

pip install pytket

See the Getting Started page for a quick introduction to using pytket.

API documentation can be found at cqcl.github.io/tket/pytket.

To get more in depth on features, see the manual and examples.

Interfaces

It is easy to use pytket as a front-end for interacting with third-party devices and software. We maintain a large and growing number of extensions on the pytket-extensions repository. These are simple to install with pip.

Maintenance and support

If you think you've found a bug or have an idea for a feature then please raise an issue here.

There is also a slack channel for discussion and support. click here to join.

Pytket 0.x.y

Pytket underwent rapid development from 2018 to 2022, with frequent changes of API. Our policy has been to maintain only the latest 0.x relase, and not to port bugfixes to older releases. Since version 0.7 (February 2021) we have been releasing new versions (0.x.0) on a 4-week cycle, with occasional patch releases (0.x.y) for important hotfixes.

Pytket 1.x.y

With the release of pytket 1.0 in early 2022, we are moving to a different process, to facilitate long-term stability. Following the semver conventions, we will not introduce incompatible API changes in the 1.x.y series; the minor version (x) will be incremented whenever new functionality is introduced; and the patch version (y) will be incremented for bug fixes.

Pytket 1 will be maintained according to this policy for at least a year following the release of pytket 2.0. There will be no further maintenance of 0.x.y versions.

Pytket 2.x.y

Development work on pytket 2 will begin soon after the release of pytket 1.0. This will have a different API. Only pre-release versions will be uploaded to pypi until the API has stabilized enough to make a 2.0 release. Thereafter we will continue according to the same policy as for pytket 1.x.y.

How to cite

If you wish to cite tket in any academic publications, we generally recommend citing our software overview paper for most cases.

If your work is on the topic of specific compilation tasks, it may be more appropriate to cite one of our other papers:

We are also keen for others to benchmark their compilation techniques against us. We recommend checking our benchmark repository for examples on how to run basic benchmarks with the latest version of pytket. Please list the release version of pytket with any benchmarks you give, and feel free to get in touch for any assistance needed in setting up fair and representative tests.

More Repositories

1

lambeq

A high-level Python library for Quantum Natural Language Processing
Python
415
star
2

tket

Source code for the TKET quantum compiler, Python bindings and utilities
C++
231
star
3

qujax

Simulating quantum circuits with JAX
Python
37
star
4

pytket-extensions

extensions for pytket quantum SDK
Shell
31
star
5

Quanthoven

Jupyter Notebook
30
star
6

Qermit

Python module for running error-mitigation protocols with the pytket quantum SDK
Python
30
star
7

quantinuum-hardware-quantum-volume

Repository for sharing Quantinuum's Quantum Volume data
Jupyter Notebook
24
star
8

qnlp_lorenz_etal_2021_resources

Code and resources for the Lorenz et al. (2021) QNLP paper
Jupyter Notebook
21
star
9

quantinuum-hardware-specifications

Repository for sharing Quantinuum's hardware specifications data
Jupyter Notebook
20
star
10

pytket-quantinuum

pytket-quantinuum, extensions for pytket quantum SDK
Python
20
star
11

tket2

Version 2 of the TKET quantum compiler
Rust
17
star
12

guppylang

Pythonic quantum-classical programming language
Python
16
star
13

diesel-tracing

Connection telemetry middleware for diesel and tracing
Rust
15
star
14

pytket-qiskit

pytket-qiskit, extensions for pytket quantum SDK
Python
12
star
15

tket_benchmarking

Scripts and circuits for benchmarking tket
OpenQASM
10
star
16

hugr

Hierarchical Unified Graph Representation
Rust
10
star
17

cryptomite

Python library of efficient and numerically precise randomness extractors
C++
9
star
18

pytket-qujax

Python
7
star
19

pytket-cutensornet

cuTensorNet Python API extensions for pytket quantum SDK
Python
6
star
20

pytket-dqc

Python
5
star
21

pytket-qir

Public repo for the pytket-qir package
LLVM
5
star
22

portgraph

Directed graph with first-level ports in Rust.
Rust
5
star
23

pytket-pennylane

Python
4
star
24

tierkreis

Tierkreis python package with client, runtime and worker helpers
Python
4
star
25

pytket-phir

pytket-phir is a circuit analyzer and translator from pytket to PHIR.
Python
4
star
26

simplex

A fast simulator for Clifford circuits
C++
4
star
27

tmp-postgrust

Rust
4
star
28

quantinuum-hardware-h2-benchmark

H2 benchmarking data
Jupyter Notebook
4
star
29

qalypso_2022

Repository for presentations, notebooks and hackathon exercises from the Qalyspo summer school 2022
Jupyter Notebook
4
star
30

eumen

EUMEN - Quantum Hardware Chemistry
3
star
31

pytket-circuit-renderer

Vue
3
star
32

quantinuum-publications

A repository for holding a list of all Quantinuum publications.
TeX
3
star
33

pyscf-ac0

Fortran
3
star
34

text_to_discocirc

Jupyter Notebook
3
star
35

pytket-braket

pytket-braket, extensions for pytket quantum SDK
Python
2
star
36

IEEE_Quantum_Week

TKET and Qermit Tutorial
HTML
2
star
37

qvtsim

Methods for simulating quantum volume tests and comparing confidence interval constructions.
Python
2
star
38

pytket-iqm

pytket-iqm, extensions for pytket quantum SDK
Python
2
star
39

classification-with-qttn

Python
2
star
40

IronBridge.Libs.Nist_PQC_Algorithms

Nist Post-Quantum Cryptography (PQC) Algorithms used by RestServerCpp
C
2
star
41

phayes

Easy and efficient Bayesian quantum phase estimation
Python
2
star
42

tket-qir

Rust
2
star
43

Constant-Scaling-Quantum-Gradient-Estimation

Jupyter Notebook
2
star
44

protoc-gen-pyproject

A simple protoc plugin to copy and expand python project files.
Python
2
star
45

pypig

Simple command line tool for managing private pypiserver
Python
2
star
46

phir

PHIR (PECOS High-level Intermediate Representation) Spec and data model
Python
2
star
47

neural_discocirc

Python
2
star
48

tierkreis-viz

Interactive Tierkreis graph vizualizer that runs in your browser.
JavaScript
1
star
49

EQTC-TKET-TUTORIAL

Jupyter notebooks from EQTC 2021 TKET tutorial.
HTML
1
star
50

architecture-aware-phasepoly-synth

This repository contains the source code to replicate the results from the paper "Architecture-aware phase polynomial synthesis for NISQ devices" by Arianne Meijer - van de Griend and Ross Duncan.
OpenQASM
1
star
51

grid_synthesis

Implementing Ross/Selinger's z-rotation synthesis (1403.2975v3) in Rust for real-time profiling purposes.
Rust
1
star
52

IronBridge.Libs.LibOQS

open-quantum-safe/liboqs - Open source C library for quantum-safe cryptographic algorithms
Makefile
1
star
53

Trieste_Hackathon_Chemistry

Jupyter Notebook
1
star
54

pytket-aqt

pytket-aqt, extensions for pytket quantum SDK
Python
1
star
55

tket-json-rs

Rust data structure for serialising/deserialising TKET Circuit JSON v1
Rust
1
star
56

Qermit_Trieste_Hackathon_2023

Notebooks and slides related to the Qermit presentation.
Jupyter Notebook
1
star