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.1-cp313-cp313-win_amd64.whl (9.7 MB view details)

Uploaded CPython 3.13Windows x86-64

pytket-2.3.1-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.1-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.1-cp313-cp313-macosx_13_0_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

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

Uploaded CPython 3.13macOS 13.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

pytket-2.3.1-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.1-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.1-cp312-cp312-macosx_13_0_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

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

Uploaded CPython 3.12macOS 13.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

pytket-2.3.1-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.1-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.1-cp311-cp311-macosx_13_0_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

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

Uploaded CPython 3.11macOS 13.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

pytket-2.3.1-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.1-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.1-cp310-cp310-macosx_13_0_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

pytket-2.3.1-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.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pytket-2.3.1-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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 cf140e99a6bbf327e11d7b95930a55bddc3e2ee18b34ae476e83b69d47c9fc92
MD5 22f9ebea33103f61dc152275f0febe8e
BLAKE2b-256 0e99efe9542e471e87ac55d74931c0efd951de2edc39371ed31f5709163f84de

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.1-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.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pytket-2.3.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 94e43ae7d2e5199b4574993f3e6938f0454143d3c839c96021e1413714cd4885
MD5 a8e72250872d0818a0c999bfb13eaddb
BLAKE2b-256 66f4969efdfdd09f6e7dc998ba5436c6c56dba29637a41b75cb899166b82145f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.1-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.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pytket-2.3.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 98e34a891755fdf0bc8a02f95c65bacfe2282431be1580ea3d51727908461316
MD5 134190ee297a69fe5f6f58cc488c67b7
BLAKE2b-256 799184bfb8a02186c20a56c3a6f5f69832633088437138dff056a6bce6596867

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.1-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.1-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pytket-2.3.1-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 7c11772a9795e659df7faa0d33c8f9109823122f9480f2013d00139d59bc25f2
MD5 90dc6560ac17e5a2074c1711371feb4b
BLAKE2b-256 6cfc36037e1b5f55656aa11613d3398d17d77e0e8a4608a1f1a45749e78e6a91

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.1-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.1-cp313-cp313-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pytket-2.3.1-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 4c203f4d751e177fb2cd2d86d42d1fdeed0533142ef1116980adb9c0f59fc9b0
MD5 900e93406032c90e911f805d0779e7b5
BLAKE2b-256 77fcf844d2b5cebdf56d39a7fe5d775b8dc82d7d66a4086cffefd5a4d912a363

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.1-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.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pytket-2.3.1-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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4aefc578fdfe654dadec8c8700fbc9e67abfd1826b91b5e5619ddfb155ea8231
MD5 37a4d7d517ebfa9eb11ecb0715b297e4
BLAKE2b-256 db9a1476c8ca328e6805165474e33cacf3400f8c9dff4f81eeaec7900860185d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.1-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.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pytket-2.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c58ec64aa28e1837b5fc655e6a005554b0dcb86642750b6e937d567af5373a6e
MD5 a6549e2d3e984001cfb234fcc4605419
BLAKE2b-256 6fc1ecc987c7da88cbaee1ea1f88e3f4ffe92313b0c8f7d96fee2c137ee9bbd9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.1-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.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pytket-2.3.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4052938ce98e2705387fa87d2c5b4429e5d41ae2e57d40113e1e2161c1ba5f36
MD5 2d6b462220cebc887c7de3143a87529e
BLAKE2b-256 21a792615823ecc73fee00cfa154cbd39d0ff2f7c231a0c95e22419fefd7ac05

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.1-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.1-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pytket-2.3.1-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 6aa2e46af0958951f3525c53d97f900df132ab1aed1eb35c70d35786777f5d81
MD5 f386763ab66a99a077fa128a7408b7b7
BLAKE2b-256 a8aa23f9a9e24424953398e4e9a2a75eb3e28652c777306d727638254aaa78d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.1-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.1-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pytket-2.3.1-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 840241428b159a4e1f55a458edba8ef51c3247f87bb138b5c0ef22aac255eb8e
MD5 b13ebc5aa9647aa540e34093cfc2020f
BLAKE2b-256 fe449eb7570e7759901cdb8818884b9009cfdc58785e7441b9c76004dbfcb043

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.1-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.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pytket-2.3.1-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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 61db6de3ec53f9b56af354c65e0d9c05775efc6aee00ffb7eafc265624013bfc
MD5 815cb4da440945ca242e985d2b77a546
BLAKE2b-256 a3b1d179e7e7c32f3b06112f609bc5879a2d6ac8594676496b3f157abe2c08f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.1-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.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pytket-2.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 841e8c6f1b4b3fb899c021b6a656a91ca6ffebc7c1e645aea17931d2fa70f7e8
MD5 1254a75f8fb6e58dfbc36906641b5e6e
BLAKE2b-256 f608f2440d7f38c7c257dc2865f98c641b688d837f10ed94d33b185f0fbb5ba8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.1-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.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pytket-2.3.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9408249ccc206f38a553dc72bc9b7649050df23efb265ef3a081106bf7168bf6
MD5 ddc42623fa982058f89f5d2b7e733b7b
BLAKE2b-256 cd26839a62c91fdca53ee3d08e62286183135ca7f919a39aef523bf6a76e152c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.1-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.1-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pytket-2.3.1-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 c708ee91b481eee553a84291fc9110343045f6bcd8c4f2c865c1864a4283c42b
MD5 1b3e238d36d2783fc86fa3323bdc15fc
BLAKE2b-256 9f80ce3daedda304ef5a7637cb465a1310f22b8a84ad250964acb7ac3bcb6930

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.1-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.1-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pytket-2.3.1-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 4b3de915d2f78ca07941cf3a0fbd5a5a1a8bb8f89c85dd30a23e2738eddeb5d8
MD5 8aa03bc9156b7d8f97fb203084605401
BLAKE2b-256 74ea599440a6356b24604e8dcefbd85d7ee36f04953bce13aebccc879778f540

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.1-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.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pytket-2.3.1-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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 632599ef75a16462068a7d6d9aa4726db8047763b7f53cd79529c92632acd1fc
MD5 5c115b3350fc5f829a6be2a75a4c0bb0
BLAKE2b-256 c169d4aa8772121875143cb9b9c6a83bb18a3491331bd1d8ae9a5f1a8dab9a2c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.1-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.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pytket-2.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 92bafcece5be7a973722eb620cd4d7f224645fabaa7ac4173c078b57b1e4123b
MD5 632cfeaa834d587c3ae9e1298e8c62cf
BLAKE2b-256 b4d297d18be746df94881194a16ed43a5549b8a1b3b858a0613faedbb954ee18

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.1-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.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pytket-2.3.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3947dc6ac5341a219716f4b08e481a856963c58d91311b25ac28d8db49288e70
MD5 e129d30a15e7d0b029b8e3806fae13b6
BLAKE2b-256 56af86a24e02ac0f80786bf027ec0cd0772d0e3f2308a106600b2a5cdde53ca9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.1-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.1-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pytket-2.3.1-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 61c61df65f936d876709a8528d55ec3e2a87a4004b1f3a96d834a96db15eacce
MD5 5e5a562589c52efc60cb0fcc1f9ec04f
BLAKE2b-256 38f9ff73ac9a07f90ca482084be4da5f2a0a87c0a843c2568f877c9284a015c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.1-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.1-cp310-cp310-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pytket-2.3.1-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 a64bf3ef4f61f14f127917180133bfc6ec0872cafaee7c76c4952e1edf20771a
MD5 acbac7b5022fc2fdada7be2125d104b9
BLAKE2b-256 365824a9e15bc5a900c733c7bf426147984d178b04b4e3caf0e0d8b81c5036bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytket-2.3.1-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