Skip to main content

No project description provided

Project description

Rusty Capacitance Model Core

GitHub Workflow Status PyPI

Rust logo Python logo

Quantum Dot Constant Capacitance Simulator is a high-performance Python package that leverages the power of Rust and Rayon to provide a fully parallelised and optimised simulation environment for quantum dots with constant capacitance.

This package provides core functionality; it is not intended that the user will interact with it directly.

Features

  • Ultra-fast Simulation: Harnesses the speed of Rust and the parallelism of Rayon to deliver lightning-fast simulations.
  • Constant Capacitance: Specialized for simulating quantum dots with constant capacitance, allowing precise modelling of charge dynamics.
  • User-Friendly: Designed with ease of use in mind, making it accessible to both experts and newcomers in quantum dot simulations.
  • Extensive Documentation: Comprehensive documentation and examples to help you get started quickly.

Installation

Install Quantum Dot Constant Capacitance Simulator using pip:

pip install rusty-capacitance-model-core

Usage

This package exposes two functions to be called from python:

  • ground_state_open - computes the lowest energy state of a quantum dot array with constant capacitance and which is open, such that the total number of changes is not fixed.
  • ground_state_closed - computes the lowest energy state of a quantum dot array with constant capacitance and which is closed, such that the total number of changes is fixed.

The python code to call these functions is as follows:

from rusty_capacitance_model_core import (ground_state_open, ground_state_closed)
import numpy as np 

# the dot-dot capacitance matrix
cdd = np.array([
     [1, -0.1],
     [-0.1, 1]
])
cdd_inv = np.linalg.inv(cdd)

# the dot-gate capacitance matrix
cgd = np.array([
       [1, 0.3],
       [0.3, 1]
 ])

# define a matrix of gate voltages to sweep over the first gate
vg = np.stack([np.linspace(-1, 1, 100), np.zeros(100)], axis = -1)

n_charge = 3 # the number of changes to confine in the quantum dot array for the closed case 
threshold = 1 # threshold to avoid having to consider all possible charge states, setting it 1 is always correct, however has a computatinal cost. 

n_open = ground_state_open(vg, cgd, cdd_inv, threshold)
n_closed = ground_state_closed(vg, n_charge, cgd, cdd, cdd_inv, threshold)

It is not intended the user ever call these functions directly.

There is a pure Python wrapper that provides a more user-friendly interface to this core functionality. See Quantum Dot Constant Capacitance Simulator. This package provides:

  • A user-friendly interface to the core functionality.
  • Plotting, charge sensing, virtual gate and gate voltage sweeping (1d and 2d) functionality.
  • Advanced type checking using pydantic.
  • Automated testing including for the functionality in this package.
  • More examples.

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

rusty_capacitance_model_core-1.4.1.tar.gz (13.3 kB view details)

Uploaded Source

Built Distributions

rusty_capacitance_model_core-1.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (829.0 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

rusty_capacitance_model_core-1.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.0 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ s390x

rusty_capacitance_model_core-1.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (859.9 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

rusty_capacitance_model_core-1.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (810.8 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

rusty_capacitance_model_core-1.4.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl (840.8 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.12+ i686

rusty_capacitance_model_core-1.4.1-cp311-none-win_amd64.whl (264.5 kB view details)

Uploaded CPython 3.11 Windows x86-64

rusty_capacitance_model_core-1.4.1-cp311-none-win32.whl (242.8 kB view details)

Uploaded CPython 3.11 Windows x86

rusty_capacitance_model_core-1.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (829.7 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

rusty_capacitance_model_core-1.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

rusty_capacitance_model_core-1.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (861.3 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

rusty_capacitance_model_core-1.4.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (828.8 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

rusty_capacitance_model_core-1.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (811.7 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

rusty_capacitance_model_core-1.4.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl (842.0 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.12+ i686

rusty_capacitance_model_core-1.4.1-cp311-cp311-macosx_11_0_arm64.whl (376.1 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

rusty_capacitance_model_core-1.4.1-cp310-none-win_amd64.whl (264.5 kB view details)

Uploaded CPython 3.10 Windows x86-64

rusty_capacitance_model_core-1.4.1-cp310-none-win32.whl (242.8 kB view details)

Uploaded CPython 3.10 Windows x86

rusty_capacitance_model_core-1.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (829.7 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

rusty_capacitance_model_core-1.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

rusty_capacitance_model_core-1.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (861.3 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

rusty_capacitance_model_core-1.4.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (828.8 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

rusty_capacitance_model_core-1.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (811.7 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

rusty_capacitance_model_core-1.4.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl (842.0 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.12+ i686

rusty_capacitance_model_core-1.4.1-cp310-cp310-macosx_11_0_arm64.whl (376.1 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

File details

Details for the file rusty_capacitance_model_core-1.4.1.tar.gz.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1.tar.gz
Algorithm Hash digest
SHA256 873e31a27689462963196b10f5ff69dd767afb832b99bd0c5e4d16854c2f4f30
MD5 cb81c93f7e8279c920e0ca111902880f
BLAKE2b-256 9326ac3da6e4c355967661d319a1c24348c44f050f9b73a22eba92ef9522d1f5

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 01795c847ba8d166da7102566f8dd695b13e86af1d0791aa51636559da32ca09
MD5 5e45ad4faec8cf5ece599e92d1b0e77f
BLAKE2b-256 348e5f79570f7008e2e79c281d350f401132a30e5657c01da03d3e088b72d65f

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 bb9c3c35ffb190cb2f6000ab3d389769cfc349161672bd6901d2d7586f6fd930
MD5 c03547fe7c42260d02984619e0f53995
BLAKE2b-256 e2b09330e54d33e5039e5667b07cb95e7acfa8e817a5a65fc994476a24048d97

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9659efe9a9422638f520e3b865b1582432a67a3683f3d9818df95d1903d9df33
MD5 cb674b5d9a692c53faac3ef2033cfb23
BLAKE2b-256 94d8e30854bdaa7eaaca21ad3cde4c8010d88cbe4be32311fedca1fe911a11ff

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 92b27e197ed9c8c6a1058d20bb0e36e29f69036a9f819a6f95557426e4b85334
MD5 e4292e682f4689e2590d5d0370bbd5e1
BLAKE2b-256 cdc7fb0a5f0a8d85cd753db31b24aedf74196663bb472501ebdac209b7cb3739

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 1f8e19265c184df07068856672dec55dcc6ac0f1ee4b329a88c1e0757f0d5c0e
MD5 4aa00083b192869bb87413a3c003241e
BLAKE2b-256 144a4d7bf9befa591449376f6b8e4c13dc2c242236d41e5b241230e3976b6486

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 45f8795089e75114bdca4a8bb3139173ed574ddf73c9fce58ef69c526692bd73
MD5 5a94bfec5399042de3fa200d7e5f1c33
BLAKE2b-256 be1969d7e9fe4595930912fd9d969082b7f97211f4ef072bf93e8401f53fa234

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 6d6495b0ec2a5da9cd3c941a3e3f68711000796f3135d3ce820f86633e8579f4
MD5 aa56e1c8c58cce5919bca86661a01f6d
BLAKE2b-256 f2f8e377c8b37da1e8173e22c4b29d3f44a5a968e4e5f5c71c069b6d79381080

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-cp311-none-win_amd64.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 0696fc4027ac08fa6844e205ac64dc09f95e32cd85016810ab2af764e10f99a8
MD5 b7dc8b7c93bb81ff41a0924bce9af33b
BLAKE2b-256 e43db0663a2e5e626da48776409118621f3b7ab52d9e78822d3836821e45f374

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-cp311-none-win32.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-cp311-none-win32.whl
Algorithm Hash digest
SHA256 cc12da2820b39b88ead5f4c0e53de35601883aae2b22d66f8e045b92092e719a
MD5 ff2fe82212bbd2593818726a38692c77
BLAKE2b-256 ace5d778824a3629059062668a091282909f95011446c0fb8a24a733a14d080d

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 51520bc743523ddb006fe259aa16c1a85ea49b1b2146f9437416144fba38959f
MD5 60243332588a4aac45076834b0d1adbf
BLAKE2b-256 fcd4e7418d1b92b992396528279aba52133846f2185da6ddc6bd04683aa13878

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 fba40003fac6d52976fdf73258b7fbad4a9c17ea9d287257df599cf564064d63
MD5 03a53222aa00df26c04b08be70dd7c67
BLAKE2b-256 2f3fee806c34e11b2b066f69b0b0c8a23707209aee79fee407749208f44fc00a

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 76f7de5b4baf8ff3484fe59df1b8ca94b48a938e276d54cc2b6e1668474c1f1f
MD5 b5f85ed8fa65acb9d5f8c238919ea31a
BLAKE2b-256 309e2ac5f45be76064ff8bbaed698b377e4007fc29b7a466b705997b9b0799a0

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 dc61af4a2ff7fedd11949cb3878b74febd6571816950e70db4e6afad3a76a5cc
MD5 f8a4de17615019f6338e60998aec47d8
BLAKE2b-256 3ea49cf91117eeccb5d052f7ad68b4e5426e4a6c098979a9f01e905039f459de

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2c4cf6a556ac8ef08bafff12552303e9050f0a3070753380b8f3fff781ffb8a0
MD5 cf365c167051d479300eb5656a090219
BLAKE2b-256 e676a01517a095efd29bd6eaf66672c65920c54547f94c7e13217a6179b579b9

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 e21b049c560474c8b5760447103b9ad0fb0c347b1a8b4d6a94a2825136e407c4
MD5 8b32f85d61f0509e3cdcf91ae220a8a9
BLAKE2b-256 b221b4ed3e1de914fd24b5d050dbb82adcfe955a5fbc3e795e320d0ab1eb96f0

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9d39cf02b162af0128ece1e18fe09a7c92ac7fc2fde30dfedf02f1b937201c0e
MD5 4449a8246ff38ff183ba8635cc11d9a8
BLAKE2b-256 5046aef2b81f1fd8cf145397fece2c7a45bab00e3e9c515aeff7e8618c0a3537

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-cp310-none-win_amd64.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 f2dec5bb80fc2c77847744d40be5d9bd09842bc7e6861113930b934f40c98b40
MD5 179b85d4b729041e5cab34c58875c6d6
BLAKE2b-256 07396e5f7e99462fc0adbb0ce6e85af064e595c505cbafcf0ab0be2c0285812e

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-cp310-none-win32.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-cp310-none-win32.whl
Algorithm Hash digest
SHA256 8ae6b84cf26f5b520a8ae66eca31cfc010f728713fbf424e12c797f174f2e8bf
MD5 8ce675566052282eb88b408735ae41bb
BLAKE2b-256 9c9f71e5eec0f5768b6e416e88fdefd20cbbce20463eb66990ed56a1c27af81d

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4508b069e62c06cdf291e6e99a04324d738bc0e5bf83aec99e633c8c5d56219a
MD5 a36030298b508a8d9e0d10d4788312c6
BLAKE2b-256 1e3af933f3b646fe759a9d61d1cc61b737af2526db2043b8c48853def78c3586

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 58ff7fb4f715ef84717beab31a29ea0048ff150089fc1428dde1b30a23efa340
MD5 e08b32b35483f6bee43a72b725daf56c
BLAKE2b-256 d1df06c94b842ff58bc973114693a32872f185849f04f1d5a29a4ebedeb12d7b

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 dbe4357fc6d4a51d3dba1437538b70c95c9ab7a20da0fd8ea35484f5d0b4c134
MD5 f82d0a252e592a2b3a9dc9fc549c6d7b
BLAKE2b-256 8d54c4e8ee332fb56025e63a2329cecefc33cb39359e6581a0550aaca0dc9dbf

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 7725624b67758b628db29aa2db5977acd43abc70b2241b50e8e03bd5cbdccad1
MD5 e283825721b0e1b009d109e0ff71d12a
BLAKE2b-256 cde823a029cfe8e4754924ee0bdfe5fbe2ffd450904d2edffe2e9aa103285fc2

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 933e115af9aead69e6990ebf76d84619e0bab1bc2a4d8af2235da5dfd2149bf0
MD5 e9eabbf9db07f5a69761aaf242647c25
BLAKE2b-256 483a39e6f10d3cb4caeb8bc72825aa059ca76895ace9698e3b4cf92716cd520d

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 9537581cdbd19c2af9a13753d82621f1e3a5a0d8c9a44734342f71cd4787f013
MD5 32d78b1d980d74b3c6d0da70cc724f62
BLAKE2b-256 84e5cd1c60024c4211a413790ae8149a5d67ca25b75c2cac7099e9ff669b0f44

See more details on using hashes here.

File details

Details for the file rusty_capacitance_model_core-1.4.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rusty_capacitance_model_core-1.4.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1eec4c7d4696a750d0874c56fb2f201b24d21f581e2c4266720c0742fb69fe47
MD5 48076768723704b03c996127bf4f1704
BLAKE2b-256 4e598a619960d30a19a5f516b105b37b9c1d12b7585b6706bfc6059e0588abcd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page