Skip to main content

Python tools for low density parity check (LDPC) codes

Project description

LDPC

This module provides a suite of tools for building and benmarking low density parity check (LDPC) codes. Features include functions for mod2 (binary) arithmatic and a fast implementation of the belief propagation decoder.

Documentation

The full documentation can be found here.

Installation from PyPi (recommended method)

Installtion from PyPi requires Python>=3.8. To install via pip, run:

pip install -U ldpc

Installation (from source)

Installation from source requires Python>=3.6 and a local C compiler (eg. 'gcc' in Linux or 'clang' in Windows). The LDPC package can then be installed by running:

git clone https://github.com/quantumgizmos/ldpc.git
cd ldpc
pip install -e ldpc

Dependencies

This package makes use of the mod2sparse data structure from Radford Neal's Software for Low Density Parity Check Codes C package.

Attribution

If you use this software in your research please cite as follows:

@software{Roffe_LDPC_Python_tools_2022,
author = {Roffe, Joschka},
title = {{LDPC: Python tools for low density parity check codes}},
url = {https://pypi.org/project/ldpc/},
year = {2022}
}

If you have used the BP+OSD class for quantum error correction, please also cite the following paper:

@article{roffe_decoding_2020,
   title={Decoding across the quantum low-density parity-check code landscape},
   volume={2},
   ISSN={2643-1564},
   url={http://dx.doi.org/10.1103/PhysRevResearch.2.043423},
   DOI={10.1103/physrevresearch.2.043423},
   number={4},
   journal={Physical Review Research},
   publisher={American Physical Society (APS)},
   author={Roffe, Joschka and White, David R. and Burton, Simon and Campbell, Earl},
   year={2020},
   month={Dec}
}

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

ldpc-0.1.51.tar.gz (367.7 kB view details)

Uploaded Source

Built Distributions

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

ldpc-0.1.51-cp311-cp311-win_amd64.whl (533.9 kB view details)

Uploaded CPython 3.11Windows x86-64

ldpc-0.1.51-cp311-cp311-win32.whl (515.0 kB view details)

Uploaded CPython 3.11Windows x86

ldpc-0.1.51-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

ldpc-0.1.51-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

ldpc-0.1.51-cp311-cp311-macosx_11_0_arm64.whl (561.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

ldpc-0.1.51-cp311-cp311-macosx_10_9_x86_64.whl (567.9 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

ldpc-0.1.51-cp310-cp310-win_amd64.whl (533.7 kB view details)

Uploaded CPython 3.10Windows x86-64

ldpc-0.1.51-cp310-cp310-win32.whl (516.0 kB view details)

Uploaded CPython 3.10Windows x86

ldpc-0.1.51-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

ldpc-0.1.51-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

ldpc-0.1.51-cp310-cp310-macosx_11_0_arm64.whl (561.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

ldpc-0.1.51-cp310-cp310-macosx_10_9_x86_64.whl (567.3 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

ldpc-0.1.51-cp39-cp39-win_amd64.whl (535.4 kB view details)

Uploaded CPython 3.9Windows x86-64

ldpc-0.1.51-cp39-cp39-win32.whl (517.9 kB view details)

Uploaded CPython 3.9Windows x86

ldpc-0.1.51-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

ldpc-0.1.51-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

ldpc-0.1.51-cp39-cp39-macosx_11_0_arm64.whl (562.8 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

ldpc-0.1.51-cp39-cp39-macosx_10_9_x86_64.whl (569.1 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

ldpc-0.1.51-cp38-cp38-win_amd64.whl (536.0 kB view details)

Uploaded CPython 3.8Windows x86-64

ldpc-0.1.51-cp38-cp38-win32.whl (517.9 kB view details)

Uploaded CPython 3.8Windows x86

ldpc-0.1.51-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

ldpc-0.1.51-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

ldpc-0.1.51-cp38-cp38-macosx_11_0_arm64.whl (563.1 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

ldpc-0.1.51-cp38-cp38-macosx_10_9_x86_64.whl (569.6 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

Details for the file ldpc-0.1.51.tar.gz.

File metadata

  • Download URL: ldpc-0.1.51.tar.gz
  • Upload date:
  • Size: 367.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for ldpc-0.1.51.tar.gz
Algorithm Hash digest
SHA256 770053aa382182936ecb92300c5f54e978e405b76efef9d4e4163e27bb02cff9
MD5 7551dd7eb6d92664e1afae518e244aee
BLAKE2b-256 d78d3cb1c4d2460dcec48780f720a47a8cd2a508c90f4491c7fcad8e44353bf8

See more details on using hashes here.

File details

Details for the file ldpc-0.1.51-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: ldpc-0.1.51-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 533.9 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for ldpc-0.1.51-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 18aabbe46dc7ff57fdacf800773b368f9fe4f3c06136a5a8ef47f6a65e32e947
MD5 c1b5465ba7e284bf8c0b00c70f9de36e
BLAKE2b-256 1636e671a8091809f384257bf5a771589288aa9ed2bbb5be690507626707eac8

See more details on using hashes here.

File details

Details for the file ldpc-0.1.51-cp311-cp311-win32.whl.

File metadata

  • Download URL: ldpc-0.1.51-cp311-cp311-win32.whl
  • Upload date:
  • Size: 515.0 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for ldpc-0.1.51-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 b61271bc395e9c90e1db6ecc672d2b3de635a35c8eebf0e194afc3f7bae5f3e9
MD5 167ad59478edf3b75681fe88b36bf459
BLAKE2b-256 2647fd71628775d51eff87a09b955eb3807c72e9b2a89ffcefd91de14274be7e

See more details on using hashes here.

File details

Details for the file ldpc-0.1.51-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ldpc-0.1.51-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cd6b82a1ea9cc62d972734b3a98f7142df4516485efb62fcf9f0613bc9eec277
MD5 d51d342603208249617c0e83ecd039b1
BLAKE2b-256 3c6d31ebc007f599a5ceba6c009032c4b987b2bcfe01cc12d209513cea6160ed

See more details on using hashes here.

File details

Details for the file ldpc-0.1.51-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for ldpc-0.1.51-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ee59b48844386323fbb73dbbe0f995334e24714803b39abcce84f34975070456
MD5 d26fd72542a18c0c54d597216d5740f4
BLAKE2b-256 aea56e4ecf37c8d598107461021de506f0d9a8abe02a62299847684ed0641c8e

See more details on using hashes here.

File details

Details for the file ldpc-0.1.51-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ldpc-0.1.51-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4a14b100d30714061e2fd5c6c27f66a4853b1893775b286dbfafbfa7d44811fe
MD5 12f296635f0ee2dcbe1fe82688a094d4
BLAKE2b-256 4a59c6611c4ca62a1533fe62890901c6ae4ed5b6273d575a37fd5ead606fc5dd

See more details on using hashes here.

File details

Details for the file ldpc-0.1.51-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ldpc-0.1.51-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a496af25d9bb00a50c4397cf1ade70760a154ac85e95d389b8ff906eaf19c682
MD5 080b966f272dc98b956ed1588845f760
BLAKE2b-256 ab927a92259554a0aa3575663799e5cae8770b2b41cef8ca49e9bdca6deee9a3

See more details on using hashes here.

File details

Details for the file ldpc-0.1.51-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: ldpc-0.1.51-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 533.7 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for ldpc-0.1.51-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d56f55babb22c8d52c1f617e4699a519bcadbb1b38b7c71e890713d53d88816b
MD5 f892264f31c18ee01a8c56d0a6d54c49
BLAKE2b-256 58e42830544114532374b5507ce82042d93fa228d7331f347baa84cafba9bcbe

See more details on using hashes here.

File details

Details for the file ldpc-0.1.51-cp310-cp310-win32.whl.

File metadata

  • Download URL: ldpc-0.1.51-cp310-cp310-win32.whl
  • Upload date:
  • Size: 516.0 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for ldpc-0.1.51-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 86c2d4ac33abe27194b35eeb5e990dcf427c4c6b5f5db3c48fa0513fcbe13d96
MD5 349ab11e4d3fe1ff4026f751ce43d9c5
BLAKE2b-256 13c25da418318d00be10539baf1932b2c99abf153d1076f1242f3a99712b619f

See more details on using hashes here.

File details

Details for the file ldpc-0.1.51-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ldpc-0.1.51-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cac4e1047dd2e09fbfb376f2bccd66c0a0b03748afdea0a0cd6268b85882de17
MD5 42f4f0643e0548b9996f408e0e1c4fb9
BLAKE2b-256 bb72f1e6d854da6db4e22c6b7bc36eb55aa8e1cfc1fa7bef3204445973fe51de

See more details on using hashes here.

File details

Details for the file ldpc-0.1.51-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for ldpc-0.1.51-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a3ac76081b1fe05c4b96df6822e41cd416d35dad4ac5c9e2e640f38886b78054
MD5 e695ec0940c2e10693fbde8168c1e68b
BLAKE2b-256 f14cd926e2e9eb90b774d938c3082963985582318d2cd8615e084e72a4e65dd3

See more details on using hashes here.

File details

Details for the file ldpc-0.1.51-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ldpc-0.1.51-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 42f6dcc75ccadfb6265ddc11011a5269c0e06ffb2ba82518513626063b43d251
MD5 692eb4337ab37707f7f5aa68dbdff82e
BLAKE2b-256 9070ac00d032a893ec83989ba1cb576594c50e1a5d0dd28332e9d4090d0be2f6

See more details on using hashes here.

File details

Details for the file ldpc-0.1.51-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ldpc-0.1.51-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d6858155b99262d3c0d6383681e37393966eacb74569a0b248fdae90f3c6aecc
MD5 2e78aa253b4b0076e4ab9025a81cd2f3
BLAKE2b-256 635b6e2a67ed6655eb548e2ba77342497211ee1fec03f61f670b226da67018e2

See more details on using hashes here.

File details

Details for the file ldpc-0.1.51-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: ldpc-0.1.51-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 535.4 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for ldpc-0.1.51-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 06738cfe9b0f8ecc8d0c726e46c6eb0e23bdf2a859d202b262c3d9f000472c5c
MD5 8910fa690d4b020e1c6b3b2ca4128e0e
BLAKE2b-256 87d892133afdcf04217631959cd5ec4695373dbb1a6fc016ad8a35151a737486

See more details on using hashes here.

File details

Details for the file ldpc-0.1.51-cp39-cp39-win32.whl.

File metadata

  • Download URL: ldpc-0.1.51-cp39-cp39-win32.whl
  • Upload date:
  • Size: 517.9 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for ldpc-0.1.51-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 d053eca9f74febb7fc96f2c5fad34998178ec37cd72d72378efe1e8d16cc2551
MD5 6e07aadd02535e48b5d71663d384893d
BLAKE2b-256 48521b4c2b885bb0cea1693a02c06f8aa55a885bb9ebad3cf54359b7b951de73

See more details on using hashes here.

File details

Details for the file ldpc-0.1.51-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ldpc-0.1.51-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7cf280152b4a67ddbdb07c802cc2f4d8e43e9805bf195732da3d7d72e85a3a4e
MD5 b89ca8543ad22106b37b47fba26cb55c
BLAKE2b-256 b43589cd38ca1bfda91d5a600d95de800e22b38e74f067e38059d68746d2ebd2

See more details on using hashes here.

File details

Details for the file ldpc-0.1.51-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for ldpc-0.1.51-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b03a984706e781b3f97690b41894d13452daa0bdf52e47ca35aa84eecdd20854
MD5 65ce18631a9b569f528bb0deacbe94ed
BLAKE2b-256 d9a88b0041ded20b3853dde72e6acaa74249748cf5056f7030bb957ac123ca5d

See more details on using hashes here.

File details

Details for the file ldpc-0.1.51-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: ldpc-0.1.51-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 562.8 kB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for ldpc-0.1.51-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d6cc707864c62ea8a227f5d3009efb16248516daceda2e4bc0b11759898d23cd
MD5 d04612094dd2b87374fa9cba24f4ec38
BLAKE2b-256 b376d46487f8fd6910393849015d306ce7708a8945ae9563f8f7a1a6bc5cb94a

See more details on using hashes here.

File details

Details for the file ldpc-0.1.51-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ldpc-0.1.51-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 65d6336d56fc9f396061a1b4f8b93b394641f87dc2e2a7c6130020a8c22bac2d
MD5 87736b4ae0c1970b2518f87329c40192
BLAKE2b-256 e33690c676a7c2281413b5de2199068a7e336680d054f1095381494e8577087c

See more details on using hashes here.

File details

Details for the file ldpc-0.1.51-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: ldpc-0.1.51-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 536.0 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for ldpc-0.1.51-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 fe91d583435ba6b767d590ef3b56a250284fceac95e4f4e6d0fd3227190f8306
MD5 4a6d54aa943e7ff052eb990652aa4e8f
BLAKE2b-256 cd935646b65c8f997e7bdbace93c4e98f9f1c40c6f00a86bc8a98f4f1706ff32

See more details on using hashes here.

File details

Details for the file ldpc-0.1.51-cp38-cp38-win32.whl.

File metadata

  • Download URL: ldpc-0.1.51-cp38-cp38-win32.whl
  • Upload date:
  • Size: 517.9 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for ldpc-0.1.51-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 7e8d1242e85d43a8a8c0d4aee5335adc59b42e78bb53b89748b95f0bf3377fd8
MD5 c3b096777da2ebb5536b496eb2f4d33b
BLAKE2b-256 1f6108f7de8a05932526716a3bae2d7a4de7d175a399fcfa581a74f39414b551

See more details on using hashes here.

File details

Details for the file ldpc-0.1.51-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ldpc-0.1.51-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bae840ee5944bc21eb736dbf314affbda4cb102c83f7404175c4a2d71b49ff6c
MD5 99d6a299e8f55bb02edb3f0f9a55ee8d
BLAKE2b-256 a265ade4fd550007539a8ef24b64c6bd5ee65613c62293c9c15b9da587405d1d

See more details on using hashes here.

File details

Details for the file ldpc-0.1.51-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for ldpc-0.1.51-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d6a0243831d140cbc9b240310c3a18c24695ffaecfb626164ed51d92e8608004
MD5 929b4679038629bd098beac0e96957bc
BLAKE2b-256 68756382fa036e944c65c73e8e4d5bed49ad605ebbbf57b97f4f16370a2020b9

See more details on using hashes here.

File details

Details for the file ldpc-0.1.51-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

  • Download URL: ldpc-0.1.51-cp38-cp38-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 563.1 kB
  • Tags: CPython 3.8, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for ldpc-0.1.51-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 96a028d6c2418872d9e3b91fdaf6f1d73d31792293d0da2db010dadfeba22448
MD5 583db75c0cf8d5bcb5c56b8a9e19c909
BLAKE2b-256 5417abefdc0d80024bec76331c13c8b96698fe9d9d7125300ad8c3a0a131af7b

See more details on using hashes here.

File details

Details for the file ldpc-0.1.51-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ldpc-0.1.51-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c0768f25a01be46ff33f8542afbb50c1ec58126b7f7ff6604538eae4fd87ff9e
MD5 b1b6e1ce45566223792359d73a8ee0c4
BLAKE2b-256 315042615e7d195382cf3a49325a79656858264ba24a309ff526031b53bbbdd2

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