Skip to main content

Quantum computing toolkit and interface to the TKET compiler

Project description

Pytket is a python module for interfacing with TKET, a quantum computing toolkit and optimising compiler developed by Quantinuum. In addition to pytket there are several pytket extension modules for accessing a range of quantum hardware and classical simulators. The extension modules also allow circuit conversion between several widely used quantum software tools including qiskit, cirq and pennylane.

The source code for the TKET compiler can be found in this github repository.

Installation

Installation is supported for Linux, MacOS and Windows. Installation requires python 3.10, 3.11, 3.12 or 3.13.

To install run the pip command:

pip install pytket

See Installation troubleshooting for help with installation.

To install the pytket extension modules add a hyphen and the extension name to the command:

pip install pytket-quantinuum

For a list of pytket extensions see this page: https://docs.quantinuum.com/tket/api-docs/extensions.

Warning. There is a known issue with installing pytket in a conda environment on MacOS: you may not be able to install versions more recent then 1.11.0. The only known remedy is to use an official Python distribution instead.

Documentation and Examples

API reference: https://docs.quantinuum.com/tket/api-docs/

To get started using pytket see the user guide.

Support and Discussion

For bugs and feature requests we recommend creating an issue on the github repository.

User support: tket-support@quantinuum.com

For discussion, join the public slack channel here.

There is also a pytket tag on quantum computing stack exchange.

Mailing list: join here.

Citation

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:

  • "On the qubit routing problem" for qubit placement (a.k.a. allocation) and routing (a.k.a. swap network insertion, connectivity solving). https://arxiv.org/abs/1902.08091 .
  • "Phase Gadget Synthesis for Shallow Circuits" for representing exponentiated Pauli operators in the ZX calculus and their circuit decompositions. https://arxiv.org/abs/1906.01734 .
  • "A Generic Compilation Strategy for the Unitary Coupled Cluster Ansatz" for sequencing of terms in Trotterisation and Pauli diagonalisation. https://arxiv.org/abs/2007.10515 .

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pytket-2.3.2-cp313-cp313-win_amd64.whl (9.7 MB view details)

Uploaded CPython 3.13Windows x86-64

pytket-2.3.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (8.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pytket-2.3.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

pytket-2.3.2-cp313-cp313-macosx_13_0_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

pytket-2.3.2-cp313-cp313-macosx_13_0_arm64.whl (5.6 MB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64

pytket-2.3.2-cp312-cp312-win_amd64.whl (9.7 MB view details)

Uploaded CPython 3.12Windows x86-64

pytket-2.3.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (8.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pytket-2.3.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

pytket-2.3.2-cp312-cp312-macosx_13_0_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

pytket-2.3.2-cp312-cp312-macosx_13_0_arm64.whl (5.6 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

pytket-2.3.2-cp311-cp311-win_amd64.whl (9.7 MB view details)

Uploaded CPython 3.11Windows x86-64

pytket-2.3.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (8.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pytket-2.3.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

pytket-2.3.2-cp311-cp311-macosx_13_0_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

pytket-2.3.2-cp311-cp311-macosx_13_0_arm64.whl (5.6 MB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

pytket-2.3.2-cp310-cp310-win_amd64.whl (9.7 MB view details)

Uploaded CPython 3.10Windows x86-64

pytket-2.3.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (8.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pytket-2.3.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

pytket-2.3.2-cp310-cp310-macosx_13_0_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

pytket-2.3.2-cp310-cp310-macosx_13_0_arm64.whl (5.6 MB view details)

Uploaded CPython 3.10macOS 13.0+ ARM64

File details

Details for the file pytket-2.3.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pytket-2.3.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 9.7 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pytket-2.3.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 622c1c98e80b0a4e681a816b3b5a83cf4d8778cbe1aac6aac669c98c18abc246
MD5 8a1f70cd7ab59523182d132c85727a3e
BLAKE2b-256 ac98327249bc41c6b96bddb5e00e0f2708f97cf53e0f5d4b6501cd43c33ed29c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.2-cp313-cp313-win_amd64.whl:

Publisher: release.yml on CQCL/tket

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytket-2.3.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pytket-2.3.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5d00d57262f4401d9c599cafe78608664ec503d123ebda5e5eb21f5cd8ef80be
MD5 e9273619f859ad3875d50eb4c5e41807
BLAKE2b-256 127006cd7b12ecc1d8a338aae009d10ee7c6541691998228f95a0bf928baf349

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on CQCL/tket

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytket-2.3.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pytket-2.3.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9bf54643c66b65de30855bd54a78a93fb9b94e73dfe27a9ceb78104e228463db
MD5 676d305a6a094438d15b4bf887e7d33a
BLAKE2b-256 da890c769500be8f1d9e0fae76b534f57c491126917eeb2a1f12e67915e1b21c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on CQCL/tket

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytket-2.3.2-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pytket-2.3.2-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 19967f1aab894bf4be89cf8d976c9e18e98fb2065bfdccb305eab3769288f5d6
MD5 3dc422ccf8d9c7ff3c9e987fa7ad9e67
BLAKE2b-256 200dfc0c7914f1810d073e2c80c7b7d3d9ac056db15d48b6738c598e3d4c9084

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.2-cp313-cp313-macosx_13_0_x86_64.whl:

Publisher: release.yml on CQCL/tket

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytket-2.3.2-cp313-cp313-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pytket-2.3.2-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 7cb651acfd5e84786ec886b31d4b79d1e680a49522347877fd709abc4d619c5d
MD5 1975054bde38897ca24d5912225412ab
BLAKE2b-256 15e84e44dd02805ee35a8f0ed1547e455273d6a85d949f9925fee509d504ace8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.2-cp313-cp313-macosx_13_0_arm64.whl:

Publisher: release.yml on CQCL/tket

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytket-2.3.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pytket-2.3.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 9.7 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pytket-2.3.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0f5d5e4fbe8dde808a9573ddc191b301a77d2b84d55f53c9ed6c9fbc7728f91a
MD5 20dd9524f1653c04999c661e02b08a88
BLAKE2b-256 b776ce29d064b5403f3029268680c851248d2edb37303c8044e55f99355662b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.2-cp312-cp312-win_amd64.whl:

Publisher: release.yml on CQCL/tket

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytket-2.3.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pytket-2.3.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3472b0c3b9f655a3ad5efc566cd4966e45bdd66b3713c2c18a55c354356a7a1a
MD5 b50c96eb7fc305afc0bf4f68f5843ce3
BLAKE2b-256 6526d47c04417a23d73e238e6a459be8bc87cbdabe8efb91722abad4d929940f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on CQCL/tket

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytket-2.3.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pytket-2.3.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 da77bb3f6f88b3bfd3f1502deb9f67d6313bde2282c37d69a37e44a2b91264e6
MD5 2d73effd8e6e3980b3be72a4e8706311
BLAKE2b-256 6b22d99cfe5305abae1544e2b8b42062eb8cc5fef121d2f0eca12d28ab7ef765

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on CQCL/tket

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytket-2.3.2-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pytket-2.3.2-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 63d443304bcf3e01e7951b56094faa53eb3cf2122ed210c3879dfb8479a85d12
MD5 630ac56be811af6a2a49bb570feeefb7
BLAKE2b-256 9e42295d9d3d0393d0b97da7941c8f90f301eb6d3cc47051eebd739afb36ef26

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.2-cp312-cp312-macosx_13_0_x86_64.whl:

Publisher: release.yml on CQCL/tket

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytket-2.3.2-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pytket-2.3.2-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 1a4a48d7d893c35bc696265ee5c0551799a9c9be3785626d6ddde16d75e757cf
MD5 f9b4a4473de4d19264b346233789cc29
BLAKE2b-256 ab0cf2caf3fda7c73dc5ff39586c59922cfdb125113d40f5bcfa4835ad3a5252

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.2-cp312-cp312-macosx_13_0_arm64.whl:

Publisher: release.yml on CQCL/tket

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytket-2.3.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pytket-2.3.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 9.7 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pytket-2.3.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 87c6a1d6ba7b85c22dbd17bd6f14cd667fcfca6cd30737fa2cab8170b6f8e778
MD5 530fa88c5ec4735ce22d9f215091d6c2
BLAKE2b-256 ec65da7024a9a452056758213b54a5f0aa254432d98fcf7090a64bc89b37f771

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.2-cp311-cp311-win_amd64.whl:

Publisher: release.yml on CQCL/tket

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytket-2.3.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pytket-2.3.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8367477c89cb31f47da3cb17924f0b23e72e05db5715d6d064a2d9e510365d0c
MD5 eb2987b5002fd4867fc201adce2e4d6a
BLAKE2b-256 db0cf092ab185300b820d84afb44bfaff5a616c219342a4c0dbe3ce8eacde24e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on CQCL/tket

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytket-2.3.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pytket-2.3.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d8a947184d5e43ae46e568061639d97c5157b7df0ad145ddeea482b913ac427e
MD5 6c9b2451017e05cff278beef0ad27bc8
BLAKE2b-256 7ae73fea8fb39469c63833204eb25949032a1f502ed362bdb243b1f96f700dcf

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on CQCL/tket

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytket-2.3.2-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pytket-2.3.2-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 a19145b1652576d64fd5345c72fdc49dbac8cba56e8708ec3e295d5618427820
MD5 65cc1bdfc465c7098bf76a509546ff1b
BLAKE2b-256 a0182dba1b6266a9f1ccab5cedf0d217d5c674ecaeb3cc121738422b83725252

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.2-cp311-cp311-macosx_13_0_x86_64.whl:

Publisher: release.yml on CQCL/tket

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytket-2.3.2-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pytket-2.3.2-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 df0ec42368859f494b804d62cfdb5be396b35b36ef3c34919b6196135b1931e5
MD5 826f5dd5c4457eca2ffc917f240cfa1c
BLAKE2b-256 981e20f5006467b12fa0d354f6eb8286b3e76a37a14c8b7f117a0930d22042a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.2-cp311-cp311-macosx_13_0_arm64.whl:

Publisher: release.yml on CQCL/tket

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytket-2.3.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pytket-2.3.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 9.7 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pytket-2.3.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0e1281235b88564d2a229046ecff391a5c89fc94d3d102043c590b73bd9ce132
MD5 181ea82ce563a062d5f149e45d93029d
BLAKE2b-256 df29a370fcb6b09016bad1c15c72ac192fc08df535c7469e8a249458aff095c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.2-cp310-cp310-win_amd64.whl:

Publisher: release.yml on CQCL/tket

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytket-2.3.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pytket-2.3.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e9f75aebb70f7c3945e4244dbdb03e51b40bb2b681091614fe15c228d3283669
MD5 234d9399d5e8bf14630d091112679c36
BLAKE2b-256 ddbc741778c63b82aa9a2218ad93c5fd9ca66b569d825c33ab78be112a9ddb55

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on CQCL/tket

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytket-2.3.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pytket-2.3.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c1d29f885b74d39322b098c77e57fe34916edb528af07e6ca47f8677764082ed
MD5 9c4fcdba12faeefe9dce2d52a5019f12
BLAKE2b-256 98c99e2cbab51eca0d83547b7681a91741133f5d09ac0f13ff28b3bf3dcb1287

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on CQCL/tket

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytket-2.3.2-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pytket-2.3.2-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 f3750c0805970a272baa34bd513e0dccd9cd4d5b7a9968b7bf0ead8201f53554
MD5 62ee2af2eb3b83f9aead0c19422aaac0
BLAKE2b-256 cd1bff7c01f758af7ca9960425f654fd8fe4f48ea46abf0a878edc561b981790

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.2-cp310-cp310-macosx_13_0_x86_64.whl:

Publisher: release.yml on CQCL/tket

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytket-2.3.2-cp310-cp310-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pytket-2.3.2-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 2920a3ed7376d8d1d15d5f978526ef28572ee97f1a4c3e9d5a9f32adb51a6232
MD5 98ad7fca0e81cd9259b395110c6c6223
BLAKE2b-256 9742d6cf8163f978076ed0a1c560e40778517dc7d8e79e1925fd3dc92d18e78a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.2-cp310-cp310-macosx_13_0_arm64.whl:

Publisher: release.yml on CQCL/tket

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page