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

Uploaded CPython 3.13Windows x86-64

pytket-2.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (8.3 MB view details)

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

pytket-2.0.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.7 MB view details)

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

pytket-2.0.0-cp313-cp313-macosx_13_0_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

pytket-2.0.0-cp313-cp313-macosx_13_0_arm64.whl (6.3 MB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64

pytket-2.0.0-cp312-cp312-win_amd64.whl (8.6 MB view details)

Uploaded CPython 3.12Windows x86-64

pytket-2.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (8.3 MB view details)

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

pytket-2.0.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.7 MB view details)

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

pytket-2.0.0-cp312-cp312-macosx_13_0_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

pytket-2.0.0-cp312-cp312-macosx_13_0_arm64.whl (6.3 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

pytket-2.0.0-cp311-cp311-win_amd64.whl (8.6 MB view details)

Uploaded CPython 3.11Windows x86-64

pytket-2.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (8.3 MB view details)

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

pytket-2.0.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.7 MB view details)

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

pytket-2.0.0-cp311-cp311-macosx_13_0_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

pytket-2.0.0-cp311-cp311-macosx_13_0_arm64.whl (6.1 MB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

pytket-2.0.0-cp310-cp310-win_amd64.whl (8.6 MB view details)

Uploaded CPython 3.10Windows x86-64

pytket-2.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (8.3 MB view details)

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

pytket-2.0.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.7 MB view details)

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

pytket-2.0.0-cp310-cp310-macosx_13_0_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

pytket-2.0.0-cp310-cp310-macosx_13_0_arm64.whl (6.1 MB view details)

Uploaded CPython 3.10macOS 13.0+ ARM64

File details

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

File metadata

  • Download URL: pytket-2.0.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 8.6 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.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9910c745b1a7b6966472516f8a2b9709320da9222a4cc6ab95a76784c05bb112
MD5 01afc91bd1095566bda7919af4efbdd9
BLAKE2b-256 1e88274a9cfd027f8ebee867c0de093eec540c223214fbc205f6042c61d998e9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytket-2.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b01391e3004b0866c28f3dd70e360320ce41e9adc4310506117c765e810cf0fe
MD5 ad3d503772974aa47b5ec8fef00b4c93
BLAKE2b-256 ccf63e30addbe0c1710d0f692b58aa09336e16f93c9d31704da7feb9b2f14a4f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytket-2.0.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 bc04cd608781ed0cceb184460fd687c3c66e80f3f2c08177f6a77cae75a08a3f
MD5 13b9ad12e76d184defae6b0feb2284ce
BLAKE2b-256 1296e9a227d61e23c3356e29ec2936bcd5644c0d0d1691fe28f0758a71d15d9f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytket-2.0.0-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 253f3c9bb31fe9d80f65ff77656afc62a0f49bd51113d26948a9dd909c4f0662
MD5 9befbb3f3812d50f63e37c0220e39255
BLAKE2b-256 0bc3728c780f520660de598fc0496685a68f805cbaa02a66722454322f477bdb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytket-2.0.0-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 dfa8ddccf3893dd862089a104c130fb5911601c3ab30deb569d457a802a9565d
MD5 0a12015662a5ab54e88691af598e5adf
BLAKE2b-256 ece51fe1b119000d42ced6920bb052eaa729b17f6fc6d3a513c36725f642743a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pytket-2.0.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 8.6 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.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9d83c0c8ccfe3cb8546d94e57bca1cd8c03f5cacf27cf26ee56d1fecb9a85ab5
MD5 8a82570b89042537733ee4e3843901d0
BLAKE2b-256 49b9361aa1b205c1690077afa240dd6319f87d1843bed4df9aeff038a4a899ba

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytket-2.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 25445225a0f7ab00265ca912dec9c57604857835841282c0577b7b1df25b9a47
MD5 34fa83216b2d5f8e82bf755a78058a5d
BLAKE2b-256 1a2b816fab4871c30943faf3a00a7199076bcc692912d521649590c5943a52fe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytket-2.0.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5a4139ed12bec24fce16ba8d1410322419a2e851eacd0c1833b83bc5e6a1fca0
MD5 28a12e24d552c559b12d2407a656ce8a
BLAKE2b-256 3771d4537a45b3d02be4b19b6112f7b773ab3fab83dfd42c6f2f0ba0da915e89

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytket-2.0.0-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 5b6322d1c0a93148e56b5e2b157bde361a8531e5b16714f25e99a124f47ed79f
MD5 e3b91395fc4d47085483158053f08d05
BLAKE2b-256 a322d5669a51f0f91466aa3bb4cc0f3dba2537cde3da24e13d39ba5146076fa3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytket-2.0.0-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 9945b79ed4e63f071979c53ae96e614051d89cc5eb54d18e10af3e7c4bcb4edd
MD5 20695ebf65ae932e6dc85cf0b74b772b
BLAKE2b-256 af0cb3c4cf2f88d8674e13c6932af21933c8ed3a661e109043c126dce929a90a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pytket-2.0.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 8.6 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.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5f0edfd1b769dc4b4cff1f0cabdd3f4e7d800e3d8b9a14354b83aebe4bf2d2aa
MD5 dc439301f19d3c060e105b347dd9cdd1
BLAKE2b-256 856e3c24d7d96fa8e4917f5985bdf084fa58dfeea59f69169ebff6f449601721

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytket-2.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 376f8ddca20ff719ce9f75c3dafa1a6f4cd85a98839618704c33a166d257cb32
MD5 a73b148d2ae68503e1f831272957737f
BLAKE2b-256 b1153250d97fe302af3466efbdb9a99905cd6f6fe898f4bae189e1c65f50856f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytket-2.0.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 778c9f05d473a3b8da06c782e7858dae5c8f7bfdb5fc0698ca90590b5b03d4f9
MD5 a7525fbfd89d10e4befaef37b14b6b6e
BLAKE2b-256 48e578abbcbc0ae5c840039d78d64ae086e4a1c5c59ba5eebe0e32511f280d00

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytket-2.0.0-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 763c5a9cbc2b3edc21327e5144685aa3686cb5709f1c0d415e891a0f697b4ef2
MD5 2c552654471140f5e705d8857090c48c
BLAKE2b-256 a5ab3f304afb1c312ae2ca0a0d5287116406036b1537dbd5d938d236cf0d1d71

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytket-2.0.0-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 841e27e0b4e4c879dd1a90d1694255702b2d9a8af755f465dd7a2b2b8e02759e
MD5 c9188475c6cdc9675ae70f952eba78b7
BLAKE2b-256 de2e554fc5535f062e767e467fa49af2ca54406d1581fb1fde1fde43254d2393

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pytket-2.0.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 8.6 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.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9a82409dd64ab4216a1195b8a93b232b2747042b7e766022d66ff81cd096f858
MD5 9b6d0efde42f3a32812a5a4b64e61812
BLAKE2b-256 56c76be20b7a661cd5da36c8151bb49af180c9acdfe67378156b68cb3131f70b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytket-2.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2f5a29d665686402df2d14ce0efc115a3a900ae2fc1b92f7139346510f7acfb5
MD5 2e9d72fa7163717cfc110c3ce382e464
BLAKE2b-256 e0102173f9649cb067cb65fa6b9aaada92b7147af6cff8dce06b96689f5af26c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytket-2.0.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8af61fdef3a27a788ca30116778fed587008ef79ce5b13f13fa075a38539c20a
MD5 9857e4cb0c3eb4e711951570b179f91d
BLAKE2b-256 043fc08f9271017dfe365d4c69f02bfbb46e1478b5ffbdc68df194ff4d6fd5e7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytket-2.0.0-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 0e0ba79152ae8fa5b5fa5f5d53da74a0ab926a80037a4d1c6cce80dbaa42c928
MD5 86e9405f0f2d108339ae52e440b28367
BLAKE2b-256 0887d0c97780218ba2f11cdb274cf29d72f06871cebbf0592b72de2871637630

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytket-2.0.0-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 5310ccce8409b8b0bf2f28d3bc95bcaaec8e71a1a4fe7100dd04fa4dc25b3e72
MD5 a4f539277ccaafed43555fee5bfdf813
BLAKE2b-256 7056318aaf10550cc3c36d50bbb1c749bfd1c3f01a035b07eb348eef84a8125a

See more details on using hashes here.

Provenance

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