Skip to main content

Deltakit-Stim

Deltakit-Stim is a Stim fork that adds support for non-computational leakage errors and an adaptive detector error model (DEM). It consists of a set of instructions to handle single qubit leakage within Stim's API definition. Specifically:

  • A leakage reset RL as a new GateType. It returns the indexed qubits in the sealed state, that is the encoded quantum state.
  • A leakage channel LEAKAGE as a new GateType. It creates a noisy channel for leakage.
  • A heralded leakage event HERALD_LEAKAGE_EVENT as a new GateType. It records the noise event in the measurement record.

The adaptive DEM is an extension to current Stim's DEM datastructure to hold metadata associated with non-computational errors (leakage, erasure, atom loss) to be further interpreted by the decoder. It provides additional edge updates to the decoding graph from heralded leakage events which can be pre-processed by the decoder to improve the qubit footprint.

Installation as a Python dependency

Whenever using hatch, uv or any pyproject-compatible Python manager, edit file pyproject.toml to add the line

  "deltakit-stim"

to the list of dependencies.

Installation from source

The simplest way to contribute is to git clone Deltakit-Stim from the GitHub repository

git clone https://github.com/Deltakit/deltakit-stim.git

Then, the C++ package can be installed either using build managers CMake

cd deltakit-stim
mkdir build
cd build
cmake ..

or Bazel

bazel build //:stim

provided a C++ compiler is installed on the system.

How Deltakit-Stim works

To get started with deltakit-stim, an example demonstrating how deltakit-stim handles leakage will be introduced. Qubits are designed to operate in two computational states: |0⟩ and |1⟩. However, qubits can sometimes "leak" into higher energy states (|2⟩, |3⟩, etc.) that are outside the computational sub-space. Leakage is a significant source of error as leaked qubits can spread errors to other qubits through multi-qubit gates.

How Deltakit-Stim models leakage differently:

  1. Specify where leakage occurs: Use LEAKAGE(p) gates to introduce leakage, where p is the probability of each specified qubit leaking.
  2. Leakage propagation through gates: Deltakit-Stim models how two-qubit gates (CZ, CX, CY, etc.) spread leakage between qubits and introduce depolarizing errors when leaked qubits interact. Users can configure leakage spreading and transfer rates using optional gate parameters (see gate documentation for details).
  3. Detect accumulated leakage: HERALD_LEAKAGE_EVENT adds a bit to the measurement record (accessible via rec[-...]) indicating whether a qubit has leaked, based on the accumulated leakage from LEAKAGE gates and propagation through 2-qubit gates. Reset gates (R, RX etc.) clear the accumulated leakage for their target qubits.
  4. Leakage-aware decoding: The DEM contains heralded errors with probabilities derived from the accumulated leakage, enabling leakage-aware decoding strategies.

This differs from Stim's HERALDED_ERASE, which requires explicitly specifying each heralded error at a particular qubit and time step, without automatic tracking of leakage accumulation and propagation.

The example below demonstrates how HERALD_LEAKAGE_EVENT enables leakage detection.

Getting Started

This example demonstrates the use of the LEAKAGE and HERALD_LEAKAGE_EVENT gates. This is essential for leakage-aware error correction and represents the key difference from Stim.

import numpy as np
import deltakit_stim

circuit = deltakit_stim.Circuit("""
R 0 1 2
CZ 0 1
CZ 1 2
LEAKAGE(0.1) 1
HERALD_LEAKAGE_EVENT 1
M 0 1 2
DETECTOR rec[-4]
DETECTOR rec[-3]
DETECTOR rec[-2]
DETECTOR rec[-1]
""")

sampler = circuit.compile_detector_sampler()
detection_events = sampler.sample(shots=1000)

print(f"Detection events shape: {detection_events.shape}")
print(f"Number of detectors: {detection_events.shape[1]}")

# The first detector (index 0) references rec[-4], the result of HERALD_LEAKAGE_EVENT
herald_events = detection_events[:, 0]
leakage_detected = np.sum(herald_events)
print(f"\nLeakage events detected: {leakage_detected} out of {len(herald_events)} shots")
print(f"Leakage rate: {leakage_detected / len(herald_events) * 100:.2f}%")

# Generate the DEM to see the heralded errors
dem = circuit.detector_error_model()
print(f"\nDetector Error Model:\n{dem}")

The circuit uses LEAKAGE(0.1) to simulate a 10% probability of leakage on qubit 1. The HERALD_LEAKAGE_EVENT instruction adds an entry to the measurement record, which is captured by the first detector (DETECTOR rec[-4], labeled D0 in the DEM), creating a fourth detector specifically for heralding in this circuit. Running this circuit for 1000 shots detects approximately 100 leakage events, matching the 10% leakage probability.

The generated Detector Error Model includes heralded errors showing how leakage affects the detectors:

error(0.5) D0 D2

This heralded error indicates that when the herald detector D0 fires (showing qubit 1 leaked), detector D2 is affected with 50% probability because measuring a leaked qubit produces a random outcome. Without HERALD_LEAKAGE_EVENT, the DEM would only show three detectors without any errors.

Use in Error Correction

Leakage-aware decoders use the herald information from HERALD_LEAKAGE_EVENT to make better correction decisions. The Local Clustering Decoder demonstrates that leakage-aware decoding can reduce physical qubit requirements by a factor of 4 compared to standard non-adaptive decoding.

For complete examples of leakage-aware decoding workflows, see the Deltakit Decoding guide.

Citation

For any reference to Stim, please consider using the citation:

@article{gidney2021stim,
  doi = {10.22331/q-2021-07-06-497},
  url = {https://doi.org/10.22331/q-2021-07-06-497},
  title = {Stim: a fast stabilizer circuit simulator},
  author = {Gidney, Craig},
  journal = {{Quantum}},
  issn = {2521-327X},
  publisher = {{Verein zur F{\"{o}}rderung des Open Access Publizierens in den Quantenwissenschaften}},
  volume = {5},
  pages = {497},
  month = jul,
  year = {2021}
}

If you use Deltakit-Stim's leakage-aware features, please also consider citing the Local Clustering Decoder paper, which details the leakage-aware decoding method:

@article{ziad2025local,
  doi     = {10.1038/s41467-025-66773-x},
  url     = {https://doi.org/10.1038/s41467-025-66773-x},
  title   = {Local clustering decoder as a fast and adaptive hardware decoder for the surface code},
  author  = {Ziad, Abbas B. and Zalawadiya, Ankit and Topal, Canberk and Camps, Joan and Gehér, György P. and Stafford, Matthew P. and Turner, Mark L.},
  journal = {Nature Communications},
  volume  = {16},
  pages   = {11048},
  year    = {2025},
}

Download files

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

Source Distribution

deltakit_stim-0.2.2.tar.gz (915.3 kB view details)

Uploaded Source

Built Distributions

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

deltakit_stim-0.2.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.1 MB view details)

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

deltakit_stim-0.2.2-cp314-cp314-macosx_26_0_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.14macOS 26.0+ x86-64

deltakit_stim-0.2.2-cp314-cp314-macosx_26_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.14macOS 26.0+ ARM64

deltakit_stim-0.2.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.1 MB view details)

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

deltakit_stim-0.2.2-cp313-cp313-macosx_26_0_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.13macOS 26.0+ x86-64

deltakit_stim-0.2.2-cp313-cp313-macosx_26_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.13macOS 26.0+ ARM64

deltakit_stim-0.2.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.1 MB view details)

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

deltakit_stim-0.2.2-cp312-cp312-macosx_26_0_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.12macOS 26.0+ x86-64

deltakit_stim-0.2.2-cp312-cp312-macosx_26_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.12macOS 26.0+ ARM64

deltakit_stim-0.2.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.1 MB view details)

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

deltakit_stim-0.2.2-cp311-cp311-macosx_26_0_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.11macOS 26.0+ x86-64

deltakit_stim-0.2.2-cp311-cp311-macosx_26_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.11macOS 26.0+ ARM64

deltakit_stim-0.2.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.1 MB view details)

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

deltakit_stim-0.2.2-cp310-cp310-macosx_26_0_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.10macOS 26.0+ x86-64

deltakit_stim-0.2.2-cp310-cp310-macosx_26_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.10macOS 26.0+ ARM64

File details

Details for the file deltakit_stim-0.2.2.tar.gz.

File metadata

  • Download URL: deltakit_stim-0.2.2.tar.gz
  • Upload date:
  • Size: 915.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for deltakit_stim-0.2.2.tar.gz
Algorithm Hash digest
SHA256 ad5ae4904edc5d847ce81f19c186d6d6340af5394b42029714189a3afe409381
MD5 58d37b97213db6a69ccd5506987945f3
BLAKE2b-256 820107c5f2f54b006c206742ad93cdfd1d7f0e7f17c2df916611e8f27643a9c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for deltakit_stim-0.2.2.tar.gz:

Publisher: publish.yml on Deltakit/deltakit-stim

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

File details

Details for the file deltakit_stim-0.2.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for deltakit_stim-0.2.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ac31455cad8cae33325be578f274ffb938604224580f77ff71176093dda178f6
MD5 8c6d5f1a02a6b817c359ec1eb47e0919
BLAKE2b-256 a9a7eb0e6d1842317bda882eeb31fa9ecd6cf0eece033702c05139a61893d5e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for deltakit_stim-0.2.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on Deltakit/deltakit-stim

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

File details

Details for the file deltakit_stim-0.2.2-cp314-cp314-macosx_26_0_x86_64.whl.

File metadata

File hashes

Hashes for deltakit_stim-0.2.2-cp314-cp314-macosx_26_0_x86_64.whl
Algorithm Hash digest
SHA256 37d766520c195ae7fff4efb2e7cd5f20e044894fcfaee1a3532c2bbc733a253c
MD5 1b1eac87dae16fc9fd47e98cfd17bc9e
BLAKE2b-256 8e6e53463854fd9c870f04ad30d063d951724f8049f011ef08622b389f953d0c

See more details on using hashes here.

Provenance

The following attestation bundles were made for deltakit_stim-0.2.2-cp314-cp314-macosx_26_0_x86_64.whl:

Publisher: publish.yml on Deltakit/deltakit-stim

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

File details

Details for the file deltakit_stim-0.2.2-cp314-cp314-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for deltakit_stim-0.2.2-cp314-cp314-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 7bc8b9a5013823f531e3c3291badada091392961579e23ccca5042c5b3986e26
MD5 3d8629e230b8aa5d677edc09a5728404
BLAKE2b-256 2764c588dab7885595c44230aae8664876daa1472204f879ff70dc36745e3395

See more details on using hashes here.

Provenance

The following attestation bundles were made for deltakit_stim-0.2.2-cp314-cp314-macosx_26_0_arm64.whl:

Publisher: publish.yml on Deltakit/deltakit-stim

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

File details

Details for the file deltakit_stim-0.2.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for deltakit_stim-0.2.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3ee6d8a0a52fd7baee63e9fc9dcbf973561a439cd9da9850503bdf19e7271a2d
MD5 05b21245cb2a3dc3545853a2426fb86c
BLAKE2b-256 eae5ca7f9e11f924f94035f5cb0893696af12eb792025c2d82d3392cfb769b85

See more details on using hashes here.

Provenance

The following attestation bundles were made for deltakit_stim-0.2.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on Deltakit/deltakit-stim

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

File details

Details for the file deltakit_stim-0.2.2-cp313-cp313-macosx_26_0_x86_64.whl.

File metadata

File hashes

Hashes for deltakit_stim-0.2.2-cp313-cp313-macosx_26_0_x86_64.whl
Algorithm Hash digest
SHA256 b46ad7d37d40e34846ce2e9faccfb0d39982b1c6a142e52577385ec4a6717230
MD5 a26612846ce8ef7caa59aef6037f1bfc
BLAKE2b-256 050e7cff769c351ca1d407d3f6b85c71339089f0a923790662a404ef78d7ccc1

See more details on using hashes here.

Provenance

The following attestation bundles were made for deltakit_stim-0.2.2-cp313-cp313-macosx_26_0_x86_64.whl:

Publisher: publish.yml on Deltakit/deltakit-stim

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

File details

Details for the file deltakit_stim-0.2.2-cp313-cp313-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for deltakit_stim-0.2.2-cp313-cp313-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 11072ba4ac73bd5f184ebc99e56435d8a928fa31f404265d8319345d8f28e1b5
MD5 edf8a9f126ccb45d2e2a694ba96f5c34
BLAKE2b-256 6a398ec17f14dd4b7180786deaa891a793829ad89f2ebc641613066a99ff0302

See more details on using hashes here.

Provenance

The following attestation bundles were made for deltakit_stim-0.2.2-cp313-cp313-macosx_26_0_arm64.whl:

Publisher: publish.yml on Deltakit/deltakit-stim

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

File details

Details for the file deltakit_stim-0.2.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for deltakit_stim-0.2.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0cf4254cb0c2830d374b6e27409ad0c0ad9e485577e1e9deafbd78a39d90d950
MD5 a2e6e91491657e233ddb5b24cdd4d5e2
BLAKE2b-256 e784408e67e65526053423610585d10bbef3e2b73f8d834cd96c80b7fb57f343

See more details on using hashes here.

Provenance

The following attestation bundles were made for deltakit_stim-0.2.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on Deltakit/deltakit-stim

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

File details

Details for the file deltakit_stim-0.2.2-cp312-cp312-macosx_26_0_x86_64.whl.

File metadata

File hashes

Hashes for deltakit_stim-0.2.2-cp312-cp312-macosx_26_0_x86_64.whl
Algorithm Hash digest
SHA256 a6a3e74784099b4835aa5b659a70d90f94825be4008d4054e0a8cc7490c37ed6
MD5 b1dfe872975324acfdc5c6427313dd7d
BLAKE2b-256 7365d54eb1e40af5c315f273262a4ba246a13c86ebb0eb62eb3f5cd2de98ff57

See more details on using hashes here.

Provenance

The following attestation bundles were made for deltakit_stim-0.2.2-cp312-cp312-macosx_26_0_x86_64.whl:

Publisher: publish.yml on Deltakit/deltakit-stim

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

File details

Details for the file deltakit_stim-0.2.2-cp312-cp312-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for deltakit_stim-0.2.2-cp312-cp312-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 097e74e569e7fe786fe1ebfd80d624d4fe42881a4bfb5ae646f8b1a3b8711f7e
MD5 f0482247a0021dcfd86694515e8c7c8f
BLAKE2b-256 b7bd17b33ade62c0e188a625910ac1267e01819e2c2f58eba2b893d27704f646

See more details on using hashes here.

Provenance

The following attestation bundles were made for deltakit_stim-0.2.2-cp312-cp312-macosx_26_0_arm64.whl:

Publisher: publish.yml on Deltakit/deltakit-stim

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

File details

Details for the file deltakit_stim-0.2.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for deltakit_stim-0.2.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9ad4218b050635d92b849ff65d30d1dae77c8924030390eb88a08c1c85ce21fb
MD5 bfd024eb9188f8123d0f938c05f73617
BLAKE2b-256 3dd9a9ef758faea27627a4c42fc6f0056eee68c05ec58d69062048ef856619f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for deltakit_stim-0.2.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on Deltakit/deltakit-stim

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

File details

Details for the file deltakit_stim-0.2.2-cp311-cp311-macosx_26_0_x86_64.whl.

File metadata

File hashes

Hashes for deltakit_stim-0.2.2-cp311-cp311-macosx_26_0_x86_64.whl
Algorithm Hash digest
SHA256 2fb5f687e06414c81f257cd2ec77882233857259138f0d6229d41f34fae985b5
MD5 2f1f0812ceebed77f1833bd930c30e38
BLAKE2b-256 43826275dec448043cd9594916d3c9694604a2f5dcc67102f7c599603c9b5bab

See more details on using hashes here.

Provenance

The following attestation bundles were made for deltakit_stim-0.2.2-cp311-cp311-macosx_26_0_x86_64.whl:

Publisher: publish.yml on Deltakit/deltakit-stim

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

File details

Details for the file deltakit_stim-0.2.2-cp311-cp311-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for deltakit_stim-0.2.2-cp311-cp311-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 6fddd7accd7ca42deee50909f4471a27fdfb9e8edb4cda94144545a9b5b78cf7
MD5 0cd8d21a5e11d5760692a96e9b024efe
BLAKE2b-256 38f8267a11551df47a7c8689d66c4f0f05a12a465d0bcec027971ab1fe3362c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for deltakit_stim-0.2.2-cp311-cp311-macosx_26_0_arm64.whl:

Publisher: publish.yml on Deltakit/deltakit-stim

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

File details

Details for the file deltakit_stim-0.2.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for deltakit_stim-0.2.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 63ad35249fa25086b8feb870550fe54cdf1344b174609d85b858a1ceed259808
MD5 e6644ee4459ace22d3fad91015ca4538
BLAKE2b-256 305143566a63287cce01e337e80f26f90e518f46e7330c29bf4ad9caf3a164e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for deltakit_stim-0.2.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on Deltakit/deltakit-stim

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

File details

Details for the file deltakit_stim-0.2.2-cp310-cp310-macosx_26_0_x86_64.whl.

File metadata

File hashes

Hashes for deltakit_stim-0.2.2-cp310-cp310-macosx_26_0_x86_64.whl
Algorithm Hash digest
SHA256 50d80fcaefe80c36ff3f51c413f0aa1390fc8830ca0297c745c06c97d3dfaee2
MD5 ebbeebe7ad5e293d5ace00156c387f29
BLAKE2b-256 3b31e14880c0ddca15e5a07ad555c27ab26593e003d9257e8b8bb2570632df88

See more details on using hashes here.

Provenance

The following attestation bundles were made for deltakit_stim-0.2.2-cp310-cp310-macosx_26_0_x86_64.whl:

Publisher: publish.yml on Deltakit/deltakit-stim

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

File details

Details for the file deltakit_stim-0.2.2-cp310-cp310-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for deltakit_stim-0.2.2-cp310-cp310-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 fb9059940397e07fde8d420f7aea08cd07e6c4643a2da23b1f996fbfd8673c97
MD5 e346c8f03ec1bf0bf4b91d0fc4bbd24c
BLAKE2b-256 ec9012ad303a6fb2a17bd636f06742fd73c6c04411d2aee737888f55b3e8819c

See more details on using hashes here.

Provenance

The following attestation bundles were made for deltakit_stim-0.2.2-cp310-cp310-macosx_26_0_arm64.whl:

Publisher: publish.yml on Deltakit/deltakit-stim

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

Release history Release notifications | RSS feed

This release

0.2.2 This release

16 files

0.2.1

16 files

0.2.0

13 files

0.1.3

13 files

0.1.2

13 files

0.1.1

13 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page