Skip to main content

Python bindings for HypercubeESN: reservoir computing on Boolean hypercube graphs

Project description

HypercubeESN

Build wheels

Python bindings for HypercubeESN — an Echo State Network whose reservoir is a Boolean hypercube. Each neuron sits on a vertex and connects only to its Hamming-distance-1 neighbors, with every adjacency resolved by a single XOR on the vertex's binary index: a deterministic O(1) lookup that stores nothing at all. There is no adjacency list to build, store, or serialize — the connectivity is implicit in the indices. The neurons themselves stay familiar continuous tanh units; only the addressing is binary, the dynamics fully real-valued.

That same implicit addressing extends into time: each update also reaches back through an addressable delay line of its neighbors' last M states, so temporal memory is intrinsic to the topology — memory by construction rather than by luck. N = 2^DIM neurons (DIM 5-16, i.e. 32 to 65,536), with DIM-invariant hyperparameters: the same spectral radius and input scaling work at every dimension.

Installation

pip install hypercube-esn

Pre-built wheels for Python 3.10-3.13 on Windows (x64), Linux (x86_64, aarch64), and macOS (x86_64, arm64). No compiler required.

Quick Start

import numpy as np
import hypercube_esn as he

# One-step-ahead sine prediction
signal = np.sin(np.linspace(0, 20 * np.pi, 2000)).astype(np.float32)
esn = he.ESN(dim=7)
esn.fit(signal, warmup=200)
print(f"R2 = {esn.r2():.6f}")
print(f"NRMSE = {esn.nrmse():.6f}")

Features

  • Simple API -- fit() handles warmup, run, and train in one call
  • DIM 5-16 -- 32 to 65,536 neurons, DIM-invariant defaults
  • HCNN readout -- learned convolutional readout on raw reservoir state
  • Multi-input -- multiple input channels via contiguous-block driving
  • Streaming mode -- online training for real-time applications
  • Model persistence -- pickle, save/load to disk

Documentation

Full API reference: docs/Python_SDK.md

Project repository: github.com/dliptak001/HypercubeESN

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

hypercube_esn-0.3.1.tar.gz (15.4 kB view details)

Uploaded Source

Built Distributions

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

hypercube_esn-0.3.1-cp313-cp313-win_amd64.whl (187.0 kB view details)

Uploaded CPython 3.13Windows x86-64

hypercube_esn-0.3.1-cp313-cp313-manylinux_2_28_x86_64.whl (325.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

hypercube_esn-0.3.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (207.8 kB view details)

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

hypercube_esn-0.3.1-cp313-cp313-macosx_13_0_x86_64.whl (205.2 kB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

hypercube_esn-0.3.1-cp313-cp313-macosx_13_0_arm64.whl (178.9 kB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64

hypercube_esn-0.3.1-cp312-cp312-win_amd64.whl (186.9 kB view details)

Uploaded CPython 3.12Windows x86-64

hypercube_esn-0.3.1-cp312-cp312-manylinux_2_28_x86_64.whl (325.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

hypercube_esn-0.3.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (207.8 kB view details)

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

hypercube_esn-0.3.1-cp312-cp312-macosx_13_0_x86_64.whl (205.2 kB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

hypercube_esn-0.3.1-cp312-cp312-macosx_13_0_arm64.whl (178.9 kB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

hypercube_esn-0.3.1-cp311-cp311-win_amd64.whl (184.2 kB view details)

Uploaded CPython 3.11Windows x86-64

hypercube_esn-0.3.1-cp311-cp311-manylinux_2_28_x86_64.whl (324.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

hypercube_esn-0.3.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (207.3 kB view details)

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

hypercube_esn-0.3.1-cp311-cp311-macosx_13_0_x86_64.whl (202.5 kB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

hypercube_esn-0.3.1-cp311-cp311-macosx_13_0_arm64.whl (177.3 kB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

hypercube_esn-0.3.1-cp310-cp310-win_amd64.whl (182.8 kB view details)

Uploaded CPython 3.10Windows x86-64

hypercube_esn-0.3.1-cp310-cp310-manylinux_2_28_x86_64.whl (322.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

hypercube_esn-0.3.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (206.0 kB view details)

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

hypercube_esn-0.3.1-cp310-cp310-macosx_13_0_x86_64.whl (201.3 kB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

hypercube_esn-0.3.1-cp310-cp310-macosx_13_0_arm64.whl (176.0 kB view details)

Uploaded CPython 3.10macOS 13.0+ ARM64

File details

Details for the file hypercube_esn-0.3.1.tar.gz.

File metadata

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

File hashes

Hashes for hypercube_esn-0.3.1.tar.gz
Algorithm Hash digest
SHA256 88f66ec8198951a5566b03ccabbdc655dca3c669e4eba5a8689f3fb512158156
MD5 a898ec67625f779999d2ae21e00086e5
BLAKE2b-256 ab91620a267cf039b52814cb2dd80e07977d17933236eb4173314b34824b2901

See more details on using hashes here.

Provenance

The following attestation bundles were made for hypercube_esn-0.3.1.tar.gz:

Publisher: wheels.yml on dliptak001/HypercubeESN

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

File details

Details for the file hypercube_esn-0.3.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for hypercube_esn-0.3.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8d5579f67dc26fd2a2fa084c6b8653ef8e8ec1b74815c3d9232b027a70a144f4
MD5 456cfd788979bf6e0c1f69a9f593fbff
BLAKE2b-256 dcf6214530ce9220829757dc36b7ddaa99131837567f36f1d8c4f7d24090cdcc

See more details on using hashes here.

Provenance

The following attestation bundles were made for hypercube_esn-0.3.1-cp313-cp313-win_amd64.whl:

Publisher: wheels.yml on dliptak001/HypercubeESN

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

File details

Details for the file hypercube_esn-0.3.1-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hypercube_esn-0.3.1-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9ccd11d2ab7191a965595902fc995ea76a59dfefaf4a69b491677b450400a670
MD5 4deef7092877c348386b3732d5b54305
BLAKE2b-256 e69494de4932a0bc841153780b118dd4535e167849dd9b15beb45180c9d7fac7

See more details on using hashes here.

Provenance

The following attestation bundles were made for hypercube_esn-0.3.1-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on dliptak001/HypercubeESN

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

File details

Details for the file hypercube_esn-0.3.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for hypercube_esn-0.3.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 05a5a813258b8c6884b178a5fbec57bd042f876c764e60e4fa8ade96e84bd9bd
MD5 1f7588a8fa23404970bbb0c84e92aecb
BLAKE2b-256 5c21882882e36dc28f9d15b6a5a51a54fefa950a9a33425ed693a26183bb6597

See more details on using hashes here.

Provenance

The following attestation bundles were made for hypercube_esn-0.3.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on dliptak001/HypercubeESN

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

File details

Details for the file hypercube_esn-0.3.1-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for hypercube_esn-0.3.1-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 2d43d914863f008031bf1a58b10b2f0a270c8836a2c4417371a18b8f21d7af74
MD5 3f4e698ea2cde010d0edc619c274d461
BLAKE2b-256 be39a149de5fe912988f1ab65134386134ccba07fd4d6c7228fd07edc6bbd3d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for hypercube_esn-0.3.1-cp313-cp313-macosx_13_0_x86_64.whl:

Publisher: wheels.yml on dliptak001/HypercubeESN

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

File details

Details for the file hypercube_esn-0.3.1-cp313-cp313-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for hypercube_esn-0.3.1-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 dc42c4328fbc71cd017bd20dc0f5253debd6382a8bb379ff763feee16be41aa5
MD5 2ac52ef949671f5ce22515e1e504d8d5
BLAKE2b-256 9e2d059f39572081196537bc2ef930dd2bcb3a611290f33a51f6e4c33dbb3170

See more details on using hashes here.

Provenance

The following attestation bundles were made for hypercube_esn-0.3.1-cp313-cp313-macosx_13_0_arm64.whl:

Publisher: wheels.yml on dliptak001/HypercubeESN

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

File details

Details for the file hypercube_esn-0.3.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for hypercube_esn-0.3.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 96b422f65f7b98f6a183567d12ea37f9d5bbf4b71b40396141c3ca29802466cb
MD5 1f65ac4526bdaec99a7be183e7d8261b
BLAKE2b-256 4f836e18634e38cf170348e8a66a4f7bad704d998b889f0a3b0af013d356e655

See more details on using hashes here.

Provenance

The following attestation bundles were made for hypercube_esn-0.3.1-cp312-cp312-win_amd64.whl:

Publisher: wheels.yml on dliptak001/HypercubeESN

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

File details

Details for the file hypercube_esn-0.3.1-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hypercube_esn-0.3.1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bf7779d7bbeb84c94ded3d65c750a0151d408e3f01b65ac46676fd334851b54b
MD5 1cdec601ac55bb8cd341107078c34e3a
BLAKE2b-256 82c260f97d2fdd51b68f6e77ee1a0fc5eb778e55ece45856c8bdaf75d530b902

See more details on using hashes here.

Provenance

The following attestation bundles were made for hypercube_esn-0.3.1-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on dliptak001/HypercubeESN

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

File details

Details for the file hypercube_esn-0.3.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for hypercube_esn-0.3.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d9acbce1d13d070b73bd640613b8afbb97a31519273f9c609574fc5a5d66aebe
MD5 b161f2888ba9ab07b5fe72a0f0a8229c
BLAKE2b-256 edb7c52afd5145291248c38a9355f38a2b1aadb5950993aacad8f7739bfe8ece

See more details on using hashes here.

Provenance

The following attestation bundles were made for hypercube_esn-0.3.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on dliptak001/HypercubeESN

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

File details

Details for the file hypercube_esn-0.3.1-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for hypercube_esn-0.3.1-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 6b29eaf3671a34f67ba6a402f8f2663facfad15f8ec47eb6bd2747047db7474f
MD5 572e809b5ce57aaf62b9a57b5a84c215
BLAKE2b-256 108d7a5ca1355cf711bdd264605cccdd6889be608147a874b92b50b7ca744027

See more details on using hashes here.

Provenance

The following attestation bundles were made for hypercube_esn-0.3.1-cp312-cp312-macosx_13_0_x86_64.whl:

Publisher: wheels.yml on dliptak001/HypercubeESN

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

File details

Details for the file hypercube_esn-0.3.1-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for hypercube_esn-0.3.1-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 1daa323b1785054c09547f16f40cf0d6cbf30d3ae6b63c339d4cae0852486be1
MD5 de393465aa970c3d6adae62fea87b393
BLAKE2b-256 4329067c13098659b514863b52f5e8f4190a80844e65ac0ffcda846670c61c8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for hypercube_esn-0.3.1-cp312-cp312-macosx_13_0_arm64.whl:

Publisher: wheels.yml on dliptak001/HypercubeESN

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

File details

Details for the file hypercube_esn-0.3.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for hypercube_esn-0.3.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fe169bb7693dc20fbeca271b7e3c35046af341debb523e088a8d149fe0b3cac2
MD5 955408ddc959de57a9b3973ce02cc0c1
BLAKE2b-256 f8aa26424a4712d1042599b230ad9f6a80da590535cb24e5446c45f16febf53e

See more details on using hashes here.

Provenance

The following attestation bundles were made for hypercube_esn-0.3.1-cp311-cp311-win_amd64.whl:

Publisher: wheels.yml on dliptak001/HypercubeESN

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

File details

Details for the file hypercube_esn-0.3.1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hypercube_esn-0.3.1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bf12a630f4afa336fe7e54bc7384a1d36ec81807e8d6038644597a82cdb7039b
MD5 c66da19cfcbd314fd86da2bc24ec4e80
BLAKE2b-256 1b299839d49f072c0dfbdc0bdb055946917f3a558d8a508f22834b176af2729f

See more details on using hashes here.

Provenance

The following attestation bundles were made for hypercube_esn-0.3.1-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on dliptak001/HypercubeESN

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

File details

Details for the file hypercube_esn-0.3.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for hypercube_esn-0.3.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 78ae9332cbcb105e762371ac6528b7f2d2650e8269705708a424789847d6e7a9
MD5 a147c52910323bd36a80960063146d63
BLAKE2b-256 5192094628d5dd8137eabd7b1b7b0ba4715ffe291b8f5f5c11415d5ef013a138

See more details on using hashes here.

Provenance

The following attestation bundles were made for hypercube_esn-0.3.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on dliptak001/HypercubeESN

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

File details

Details for the file hypercube_esn-0.3.1-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for hypercube_esn-0.3.1-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 c1d645aba547be69a98054a9ef04ce16edd5131d773681cbe93bf1e2189c86ec
MD5 c3ffdd2794ec66a32432bb494a55269b
BLAKE2b-256 9800171bf2583e11d199df75cdc6c66956498b5b2014ccb9631dac03f3b095e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for hypercube_esn-0.3.1-cp311-cp311-macosx_13_0_x86_64.whl:

Publisher: wheels.yml on dliptak001/HypercubeESN

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

File details

Details for the file hypercube_esn-0.3.1-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for hypercube_esn-0.3.1-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 11b8c9910103698bf53971e4c2438177d1b6fd7a2f33662c89984d7904a83611
MD5 2bdbce8d1fa5cc863cebbd169723c46e
BLAKE2b-256 286b11d67cce7c3886893042fabf89439edc96b4e7d3be1fbf1069f893643f7b

See more details on using hashes here.

Provenance

The following attestation bundles were made for hypercube_esn-0.3.1-cp311-cp311-macosx_13_0_arm64.whl:

Publisher: wheels.yml on dliptak001/HypercubeESN

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

File details

Details for the file hypercube_esn-0.3.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for hypercube_esn-0.3.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 001165fdae858215098344ece3a303902863dd7be8a73756532a364203e23df6
MD5 a80950f476bc60b018fd3aff8112f5f4
BLAKE2b-256 d8137b3fc2d0ecf4f62cb32e034ff3660d5ce3df98fd10cba4f63039612b6020

See more details on using hashes here.

Provenance

The following attestation bundles were made for hypercube_esn-0.3.1-cp310-cp310-win_amd64.whl:

Publisher: wheels.yml on dliptak001/HypercubeESN

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

File details

Details for the file hypercube_esn-0.3.1-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hypercube_esn-0.3.1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ed9cd13bbbe980daa89a94c08a39d789d1e6a083b50d214db3e0388d00630ded
MD5 da50d0e227cd03464a7ea59951336d79
BLAKE2b-256 f9f9808c14e9a08490d5c9063f6858c8079ab5c6c1416bb466058ae4b0f504b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for hypercube_esn-0.3.1-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on dliptak001/HypercubeESN

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

File details

Details for the file hypercube_esn-0.3.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for hypercube_esn-0.3.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1109fb1cd15072ef4b8c7405b5aefcefd135c0732914abbd1557bcf5c9d4cc7d
MD5 82b0a15e41c3af2604571a6460083895
BLAKE2b-256 08282d8ec68360c5ca3751bbf83b31451e4efdac572aa625298cc6995cc8aeaf

See more details on using hashes here.

Provenance

The following attestation bundles were made for hypercube_esn-0.3.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on dliptak001/HypercubeESN

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

File details

Details for the file hypercube_esn-0.3.1-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for hypercube_esn-0.3.1-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 3da7ecc1b9bc73748af69fe16cf4e2c085154453de19756e3c130e730c02ee99
MD5 76057d211c3fcb3e7ca2f4585efafe91
BLAKE2b-256 f31cac269a777c28e14a7280d438abc72c396c78a82bda47ab6df4d4c085c583

See more details on using hashes here.

Provenance

The following attestation bundles were made for hypercube_esn-0.3.1-cp310-cp310-macosx_13_0_x86_64.whl:

Publisher: wheels.yml on dliptak001/HypercubeESN

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

File details

Details for the file hypercube_esn-0.3.1-cp310-cp310-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for hypercube_esn-0.3.1-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 347f62a56ca8bdb8802b5f652258994be883f93f88b7986751fa281146400083
MD5 a449be9e3687382d8c8c62d3bd164a1b
BLAKE2b-256 7b0e9a5fbc2d816fc6f50754af7e5bcfa56fe693fc8902bc4a379687ec444685

See more details on using hashes here.

Provenance

The following attestation bundles were made for hypercube_esn-0.3.1-cp310-cp310-macosx_13_0_arm64.whl:

Publisher: wheels.yml on dliptak001/HypercubeESN

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