Skip to main content

Enables Algorithmic Selection and Customization in Deep Neural Networks

Project description

The ai3 (Algorithmic Innovations for Accelerated Implementations of Artificial Intelligence) framework provides easy-to-use fine-grain algorithmic control over an existing DNN. ai3 contains built-in high performance implementations of common deep learning operations and methods by which users can implement their own algorithms in C++. ai3 incurs no additional performance overhead, meaning that performance depends solely on the algorithms chosen by the user.

Documentation Source Code

Installation

Default Implementations: pip install aithree

Custom Implementations:
  1. Download the source code

  2. Create an implementation with the operations defined in custom

  3. If needed, configure the build process with custom.cmake

  4. pip install <path to source code>

The framework currently features two methods for algorithmic swapping. swap_backend which swaps every module type of a DNN returning an object completely managed by ai3 and swap_conv2d which swaps convolution operations out of the existing DNN.

swap_conv2d

Swaps, in-place, conv2d operations out of the existing DNN for an implementation of the user specified algorithm. After swapping, the same DNN can still be trained and compiled. If no AlgorithmicSelector is given then the default algorithm decided by the framework are used.

Example:

Swaps the first conv2d operation for an implementation of direct convolution and the second conv2d operation for an implementation of SMM convolution

>>> input_data = torch.randn(10, 3, 224, 224)
>>> orig = ConvNet()
>>> orig_out = orig(input_data)
>>> ai3.swap_conv2d(orig, ['direct', 'smm'])
>>> sc_out = orig(input_data)
>>> torch.allclose(orig_out, sc_out, atol=1e-6)
True

swap_backend

Swaps every module in an exsiting DNN for an implementation of the user specified algorithm returning a Model completly managed by the framework.

Algorithmic selection is performed by passing a mapping from strings containing names of the operations to swap to a AlgorithmicSelector. If no AlgorithmicSelector is passed for a given operation then the default algorithm decided by the framework are used.

Example: Swaps the first conv2d operation for an implementation of direct convolution and the second conv2d operation for an implementation of SMM convolution

>>> def auto_selector(orig: torch.nn.Conv2d, input_shape) -> str:
...     out_channels = orig.weight.shape[0]
...     if (out_channels < 50 and
...         input_shape[1] < 50 and
...         input_shape[2] > 150 and
...         input_shape[3] > 150):
...         return 'direct'
...     return 'smm'
...
>>> input_data = torch.randn(1, 3, 224, 224)
>>> vgg16 = torchvision.models.vgg16(weights=torchvision.models.VGG16_Weights.DEFAULT)
>>> vgg16 = vgg16.eval()
>>> with torch.inference_mode():
...     torch_out = vgg16(input_data)
...     model: ai3.Model = ai3.swap_backend(vgg16, {"conv2d": auto_selector,
...                                                 "maxpool2d": "default"},
...                                         sample_input_shape=(1, 3, 224, 224))
...     sb_out = model(input_data)
...     torch.allclose(torch_out, sb_out, atol=1e-4)
True

Supported Operations, their Algorithms, and Acceleration Platform Compatibility

2D Convolution

The guess algorithm uses the algorithm returned by cudnnGetConvolutionForwardAlgorithm_v7.

Algorithm

direct

smm

gemm

implicit precomp gemm

implicit gemm

winograd

guess

some

none

sycl

cudnn

cublas

mps

metal

Linear

Algorithm

gemm

none

sycl

cudnn

cublas

mps

metal

2D MaxPool

Algorithm

direct

none

sycl

cudnn

cublas

mps

metal

2D AvgPool

Algorithm

direct

none

sycl

cudnn

cublas

mps

metal

2D AdaptiveAvgPool

Algorithm

direct

none

sycl

cudnn

cublas

mps

metal

ReLU

Algorithm

direct

none

sycl

cudnn

cublas

mps

metal

Flatten

Algorithm

direct

none

sycl

cudnn

cublas

mps

metal

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

aithree-0.1.0.tar.gz (94.7 kB view details)

Uploaded Source

Built Distributions

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

aithree-0.1.0-pp310-pypy310_pp73-win_amd64.whl (173.5 kB view details)

Uploaded PyPyWindows x86-64

aithree-0.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (218.2 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

aithree-0.1.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (229.0 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

aithree-0.1.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl (180.2 kB view details)

Uploaded PyPymacOS 11.0+ ARM64

aithree-0.1.0-pp39-pypy39_pp73-win_amd64.whl (173.5 kB view details)

Uploaded PyPyWindows x86-64

aithree-0.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (217.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

aithree-0.1.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (228.7 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

aithree-0.1.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl (180.2 kB view details)

Uploaded PyPymacOS 11.0+ ARM64

aithree-0.1.0-pp38-pypy38_pp73-win_amd64.whl (173.6 kB view details)

Uploaded PyPyWindows x86-64

aithree-0.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (217.3 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

aithree-0.1.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (228.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

aithree-0.1.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl (180.1 kB view details)

Uploaded PyPymacOS 11.0+ ARM64

aithree-0.1.0-cp313-cp313-win_amd64.whl (175.3 kB view details)

Uploaded CPython 3.13Windows x86-64

aithree-0.1.0-cp313-cp313-win32.whl (157.4 kB view details)

Uploaded CPython 3.13Windows x86

aithree-0.1.0-cp313-cp313-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

aithree-0.1.0-cp313-cp313-musllinux_1_2_i686.whl (1.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

aithree-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (217.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

aithree-0.1.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (228.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686

aithree-0.1.0-cp313-cp313-macosx_11_0_arm64.whl (181.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

aithree-0.1.0-cp312-cp312-win_amd64.whl (175.3 kB view details)

Uploaded CPython 3.12Windows x86-64

aithree-0.1.0-cp312-cp312-win32.whl (157.4 kB view details)

Uploaded CPython 3.12Windows x86

aithree-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

aithree-0.1.0-cp312-cp312-musllinux_1_2_i686.whl (1.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

aithree-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (217.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

aithree-0.1.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (228.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

aithree-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (181.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

aithree-0.1.0-cp311-cp311-win_amd64.whl (174.9 kB view details)

Uploaded CPython 3.11Windows x86-64

aithree-0.1.0-cp311-cp311-win32.whl (157.7 kB view details)

Uploaded CPython 3.11Windows x86

aithree-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

aithree-0.1.0-cp311-cp311-musllinux_1_2_i686.whl (1.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

aithree-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (218.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

aithree-0.1.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (229.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

aithree-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (181.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

aithree-0.1.0-cp310-cp310-win_amd64.whl (173.8 kB view details)

Uploaded CPython 3.10Windows x86-64

aithree-0.1.0-cp310-cp310-win32.whl (156.8 kB view details)

Uploaded CPython 3.10Windows x86

aithree-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

aithree-0.1.0-cp310-cp310-musllinux_1_2_i686.whl (1.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

aithree-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (217.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

aithree-0.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (228.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

aithree-0.1.0-cp310-cp310-macosx_11_0_arm64.whl (180.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

aithree-0.1.0-cp39-cp39-win_amd64.whl (171.8 kB view details)

Uploaded CPython 3.9Windows x86-64

aithree-0.1.0-cp39-cp39-win32.whl (157.0 kB view details)

Uploaded CPython 3.9Windows x86

aithree-0.1.0-cp39-cp39-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

aithree-0.1.0-cp39-cp39-musllinux_1_2_i686.whl (1.3 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ i686

aithree-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (217.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

aithree-0.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (228.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

aithree-0.1.0-cp39-cp39-macosx_11_0_arm64.whl (180.4 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

aithree-0.1.0-cp38-cp38-win_amd64.whl (174.0 kB view details)

Uploaded CPython 3.8Windows x86-64

aithree-0.1.0-cp38-cp38-win32.whl (156.8 kB view details)

Uploaded CPython 3.8Windows x86

aithree-0.1.0-cp38-cp38-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

aithree-0.1.0-cp38-cp38-musllinux_1_2_i686.whl (1.3 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ i686

aithree-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (217.4 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

aithree-0.1.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (228.4 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686

aithree-0.1.0-cp38-cp38-macosx_11_0_arm64.whl (180.2 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

File details

Details for the file aithree-0.1.0.tar.gz.

File metadata

  • Download URL: aithree-0.1.0.tar.gz
  • Upload date:
  • Size: 94.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for aithree-0.1.0.tar.gz
Algorithm Hash digest
SHA256 fda381cf75fdff075e6b83c2e7ba72758255e15ae12c3337f0b0c6abc0bfa8ff
MD5 9de364c46bad1856389b68eda21b53db
BLAKE2b-256 782fcbcd8d78b59d37dc52735897de1719eb4ad0f710151ea8619f28768c4b7f

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-pp310-pypy310_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 621db258267e39cc0effd3957706aeb215211779b9c51cc0a42de82887377f7b
MD5 330ed07a9933fdcb1d053728ef22f9e0
BLAKE2b-256 6a881cfca7eba856ccb4a2c1f8f31c805ab80c5b215c3e94000cb8ad09b4cc5c

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9d0e4e79f5ca81a424c320561fc94a73df8b5e031fa28a9cb3d3acec1416c489
MD5 59475a79efb16c08c3a4ea8f113cd9ea
BLAKE2b-256 5f492dbb34ed010ef63b6ed28dda413bc6ac28cc3449c852509768cb9e772546

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 947db86b4cb84fb124047e3b36a10c6cf5ef64fd2167b9ed8d5f50597ef38736
MD5 c2a3eafbc8489eae796abd77531224c3
BLAKE2b-256 e30c7ccdaa6b492f7c01493379e3c9cde148fb92cc403b97276383728a9b16ad

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 621e370074f77bec74c60e4781a072074940e31d9fd56ef2282968f9c6bb977a
MD5 e7bc6692982c50a23f816b0187fb795f
BLAKE2b-256 a067819f5bf8ae8a8aecf5a5199dd74edc5176f6436ba291ceb3494003e7ecae

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 51b64683f873e63f7581e91a7348ce948d3a62bd815b66ca7826dfe7b3ea3a17
MD5 b433bc406d0bc462c086ae592d55bd5d
BLAKE2b-256 fee37dd803eec2815e97eed480fa00e8b6c111ed8d4435337c1ad0bc922e875b

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 10a00f510c9cfadaff7b9a5af71275d62d5876f2a94364fbffa0a74adda0566b
MD5 8063c6df7c903475790a698d67f84b32
BLAKE2b-256 ced61cf458eef29686b671dfd974b128375f81af5fb014be8a94d8d802e87462

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e35fba072acec8fc3586666d25ff2acd8ac5cf90215da994c27fcefcf051a973
MD5 58dfd4f126584487d3c20080cb8524ff
BLAKE2b-256 f1ec9b07da0758a1de747e911871a04e4a676ef636567cacb1c214494de6f010

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 294ab3a6df6d85d878cb3fb01983ada8c49fc94664f04c9c173429f5941a8b61
MD5 f024cfdeade9630cdaeb636e050803ac
BLAKE2b-256 d6e289a5e79bb788686073a602e57caf3d09f7f2234cd3c1b15511c1c815886f

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 fca559579a94df50d3f3a5d0ce0b965b9fc9a71dc5841154142c4bfba6b33b64
MD5 df2825a7aa4343581790876d6db5bdac
BLAKE2b-256 7497bb887468161c3dce6c6a4c9df22c1e059615fd7166c454cfaa24fe775c03

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2619b1b8b1295be5984ca7a22f0f89c6877cf992c37951cca89bbb2abda3872a
MD5 e03207cb1827af098fc8a72cc38bc03d
BLAKE2b-256 b97e36c785ef58093e7071719112d3bb88fa0d42006cb8b0df1f7c8308dfd33d

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 75b21e1d050444cf96474ad6417f6fdf9780a04a6e4f7ee36dfd84e1c62deee4
MD5 41768e4c05e49374755168fb2d1a4d28
BLAKE2b-256 925408d9085c77b2e318e75801155ec0517e13d3f2c1ed4c4b07e8a6f1481577

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1b13a5cb6b7d2c8a2953facff22230b478a6be8408cf2f15f3b25dcaa0dba116
MD5 5f9c02da2325a14860243f1dd312d43c
BLAKE2b-256 ffcd7338eba09aa92ffd70ac727ec35a65c606760c9256b62984f42f873a7eb6

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: aithree-0.1.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 175.3 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for aithree-0.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ca4af57605506dffaa763afcb5f6756dcd71d2582f112985c4bae4eee0272a80
MD5 2e7fba86acd21432e481b55d80c79eb6
BLAKE2b-256 a8894c6b43fd17c6eba630fb394591bf098ce93778df88ff7963141df7ae3b5b

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp313-cp313-win32.whl.

File metadata

  • Download URL: aithree-0.1.0-cp313-cp313-win32.whl
  • Upload date:
  • Size: 157.4 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for aithree-0.1.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 fa078ee1e49d34f57ff7b24d0a16c66b4ae05cad4e67b3ff3aba750b6d8026ce
MD5 86e84d062a2f72570a56a33d822b135b
BLAKE2b-256 c1758918b8d35465d14336c237977edb40f8815c3c78b5781a209de619053d21

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 03136e726407a8e3339138d90edfdcb91cf9d45ba706458c90af23518ef7352b
MD5 cf7c467d132f04a90798df6c4777c433
BLAKE2b-256 23ec1e0d211872ab96bfd91a3992c544bddfca94b808ba64139db74a42327217

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 2d02981cc792425f0fe2df206e70e9e0aa6fff235362e02f8a04e06be28d83a4
MD5 e607b810371f8f4dc9db72e62d3118df
BLAKE2b-256 45aec6588deffc1a4e2da6e4fe904b69e35ddae43b9b8df82d2ac36742cff2ef

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 272758001ebd5b81f43387c4ea9695619661612e3e32434df35eb352532aead1
MD5 6033184c413564e8ae579a8f521f0639
BLAKE2b-256 5523938dd6df3dd7045f11b1803989cc7e2702b92d209d617c0a02e32d3e96bf

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 39eecb3bb036a89fd5bb89943a516f3c3a75e02d6ca90a221ae15acf0a11ff1c
MD5 a4aace803eb999474d6db4e2ae01f0ff
BLAKE2b-256 a8fd044db9aefd9a2b836b611e6b4580b543bcae13fb25bf3d2fb3a0dc5dc3b4

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2b5c9093d38bcb61e2b1b033abc5337f11aec5f3226ec4e630f8ef5107f32734
MD5 cf49a7deff0f3ca4d43e8be88aa771ed
BLAKE2b-256 0f467bf26059ff480b26854f5cde9f5e19ed27ccc5a20ebef8cb74f82faa2bb2

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: aithree-0.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 175.3 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for aithree-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4c65a3a4eb5a9a1900ad67aee2f1d3cd6d175a4aa8dac2334bfda25909b01fc1
MD5 c02f73f8fa477328b22cced3edcd14d5
BLAKE2b-256 62b4a3bcf18c5961e2676d8b0eca5256f8b0836d0b1ca57c6572ae7bad4ef47c

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp312-cp312-win32.whl.

File metadata

  • Download URL: aithree-0.1.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 157.4 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for aithree-0.1.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 d01fa1ab0c521930d8e22afe481d38d1d7609c3dcda474d8f5ba2502e883fa23
MD5 951c97a61c297523e7a0a006d6684b39
BLAKE2b-256 c5186a49a1728b277e8904c61b09ca19ef0024a32cf6d0a1483984070c81570b

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b7667064b2be2c8431d24215b2e0d906d637b1d10f0b47a74db1403655f1b2ba
MD5 0ea5d7478c4f5061b06305c033993c95
BLAKE2b-256 96558961bc68f0ffc58ebecac397fa5f6ee2903ed427e97f674d899295a8275e

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 08bb026abb6414b1464355791ec5de01acea8d8bd3abaca737e6403984d844f0
MD5 ea76b7ce2e63e48cc67fcf136253e758
BLAKE2b-256 2b8e70521eda200467feca1595acf9c5257bf23669d20bdd2e70c1cd09dfbe2e

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e015a49b1318e0e2de05d745ad62470569f7ecdb5cc980eeb52f1854fa67989c
MD5 df8d27cd7bd5c414a9500473811002b3
BLAKE2b-256 b6e4214f302d98625d160908796bf64bea9a7fe3c655042867d6e81b88625993

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2e650e6417412c84c2a71b030801364cfb1d25568eb3f00813376a0ab092375c
MD5 5f05c453c3c52835ff2815e2dbe039e8
BLAKE2b-256 9a7203b92d585cf76985ca30165ad22507584199675e568a56c822391e389c23

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7d656b812143698d01389906ec37c4a866784a700b80167890e347779766c04f
MD5 dd07cd211d0a1ea74af96f90d87a2eaa
BLAKE2b-256 70f30f4786b40013917c41e02eac4054c1d9620ebfb31f84d123e48594738f63

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: aithree-0.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 174.9 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for aithree-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 47ba59645bfd63ed0246d200ba48e55d9946ace74f3d67317008687faa253cec
MD5 208655fd7c3bb0eba8c6910696c35e8f
BLAKE2b-256 b8a52b5c508abbfdc93aec29165da06f01d5fe21fb55fa4dbfa6b113a881e098

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp311-cp311-win32.whl.

File metadata

  • Download URL: aithree-0.1.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 157.7 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for aithree-0.1.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 0db2927a48bf6a1983359d20633d13a959e89b9431d834aabf191a11cd092bc6
MD5 92819c16f82d0fc30a1315c6663c4dcc
BLAKE2b-256 6d5fad412c960547adefe2ac80b498162d8cdcfc0eb99d34ab06f397c33c7814

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 00f48226a46a3cc765c64071e067c16a1208c6a1d11a79dc0163f41cfff29338
MD5 120e5b96cd5af24420756cf4019b4f59
BLAKE2b-256 642e11010996f3d50fcbee523e0e9556795f7b16b5682626b6cf5cc1b7ae825d

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 3e4fe7f338e55c647c377cb39afa82f392f1d104fb5b7ceed6933ec63f5c9eca
MD5 5beb27f77b6041673280aea72a4b235b
BLAKE2b-256 80e40437c572a32f4fecf27bb6be9068d04621cbfb2c635b59686232f279da6d

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b417accd6ae96dba14af5c53d2f4d118ed93ad5aa734b66dd4f1fb482e4a1af1
MD5 a533b6b323abab6c55a5abfd404823d5
BLAKE2b-256 87f222104079bedce35cfb63af14e57384fb3e0fc4536fad65f58ab2478f8321

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 4fae9a158fd677aded9cba203d213ba0de7a570d13f81a34ee8cff97eb6437de
MD5 afed527a5fb2221164bb91b0fd49b344
BLAKE2b-256 8036a4429a5c5cd9b2a159aadfd9e741e455caa4218026c03a9090ba8cbe56ed

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 477eb372525e3b718350a16c0927d6534644e6a4d91f1ddb4ddbdbd1919ec059
MD5 4a0b690be272d16cd8409a44dd93a038
BLAKE2b-256 2ea24f41ccada86e121cf524c98650f1646bd2bd15af82175e3f21b4cf5b172a

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: aithree-0.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 173.8 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for aithree-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5ff62c03604d0fabd73b76b37ae2ccfcb3cf328fb931be8bfb459f5b0ab931ad
MD5 e3f40cafbaf52a6cbc737050312bd780
BLAKE2b-256 0dd4b89d201c8afc64347fe607ce1024ca17955ee15b48d2a2bb370f6cbf1a5b

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp310-cp310-win32.whl.

File metadata

  • Download URL: aithree-0.1.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 156.8 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for aithree-0.1.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 c839f88031116c7f43b81822816643c3b4bc32ec316f6aefb43d58a5f1a32455
MD5 de99792b6331116cc65930bc022e7cce
BLAKE2b-256 24374bdeecc08964b089a7a0a8efcd36129d0f363399f4cc508f0ee3d13f35bc

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 71ad476fa4d986e73de548b3fdd9b4cc149045f1f0c7ecae26fe85bb90f93b61
MD5 257f2aaf3d2bd9fcb43c30f96efe8d53
BLAKE2b-256 6472bfeba3247a6227b65ea70bd87a177334529452edec586651479e80d24215

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 351d244b72ef873e2433f033e175871caab801598987f96e1cf9b1741e9f6d6e
MD5 ded809e47ebf64c954f3612577ac9d03
BLAKE2b-256 a94b6973f2aae7b6ba67bf3a2e2cc56fe54297b5ec04834822f18e5c442ed95b

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e409456c0180ecd24aeef1b2656c83df57aa8ceb9df56eebc7e64196f8cdd407
MD5 b5fecb17eeaeb79a157328c38cf95249
BLAKE2b-256 1c59b29eadd63cb3de4d8f1ee92f1783163758c10af1bbd402409145254a2752

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6fd4903657671897504ea2b307c42acfe95077ab1bfc37f41a85ea2a5a151795
MD5 900204e81a39ef8a8d5501d06cc7818e
BLAKE2b-256 956cd05ab98b7b375f53a2b789ca78202cac0e48f3fe79be2dec1f4747ca2f9a

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 31f79bfc3a9ff390d640b899556937ea6d3ac6703cbc27e1e1fb5bb7e2594a99
MD5 299e89b8e7ae4b478b65661aa680d64a
BLAKE2b-256 95d3d9ee02fbc2f8cd94c675d9f1f6a46a4f2aee624c8eed2e14a7ae1a4b1ebb

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: aithree-0.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 171.8 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for aithree-0.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b7276927ee8be593be67c361bc3354936990ac321f4564c4be57e8f2b3e1a445
MD5 3969632a3a050f30f88fe4eaaff1c3c2
BLAKE2b-256 45a1b5655c665aeaa65b7dc3bc5cc040f1c5c263b36e37760b157fb5eaf1d313

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: aithree-0.1.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 157.0 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for aithree-0.1.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 c75708e8c5547367b897cbd855a666c673d0a1fb7b64dff1f7f043eb372b5925
MD5 0d6bfb31c405aef4f363797416747c96
BLAKE2b-256 0ad9fa7752fe9d064516b8866b4277c68c2e18486ead89a7a0e9ce8d903bd26f

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b74c5670105c89c12f94a6bfd07d72df19de7f9e5f30350205b9669b21c405cb
MD5 489d53ecccb626a8fa760b52ade967d8
BLAKE2b-256 2f5293eaca388df96c833620d0b7296b3e672cf8ae6bc0181d14f3001a2b1ef6

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 569a8a68aa310fd8f76a3917de94a65bfa2d59f8b16d99709204b4d01eb115fc
MD5 bf6291e0e871f656774f9c883946f44b
BLAKE2b-256 f8ec322105d5e4d2058596ba6a7f281ddce360df71b2c891f3bb9fe2a73982e7

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3243074882c658c01d4fdedf27dda095cc0e9fd95ead76115a24ddf14edf6d61
MD5 21b3a2460ad68089869945db757f0d09
BLAKE2b-256 1853755553aff4544ecfc4968a82d9f68ead2e38ac772471d3ab2b6fd60cfb21

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6e7e659323e3578ca64934074e13093b1f549def86b86162c5ce308f9c6bc6cb
MD5 78d5eb1519d5d8a6fe01841e679af28b
BLAKE2b-256 5f57e3d77b47539301ac4f672b686cf6c52bc338bd1fcf962f869a40798098c2

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 970bd1c3387845904b5c3deadbf771298cb9bc810c2bca61998c096fbc8ecf5e
MD5 8a9f4ddeb1a0fb2eb14918c45ed30c0a
BLAKE2b-256 831b02e15b6fb366170f1b267550fc967137ee7cb5bcb33a029341bb1ab09636

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: aithree-0.1.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 174.0 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for aithree-0.1.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 e17c13876ef7a41e6eced341e0a8b6046b387837d8b1c9e8fe4f26ae15df55b8
MD5 acf65f7e510a8b333fe5bb937269f6f4
BLAKE2b-256 479926931d99bc1891ef48cba438977fb28b59c1b8abfdaa27c626a5b019cf3e

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp38-cp38-win32.whl.

File metadata

  • Download URL: aithree-0.1.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 156.8 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for aithree-0.1.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 4685813721da4e1e465f07a1aa4f0d0aa2738433b20727e51d97aed63211938f
MD5 c54302881f6b0f71d97987681fef9f91
BLAKE2b-256 c30ce8f023d2fad0cd20301ee2f3cecdd34ef81add915ea5e26e695b401c0e45

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bbf68a7f335ccb32d7e7fd4a705bdb8b928dfa5989026094f3ed66ea4ddd90f3
MD5 5eaf7a00f509092530a669560e9ffd1c
BLAKE2b-256 adf9848a964931b196d223451e0a5c21dfe852b753af3ad55d47cbe4686f02c1

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp38-cp38-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp38-cp38-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 eb60f0d3fc9e4bfbfa7ec77159fb9b2e9c76fdbc5596cfb3eba8c59ef97891a4
MD5 48dcefbf2fc9a26e2dfce2d485432048
BLAKE2b-256 7a5ff34542e953db9317e83bd999145d2a06c444bbde692a4f25aeaa04032a57

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1248ce4f167d7626565da173afec7e1a76b70964830afe7ffe1d3ba59e6b72a8
MD5 ecf731f074ce1088da0c1517a0ef0f75
BLAKE2b-256 ff7fc204672f9707b7ba3367c329c258b5b70a8d037ab9fcbcbba54bf42a2b45

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 14555b0eacacbdd7e2cccdc32350d4611063e1ad6362a17678526ec473d0d28c
MD5 df51070258907f755942eaa9ead92ea8
BLAKE2b-256 f0ed6a29f8428e4a72628781db93aa3e116ef0900533bd8c345a5b136667b987

See more details on using hashes here.

File details

Details for the file aithree-0.1.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aithree-0.1.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 70b7bbc8e326ba205d7860407667c488397e1009ac293eac555c1b0c3ddff90a
MD5 483c6fd50c07c7aff7a753fd224b52a0
BLAKE2b-256 9609daf5c0cb96e8c2dce65e71f38cf2d5ee0c3c153df08fafff61eea49c896a

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