Skip to main content

Compact Prediction Tree: A Lossless Model for Accurate Sequence Prediction

Project description

CPT

Downloads License

What is it ?

This project is a cython open-source implementation of the Compact Prediction Tree algorithm using multithreading.

CPT is a sequence prediction model. It is a highly explainable model specialized in predicting the next element of a sequence over a finite alphabet.

This implementation is based on the following research papers:

Installation

You can simply use pip install cpt.

Simple example

You can test the model with the following code:

from cpt.cpt import Cpt
model = Cpt()

model.fit([['hello', 'world'],
           ['hello', 'this', 'is', 'me'],
           ['hello', 'me']
          ])

model.predict([['hello'], ['hello', 'this']])
# Output: ['me', 'is']

For an example with the compatibility with sklearn, you should check the documentation.

Features

Train

The model can be trained with the fit method.

If needed the model can be retrained with the same method. It adds new sequences to the model and do not remove the old ones.

Multithreading

The predictions are launched by default with multithreading with OpenMP.

The predictions can also be launched in a single thread with the option multithread=False in the predict method.

You can control the number of threads by setting the following environment variable OMP_NUM_THREADS.

Pickling

You can pickle the model to save it, and load it later via pickle library.

from cpt.cpt import Cpt
import pickle


model = Cpt()
model.fit([['hello', 'world']])

dumped = pickle.dumps(model)

unpickled_model = pickle.loads(dumped)

print(model == unpickled_model)

Explainability

The CPT class has several methods to explain the predictions.

You can see which elements are considered as noise (with a low presence in sequences) with model.compute_noisy_items(noise_ratio).

You can retrieve trained sequences with model.retrieve_sequence(id).

You can find similar sequences with find_similar_sequences(sequence).

You can not yet retrieve automatically all similar sequences with the noise reduction technique.

Tuning

CPT has 3 meta parameters that need to be tuned. You can check how to tune them in the documentation. To tune you can use the model_selection module from sklearn, you can find an example here on how to.

Benchmark

The benchmark has been made on the FIFA dataset, the data can be found on the SPMF website.

Using multithreading, CPT was able to perform around 5000 predictions per second.

Without multithreading, CPT predicted around 1650 sequences per second.

Details on the benchmark can be found here.

Further reading

A study has been made on how to reduce dataset size, and so training / testing time using PageRank on the dataset.

The study has been published in IJIKM review here. An overall performance improvement of 10-40% has been observed with this technique on the prediction time without any accuracy loss.

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

cpt-1.2.2.tar.gz (105.5 kB view details)

Uploaded Source

Built Distributions

cpt-1.2.2-cp38-cp38m-win_amd64.whl (86.1 kB view details)

Uploaded CPython 3.8m Windows x86-64

cpt-1.2.2-cp38-cp38m-win32.whl (70.5 kB view details)

Uploaded CPython 3.8m Windows x86

cpt-1.2.2-cp38-cp38-manylinux2010_x86_64.whl (757.3 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

cpt-1.2.2-cp38-cp38-manylinux2010_i686.whl (737.3 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

cpt-1.2.2-cp38-cp38-macosx_10_13_x86_64.whl (89.2 kB view details)

Uploaded CPython 3.8 macOS 10.13+ x86-64

cpt-1.2.2-cp37-cp37m-win_amd64.whl (83.7 kB view details)

Uploaded CPython 3.7m Windows x86-64

cpt-1.2.2-cp37-cp37m-win32.whl (68.6 kB view details)

Uploaded CPython 3.7m Windows x86

cpt-1.2.2-cp37-cp37m-manylinux2010_x86_64.whl (718.4 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

cpt-1.2.2-cp37-cp37m-manylinux2010_i686.whl (698.8 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

cpt-1.2.2-cp37-cp37m-macosx_10_13_x86_64.whl (89.6 kB view details)

Uploaded CPython 3.7m macOS 10.13+ x86-64

cpt-1.2.2-cp36-cp36m-win_amd64.whl (83.8 kB view details)

Uploaded CPython 3.6m Windows x86-64

cpt-1.2.2-cp36-cp36m-win32.whl (68.6 kB view details)

Uploaded CPython 3.6m Windows x86

cpt-1.2.2-cp36-cp36m-manylinux2010_x86_64.whl (718.4 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

cpt-1.2.2-cp36-cp36m-manylinux2010_i686.whl (699.2 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ i686

cpt-1.2.2-cp36-cp36m-macosx_10_13_x86_64.whl (92.0 kB view details)

Uploaded CPython 3.6m macOS 10.13+ x86-64

cpt-1.2.2-cp35-cp35m-manylinux2010_x86_64.whl (708.3 kB view details)

Uploaded CPython 3.5m manylinux: glibc 2.12+ x86-64

cpt-1.2.2-cp35-cp35m-manylinux2010_i686.whl (688.9 kB view details)

Uploaded CPython 3.5m manylinux: glibc 2.12+ i686

cpt-1.2.2-cp35-cp35m-macosx_10_13_x86_64.whl (90.2 kB view details)

Uploaded CPython 3.5m macOS 10.13+ x86-64

File details

Details for the file cpt-1.2.2.tar.gz.

File metadata

  • Download URL: cpt-1.2.2.tar.gz
  • Upload date:
  • Size: 105.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.5.9

File hashes

Hashes for cpt-1.2.2.tar.gz
Algorithm Hash digest
SHA256 c23efd285d946155d9d0cdcc633708d91e2ddf9fe09a43f0609caefc4cb135ff
MD5 69e849ea780d692aaa4a9e2f0c7fda5c
BLAKE2b-256 4cf8d43f6f5272db9201f089fc754c44a9bedd82db4b1c1ae2198de389ddbd2f

See more details on using hashes here.

File details

Details for the file cpt-1.2.2-cp38-cp38m-win_amd64.whl.

File metadata

  • Download URL: cpt-1.2.2-cp38-cp38m-win_amd64.whl
  • Upload date:
  • Size: 86.1 kB
  • Tags: CPython 3.8m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.0

File hashes

Hashes for cpt-1.2.2-cp38-cp38m-win_amd64.whl
Algorithm Hash digest
SHA256 c94c56d21ae1e1669ddda1b3c46ca3ecabc90fa99834635fafffceb942de6c2a
MD5 19e350f823d271e0e3d59e9eb8f48043
BLAKE2b-256 1689ca000dbf91932d9e3ddde9940f5d1627cbcd37f112edc1a67bcf48348c2e

See more details on using hashes here.

File details

Details for the file cpt-1.2.2-cp38-cp38m-win32.whl.

File metadata

  • Download URL: cpt-1.2.2-cp38-cp38m-win32.whl
  • Upload date:
  • Size: 70.5 kB
  • Tags: CPython 3.8m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.0

File hashes

Hashes for cpt-1.2.2-cp38-cp38m-win32.whl
Algorithm Hash digest
SHA256 b63406f9498a8e3a370f0eae04409770b429a5ac459632ee2a7486bacffb24e8
MD5 5ae40607382a6439f0d4a2031b150d10
BLAKE2b-256 3dbbde42cb949198b3d8e3c62d4c81e78bec6747ceabe756c5cc7677292a6d69

See more details on using hashes here.

File details

Details for the file cpt-1.2.2-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: cpt-1.2.2-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 757.3 kB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.7

File hashes

Hashes for cpt-1.2.2-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 1c8875430fd83ab88b2aa92af266f737b99879aa7ed16db5f569a62a71218569
MD5 cceccb73256ae106cd3893ef21f8090b
BLAKE2b-256 35d861f43b39673abefc0878fefa709c82c7de4831b71010c652d9532b774928

See more details on using hashes here.

File details

Details for the file cpt-1.2.2-cp38-cp38-manylinux2010_i686.whl.

File metadata

  • Download URL: cpt-1.2.2-cp38-cp38-manylinux2010_i686.whl
  • Upload date:
  • Size: 737.3 kB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.7

File hashes

Hashes for cpt-1.2.2-cp38-cp38-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 5592e889417d0fc179f7bf095c212bbbb7dc600f661184c7bb742f6082f456fa
MD5 3015651291fcf8157467229f7a551f49
BLAKE2b-256 5268f0f59823b36860fd91d33b50c68d82d40bbd2af806040d7b076b0663eff2

See more details on using hashes here.

File details

Details for the file cpt-1.2.2-cp38-cp38-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: cpt-1.2.2-cp38-cp38-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 89.2 kB
  • Tags: CPython 3.8, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for cpt-1.2.2-cp38-cp38-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 05d325c893a0eb22f92a46a69206a174ed55bc6cf1976a8c149f592f8109c822
MD5 654fbafc5d852047bcb5d0f5440f4136
BLAKE2b-256 ab4d34711489a21279adf34d9c88da8d7d98851f9c44eee9f8422e0de9104bef

See more details on using hashes here.

File details

Details for the file cpt-1.2.2-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: cpt-1.2.2-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 83.7 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.5

File hashes

Hashes for cpt-1.2.2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 93bf920a8c45e85cb381a4bc1e9c26ea38bbc94cc9ccc4c4c4e4f92b1f7f80c9
MD5 da9b2fea6eb53fc1c7934e244bfc06c7
BLAKE2b-256 34501d6b1b30e9624e58084122f11a8b12b3692b965262943325f4979076518e

See more details on using hashes here.

File details

Details for the file cpt-1.2.2-cp37-cp37m-win32.whl.

File metadata

  • Download URL: cpt-1.2.2-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 68.6 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.5

File hashes

Hashes for cpt-1.2.2-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 f9ce1fc407270c8eadb669bf4f1ea510393192ac344b1e0c975a745b92faa0c3
MD5 f141de72883a5339a1eb0502c7ca402a
BLAKE2b-256 cbd965062efa8afc24b2a3abe82590ef2264ce411b4217dc00d64108db18754f

See more details on using hashes here.

File details

Details for the file cpt-1.2.2-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: cpt-1.2.2-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 718.4 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.7

File hashes

Hashes for cpt-1.2.2-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a468b0168632ea638e4fd8aa56bbbd33c7f210e86cc7cbb4d661542d80a1b2a9
MD5 39b6ab677295fd5a797d4c1fed611e02
BLAKE2b-256 c5d36e588b1756ae5ac4b9b8aff58df5d85a4e2fb55ff4b41babe98ae9f053c3

See more details on using hashes here.

File details

Details for the file cpt-1.2.2-cp37-cp37m-manylinux2010_i686.whl.

File metadata

  • Download URL: cpt-1.2.2-cp37-cp37m-manylinux2010_i686.whl
  • Upload date:
  • Size: 698.8 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.7

File hashes

Hashes for cpt-1.2.2-cp37-cp37m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 08bb50accabd7462a5d14d3ef126576405d1c74f36bedbbfea0a132c102f2165
MD5 405ecb13a70f613387360031f3abb1d1
BLAKE2b-256 ee1d41e8c86ab2e46f6e873f0720e2e7d9f8ffb2e9cf70a2b6fd942b96be2e89

See more details on using hashes here.

File details

Details for the file cpt-1.2.2-cp37-cp37m-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: cpt-1.2.2-cp37-cp37m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 89.6 kB
  • Tags: CPython 3.7m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for cpt-1.2.2-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 c1a1638774a31b654e7f9fe018e57f073f500265fef6814d1f227860fb8e529a
MD5 9590a9146ba105665962a8c41069a850
BLAKE2b-256 2748621971730314b6710a667324de9dbb736076ec1ad1c04d02cbaf39bb76f1

See more details on using hashes here.

File details

Details for the file cpt-1.2.2-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: cpt-1.2.2-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 83.8 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.8

File hashes

Hashes for cpt-1.2.2-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 4159ccee19522b0630a3c7a3f3c4aaaca2c0790b2b25a6541c6fb69a72ec2237
MD5 763dbcf186042dda8d0467d8c6a2b102
BLAKE2b-256 882e43d7490237c19824cb6e1f050922204ced7fc86e0381c5f37b78f1946587

See more details on using hashes here.

File details

Details for the file cpt-1.2.2-cp36-cp36m-win32.whl.

File metadata

  • Download URL: cpt-1.2.2-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 68.6 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.8

File hashes

Hashes for cpt-1.2.2-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 f563bcaf20bda9878be54ba6383f8fbeaf4c9552317c1d975652f3158a342545
MD5 8c52d71387978799b01a196a1b108536
BLAKE2b-256 66f9392f085438c769d4f42ad625cfa8b50f624dc9fa067287eb42f4b256c7af

See more details on using hashes here.

File details

Details for the file cpt-1.2.2-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: cpt-1.2.2-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 718.4 kB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.7

File hashes

Hashes for cpt-1.2.2-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 203de90c86c5f10928cdb75c5a60c82d33bf2873386efc7b61eddd7acd94bebb
MD5 7d558a4fdde473d6ceffc4db0f7ac76b
BLAKE2b-256 289c9970846c72583e45a28ff2637bb68c413f8b24956dac324a07f7720bfb28

See more details on using hashes here.

File details

Details for the file cpt-1.2.2-cp36-cp36m-manylinux2010_i686.whl.

File metadata

  • Download URL: cpt-1.2.2-cp36-cp36m-manylinux2010_i686.whl
  • Upload date:
  • Size: 699.2 kB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.7

File hashes

Hashes for cpt-1.2.2-cp36-cp36m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 c141094c29d5e8b9b4c3df6ff643226339a6e061021bd2b16c7e49cdb1cf7027
MD5 1414dfe3b56f2f3c3037c999affad66a
BLAKE2b-256 984b04e30d6a18086320d9751519eb2b805dd3c0f44bfe33b07107d8ae425475

See more details on using hashes here.

File details

Details for the file cpt-1.2.2-cp36-cp36m-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: cpt-1.2.2-cp36-cp36m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 92.0 kB
  • Tags: CPython 3.6m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.10

File hashes

Hashes for cpt-1.2.2-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 636d680dab4ec29abef23b879944aa6a7280c686988322672b177e4f2c1250ce
MD5 218997fc8e1a9a967161febb0eec933c
BLAKE2b-256 2c685dba62c71869c8c82ae20dd9c1057489f2d2d07ad23c0239062941346bc8

See more details on using hashes here.

File details

Details for the file cpt-1.2.2-cp35-cp35m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: cpt-1.2.2-cp35-cp35m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 708.3 kB
  • Tags: CPython 3.5m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.7

File hashes

Hashes for cpt-1.2.2-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 afdf2bc65152491e9590de4d9f818cefac2e4d272ef04a18fa041ab28430e515
MD5 909391d986c83d456ce65a9e479fa133
BLAKE2b-256 58d1f6f543c162bc941f0b65e7be0613d418cea248e5f5d875d1791802acf863

See more details on using hashes here.

File details

Details for the file cpt-1.2.2-cp35-cp35m-manylinux2010_i686.whl.

File metadata

  • Download URL: cpt-1.2.2-cp35-cp35m-manylinux2010_i686.whl
  • Upload date:
  • Size: 688.9 kB
  • Tags: CPython 3.5m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.7

File hashes

Hashes for cpt-1.2.2-cp35-cp35m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 1e3f0fb66c9cda8669499d5991e1bc518d413c1fada9cf5973e2747fffdcd9cd
MD5 b66060b1727eb94363b0a7040aec18fc
BLAKE2b-256 8b2eeada9414d35707dbb3c92a51b32a9204f18673a38588cb426198970d59f8

See more details on using hashes here.

File details

Details for the file cpt-1.2.2-cp35-cp35m-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: cpt-1.2.2-cp35-cp35m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 90.2 kB
  • Tags: CPython 3.5m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.5.9

File hashes

Hashes for cpt-1.2.2-cp35-cp35m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 62dacb9a81910e55f157f6937376b452313f255d0a6c70ddfc0d64c1bca2fe7a
MD5 ac05e94f5afeb3c144597bc3dc18ee93
BLAKE2b-256 2aa75e04e82bf3eed71e5141ac03bf377387d845f17ea450ea66f19b34ad1b40

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