Skip to main content

A tool for Quantum Circuit Equivalence Checking

Project description

PyPI OS License: MIT CI Python CI Bindings Documentation codecov

MQT QCEC - A tool for Quantum Circuit Equivalence Checking

A tool for quantum circuit equivalence checking developed as part of the Munich Quantum Toolkit (MQT)[^1] by the Chair for Design Automation at the Technical University of Munich. It builds upon our quantum functionality representation (QFR), our decision diagram (DD) package, and our ZX-diagram package .

Documentation

If you have any questions, feel free to contact us via quantum.cda@xcit.tum.de or by creating an issue on GitHub.

Getting Started

QCEC is available via PyPI for Linux, macOS, and Windows.

(venv) $ pip install mqt.qcec

The following code gives an example on the usage:

from mqt import qcec

# verify the equivalence of two circuits provided as qasm files
result = qcec.verify("circ1.qasm", "circ2.qasm")

# print the result
print(result.equivalence)

Detailed documentation on all available methods, options, and input formats is available at ReadTheDocs.

System Requirements and Building

The implementation is compatible with any C++17 compiler and a minimum CMake version of 3.14. Please refer to the documentation on how to build the project.

Building (and running) is continuously tested under Linux, macOS, and Windows using the latest available system versions for GitHub Actions.

References

QCEC has been developed based on methods proposed in the following papers:

a L. Burgholzer and R. Wille, "Advanced Equivalence Checking for Quantum Circuits," Transactions on CAD of Integrated Circuits and Systems (TCAD), 2021

a L. Burgholzer, R. Raymond, and R. Wille, "Verifying Results of the IBM Qiskit Quantum Circuit Compilation Flow," in IEEE International Conference on Quantum Computing (QCE), 2020

a L. Burgholzer, R. Kueng, and R. Wille, "Random Stimuli Generation for the Verification of Quantum Circuits," in Asia and South Pacific Design Automation Conference (ASP-DAC), 2021

a L. Burgholzer and R. Wille, "Handling Non-Unitaries in Quantum Circuit Equivalence Checking," in Design Automation Conference (DAC), 2022

a T. Peham, L. Burgholzer, and R. Wille, "Equivalence Checking of Quantum Circuits with the ZX-Calculus," in Journal of Emerging and Selected Topics in Circuits and Systems (JETCAS), 2022

a T. Peham, L. Burgholzer, and R. Wille, "Equivalence Checking of Parameterized Quantum Circuits: Verifying the Compilation of Variational Quantum Algorithms," in Asia and South Pacific Design Automation Conference (ASP-DAC), 2023

[^1]: The Munich Quantum Toolkit was formerly known under the acronym JKQ and developed by the Institute for Integrated Circuits at the Johannes Kepler University Linz).

Project details


Download files

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

Source Distribution

mqt.qcec-2.1.0rc4.tar.gz (1.7 MB view details)

Uploaded Source

Built Distributions

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

mqt.qcec-2.1.0rc4-cp311-cp311-win_amd64.whl (819.9 kB view details)

Uploaded CPython 3.11Windows x86-64

mqt.qcec-2.1.0rc4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (885.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

mqt.qcec-2.1.0rc4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (817.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

mqt.qcec-2.1.0rc4-cp311-cp311-macosx_11_0_arm64.whl (883.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mqt.qcec-2.1.0rc4-cp311-cp311-macosx_10_15_x86_64.whl (977.7 kB view details)

Uploaded CPython 3.11macOS 10.15+ x86-64

mqt.qcec-2.1.0rc4-cp310-cp310-win_amd64.whl (819.9 kB view details)

Uploaded CPython 3.10Windows x86-64

mqt.qcec-2.1.0rc4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (885.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

mqt.qcec-2.1.0rc4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (816.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

mqt.qcec-2.1.0rc4-cp310-cp310-macosx_11_0_arm64.whl (883.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

mqt.qcec-2.1.0rc4-cp310-cp310-macosx_10_15_x86_64.whl (977.7 kB view details)

Uploaded CPython 3.10macOS 10.15+ x86-64

mqt.qcec-2.1.0rc4-cp39-cp39-win_amd64.whl (820.5 kB view details)

Uploaded CPython 3.9Windows x86-64

mqt.qcec-2.1.0rc4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (886.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

mqt.qcec-2.1.0rc4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (817.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

mqt.qcec-2.1.0rc4-cp39-cp39-macosx_11_0_arm64.whl (883.6 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

mqt.qcec-2.1.0rc4-cp39-cp39-macosx_10_15_x86_64.whl (977.8 kB view details)

Uploaded CPython 3.9macOS 10.15+ x86-64

mqt.qcec-2.1.0rc4-cp38-cp38-win_amd64.whl (820.5 kB view details)

Uploaded CPython 3.8Windows x86-64

mqt.qcec-2.1.0rc4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (885.6 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

mqt.qcec-2.1.0rc4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (817.3 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

mqt.qcec-2.1.0rc4-cp38-cp38-macosx_11_0_arm64.whl (883.5 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

mqt.qcec-2.1.0rc4-cp38-cp38-macosx_10_15_x86_64.whl (977.8 kB view details)

Uploaded CPython 3.8macOS 10.15+ x86-64

mqt.qcec-2.1.0rc4-cp37-cp37m-win_amd64.whl (852.9 kB view details)

Uploaded CPython 3.7mWindows x86-64

mqt.qcec-2.1.0rc4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (896.9 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

mqt.qcec-2.1.0rc4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (830.2 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

mqt.qcec-2.1.0rc4-cp37-cp37m-macosx_10_15_x86_64.whl (972.0 kB view details)

Uploaded CPython 3.7mmacOS 10.15+ x86-64

File details

Details for the file mqt.qcec-2.1.0rc4.tar.gz.

File metadata

  • Download URL: mqt.qcec-2.1.0rc4.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for mqt.qcec-2.1.0rc4.tar.gz
Algorithm Hash digest
SHA256 b8208bc931bba7a07ee6cdac2525c869c74fd1602294071ac8484042c15832dd
MD5 cac4cfae105937c1e2c5aecc327e0838
BLAKE2b-256 1c48d70924c8be715995ab47ac707a41d8cf7d93d5b723ac7c05d821973f5125

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.1.0rc4-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.1.0rc4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9632deee873b0623701b70ef21af0f49cc680ed8295ecfc484cace72f835c621
MD5 30545a72646cc9a114ad713fb0b1bdd6
BLAKE2b-256 286d8ef0009db70613eaadfa9a0d0581b363140b7d03f55cf5d93e46b984c0d9

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.1.0rc4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.1.0rc4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5ec235c74430e2446697b00321eb1817f8f6dd362a966ca61dd492180cd17562
MD5 711b146f93ebde9749f44c3bb4d7ecc6
BLAKE2b-256 95db12ee8116f2cd32d97e123a9035c8d9ed42d094ad77ee396b0ea0203e235c

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.1.0rc4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.1.0rc4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cd2b1f11c80eb60d821a3068fa7883734ed52737af2b80c7fe79431f011618ce
MD5 76ca24c514df373a72023ed6891e9293
BLAKE2b-256 dc4971dba0b94ba43d9c9f27239f42da73169e750c8e76f31cfe5b7c1a6587c0

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.1.0rc4-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.1.0rc4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 163eb9b1f600235a5f69987a44e7ce8b3b0039d6fe62a99c3ad9b7e10a17600e
MD5 6558ccac2b516d38a51a11651cfe1c1c
BLAKE2b-256 693c49ba4748296187ebce6236fc94889d83693388eb1e33b1dcb1d2878cf165

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.1.0rc4-cp311-cp311-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.1.0rc4-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 b48afef99acd2441ab39c8bd69081a4a0d6d5f8b72db758bf24fddf3660d4d01
MD5 36a747b45a286911b7ac09a0c0aa1a0a
BLAKE2b-256 b6644cc907c9a288a34d29e6c676e0363745039e11a6c7c76cf0b89559caf7d2

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.1.0rc4-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.1.0rc4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fccb7b4545a18acd522541968aa8c968d8dfb103c3096b2f4802aec3489e522a
MD5 fe6d42a211a033b774c8b82840705cc4
BLAKE2b-256 4ddfa7fb8f58acb28e7434a742450374dc56dbdf9121a66836c7f4e17d6c52d2

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.1.0rc4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.1.0rc4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8fe912846adfa8222984487ee634406d44973a617838284830fc1e5e0654d38e
MD5 aa974374e16b7e66407471ace4aa43f4
BLAKE2b-256 797154e3ef5e64a25f3cfbb8fd5aa495e641e9be3107ee72fc24a0f787a6f2c4

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.1.0rc4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.1.0rc4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bbf923c6aaefdde8699d935c85a9e2aac77f8478d0a1ac8aac11c79b6497f84a
MD5 15ac12c3da80137fb17b27a42ccd8c58
BLAKE2b-256 cdb2c7b1be9a8cbc4778a1f61277c13e33893c7c141a0082aaf217fdecb154ea

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.1.0rc4-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.1.0rc4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b0f26a7aa4f7ffee28ff0a9ebc72325ea97b68ff4e488854180eee25bf1368cb
MD5 56198c135c9f34a1dc4176732acc2db3
BLAKE2b-256 e98faacf7a5d2d936e8b1e4ce4dd1883e7de127f766d959e14f935b1a31164b6

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.1.0rc4-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.1.0rc4-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 edc9f9af703e4dff59fdf282d3dccd0f6d96e89bb33f766514258f0efc650073
MD5 07b186732051c043686fb6630009ba62
BLAKE2b-256 e71d54aaa25ada015605744379a847cffc8f887c8f6dd5a18588c85b8c6fc541

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.1.0rc4-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: mqt.qcec-2.1.0rc4-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 820.5 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for mqt.qcec-2.1.0rc4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 258065b9be48a520c95e50af4c3940f508ed4157d0bc543ebee3d47c69941d07
MD5 f760f7fe3ad2928d1d8a6d97f38af116
BLAKE2b-256 a358a0e15f4fabf388c1bb63612bcdb49f6be5681d72396503c79e2f60ca7ee2

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.1.0rc4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.1.0rc4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7d51cc8850f304faacb1549cf7796c102ef99b7c63475979528a70879339b4d0
MD5 aff62dfd07bba606ad8b920e9201d4b8
BLAKE2b-256 28a8f081143500bc630a00e155f6329ec0bcf1a6fd301f1dd64f0206c63579bf

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.1.0rc4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.1.0rc4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d2d19c1e98ce5e9d0a05c7d645de0e1d9eefae083b82ed0c65ec947d8f319d34
MD5 50ff03e1506d4afeaa78a42b64481708
BLAKE2b-256 a5adf4651cc98992c6d5d4577b8f2292a1c36a5d95fd408650f5f980e498c377

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.1.0rc4-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.1.0rc4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ac5e98d42eb59acc90cd8a894b94ea7d2e36c6dc950d22b3505e0b77b413150c
MD5 484e878a25d2db0b9abc0c54c28f1623
BLAKE2b-256 cbc9501aa756a108d910e30317c27b5208ee86537ca7ef19198b1f571b15fcf1

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.1.0rc4-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.1.0rc4-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 8142bee71d9f8cedeb1d0616b371c3128e726efdbd0f44cbe6a8c2b988773fb8
MD5 f6f944bd6577df39c090f4b87356caaf
BLAKE2b-256 af32a445b5ced0c6dac0f112bedac05203b9448484b3b703b51e997671a54f81

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.1.0rc4-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: mqt.qcec-2.1.0rc4-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 820.5 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for mqt.qcec-2.1.0rc4-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 2ff979d09c2fc00410a9e17777311e1f85ff95530791afa3116ec30ec27b9a57
MD5 f8aeef0a6e03fb34fb8551247082a772
BLAKE2b-256 2fa33409d20478e2da6c27b817a365ff258eea7640d64a959be3bdc089c6ed8c

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.1.0rc4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.1.0rc4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1f9edbae1042ae96d16c4f899abaa7cb393cda3f6db705a14894264e2d459921
MD5 aa7d960158bf3dc9b5f84891a993e136
BLAKE2b-256 151ac67aaf7e780a4f939a719f7875b9b73d401c5d6d35b6c88d3271e930ad56

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.1.0rc4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.1.0rc4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c6688ab1a973e5d4dc47532eb93508dfb9c7db6e83019bde59056beae1ecccc5
MD5 7dc16f361f028f875c25e6ce58699260
BLAKE2b-256 6b0ab0e6093cfbf540259a6ab074b315331d6b163c7c1799b5c41291bd781ef9

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.1.0rc4-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.1.0rc4-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 75463d351a771e90e552b5c74d9be61e832b92343ed2de248024d600dda2c558
MD5 8df10adccbba1169cf1dead575f0c582
BLAKE2b-256 4bf6ab14da09a2507ea0cdd147c44a2acd7acfbee4a434127106a49243acea39

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.1.0rc4-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.1.0rc4-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 61225ae605a37a0c9b390af93b5928a1a9d746563633467b3c0a41fae4386e6c
MD5 d841223e7206fbcae14fb4d3cb73448d
BLAKE2b-256 2ca918c0186e193656eca5fea073e6cc3f6de36216161fe81bbbc2405c550c5e

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.1.0rc4-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: mqt.qcec-2.1.0rc4-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 852.9 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for mqt.qcec-2.1.0rc4-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 f39893f7483efa955ee7bad2f18c8a3069e82f338e114a8af9fb4d61cbab0504
MD5 242684195075f0fcf59a791cf2656b6b
BLAKE2b-256 06e676e18f988fa2b37e93f3abff104854710291e4895aff6de290eb16ec8c6f

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.1.0rc4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.1.0rc4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3c6dab189e9fba94e4690f2a4d3db83f7d1df08c913748ed022e4e01ab13e780
MD5 353dba9ad25036df3fd0ebee963f75c9
BLAKE2b-256 0bb9009c9c5920f43d079f579edebd01594017282c6b02f4d8016561ae86918d

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.1.0rc4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.1.0rc4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 151baf2160884218fca5cc06e3942d777536afcd0956a4093750338c002d62b2
MD5 9633d75ef8b960a50f945ddf298aee18
BLAKE2b-256 15fdd740facedb24b56b7ff311e0bd4922cf1785f66a31d81c6584375bf18d22

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.1.0rc4-cp37-cp37m-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.1.0rc4-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 860393dd5b7c6fd4054d03728541dab3ae7b6539b1afbff7200fc824686ba101
MD5 d4a6c94a94f0b84b6bd35f8e40ccab61
BLAKE2b-256 f325d8758b569519db3c4b04e14b5c88aa243a1c62fa150648726d066db8a08f

See more details on using hashes here.

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