Skip to main content

An implementation of the WebSocket Protocol (RFC 6455 & 7692)

Project description

vtece4564-websockets

This is a fork of the excellent websockets library, created to facilitate use of a patched version that properly supports the threaded WebSocketServer implementation on Windows. A pull request has been submitted to the main project to incorporate the fix in the official distribution.

Unless you're a student of Virginia Tech's ECE 4564 Network Applications Design course in Spring 2023, you almost certainly want to use the official websockets distribution. This distribution will be removed from PyPI in May 2023.

Background

For a senior-level university network apps design course, my students are using the threaded version of WebSocketServer as part of their final project. While the project required their work to run successfully in containers on Linux, many of them use Windows for their development workstation.

We discovered that serve_forever throws an error at startup on Windows due to the use of select.poll as the means to block while waiting for incoming socket connections. The documentation for pollindicates that it is not supported on all platforms, and apparently Windows is one such platform.

We patched WebSocketServer to instead use selectors.DefaultSelector which determines the best supported mechanism for I/O multiplexing on the runtime platform. The functionality is the same, but it works on a wider range of platforms.

After switching to selectors.DefaultSelector, we discovered that Windows also doesn't support I/O multiplexing using pipes or files -- only sockets. we removed the use of os.pipe for the shutdown mechanism. It was redundant anyway -- simply closing the listener socket in the shutdown method is sufficient to cause the selector to return. Subsequently, the call to socket.accept (on the closed listener socket) causes the loop in serve_forever to terminate as expected.

We tested the change on Windows, Mac OS X, and a Linux container, and it seems that it correctly supports all three platforms.

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

vtece4564-websockets-11.0.2.post3.tar.gz (102.2 kB view details)

Uploaded Source

Built Distributions

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

vtece4564_websockets-11.0.2.post3-py3-none-any.whl (116.1 kB view details)

Uploaded Python 3

vtece4564_websockets-11.0.2.post3-pp39-pypy39_pp73-win_amd64.whl (122.7 kB view details)

Uploaded PyPyWindows x86-64

vtece4564_websockets-11.0.2.post3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (120.6 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

vtece4564_websockets-11.0.2.post3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (118.9 kB view details)

Uploaded PyPymacOS 10.9+ x86-64

vtece4564_websockets-11.0.2.post3-pp38-pypy38_pp73-win_amd64.whl (122.7 kB view details)

Uploaded PyPyWindows x86-64

vtece4564_websockets-11.0.2.post3-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (120.6 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

vtece4564_websockets-11.0.2.post3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (118.9 kB view details)

Uploaded PyPymacOS 10.9+ x86-64

vtece4564_websockets-11.0.2.post3-cp311-cp311-win_amd64.whl (122.7 kB view details)

Uploaded CPython 3.11Windows x86-64

vtece4564_websockets-11.0.2.post3-cp311-cp311-win32.whl (122.2 kB view details)

Uploaded CPython 3.11Windows x86

vtece4564_websockets-11.0.2.post3-cp311-cp311-musllinux_1_1_x86_64.whl (134.0 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

vtece4564_websockets-11.0.2.post3-cp311-cp311-musllinux_1_1_i686.whl (133.4 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ i686

vtece4564_websockets-11.0.2.post3-cp311-cp311-musllinux_1_1_aarch64.whl (134.1 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ ARM64

vtece4564_websockets-11.0.2.post3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (129.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

vtece4564_websockets-11.0.2.post3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (128.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

vtece4564_websockets-11.0.2.post3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (128.3 kB view details)

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

vtece4564_websockets-11.0.2.post3-cp311-cp311-macosx_11_0_arm64.whl (119.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

vtece4564_websockets-11.0.2.post3-cp311-cp311-macosx_10_9_x86_64.whl (119.0 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

vtece4564_websockets-11.0.2.post3-cp311-cp311-macosx_10_9_universal2.whl (121.8 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

vtece4564_websockets-11.0.2.post3-cp310-cp310-win_amd64.whl (122.7 kB view details)

Uploaded CPython 3.10Windows x86-64

vtece4564_websockets-11.0.2.post3-cp310-cp310-win32.whl (122.2 kB view details)

Uploaded CPython 3.10Windows x86

vtece4564_websockets-11.0.2.post3-cp310-cp310-musllinux_1_1_x86_64.whl (132.6 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

vtece4564_websockets-11.0.2.post3-cp310-cp310-musllinux_1_1_i686.whl (132.0 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ i686

vtece4564_websockets-11.0.2.post3-cp310-cp310-musllinux_1_1_aarch64.whl (132.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

vtece4564_websockets-11.0.2.post3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (128.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

vtece4564_websockets-11.0.2.post3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (128.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

vtece4564_websockets-11.0.2.post3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (127.7 kB view details)

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

vtece4564_websockets-11.0.2.post3-cp310-cp310-macosx_11_0_arm64.whl (119.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

vtece4564_websockets-11.0.2.post3-cp310-cp310-macosx_10_9_x86_64.whl (119.0 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

vtece4564_websockets-11.0.2.post3-cp310-cp310-macosx_10_9_universal2.whl (121.8 kB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

vtece4564_websockets-11.0.2.post3-cp39-cp39-win_amd64.whl (122.7 kB view details)

Uploaded CPython 3.9Windows x86-64

vtece4564_websockets-11.0.2.post3-cp39-cp39-win32.whl (122.2 kB view details)

Uploaded CPython 3.9Windows x86

vtece4564_websockets-11.0.2.post3-cp39-cp39-musllinux_1_1_x86_64.whl (132.4 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

vtece4564_websockets-11.0.2.post3-cp39-cp39-musllinux_1_1_i686.whl (131.8 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ i686

vtece4564_websockets-11.0.2.post3-cp39-cp39-musllinux_1_1_aarch64.whl (132.5 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

vtece4564_websockets-11.0.2.post3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (128.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

vtece4564_websockets-11.0.2.post3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (127.8 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

vtece4564_websockets-11.0.2.post3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (127.5 kB view details)

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

vtece4564_websockets-11.0.2.post3-cp39-cp39-macosx_11_0_arm64.whl (119.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

vtece4564_websockets-11.0.2.post3-cp39-cp39-macosx_10_9_x86_64.whl (119.0 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

vtece4564_websockets-11.0.2.post3-cp39-cp39-macosx_10_9_universal2.whl (121.8 kB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

vtece4564_websockets-11.0.2.post3-cp38-cp38-win_amd64.whl (122.7 kB view details)

Uploaded CPython 3.8Windows x86-64

vtece4564_websockets-11.0.2.post3-cp38-cp38-win32.whl (122.2 kB view details)

Uploaded CPython 3.8Windows x86

vtece4564_websockets-11.0.2.post3-cp38-cp38-musllinux_1_1_x86_64.whl (132.5 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

vtece4564_websockets-11.0.2.post3-cp38-cp38-musllinux_1_1_i686.whl (131.8 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ i686

vtece4564_websockets-11.0.2.post3-cp38-cp38-musllinux_1_1_aarch64.whl (132.6 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ ARM64

vtece4564_websockets-11.0.2.post3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (128.9 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

vtece4564_websockets-11.0.2.post3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (128.3 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

vtece4564_websockets-11.0.2.post3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (128.0 kB view details)

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

vtece4564_websockets-11.0.2.post3-cp38-cp38-macosx_11_0_arm64.whl (119.1 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

vtece4564_websockets-11.0.2.post3-cp38-cp38-macosx_10_9_x86_64.whl (119.0 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

vtece4564_websockets-11.0.2.post3-cp38-cp38-macosx_10_9_universal2.whl (121.8 kB view details)

Uploaded CPython 3.8macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file vtece4564-websockets-11.0.2.post3.tar.gz.

File metadata

File hashes

Hashes for vtece4564-websockets-11.0.2.post3.tar.gz
Algorithm Hash digest
SHA256 85b6d1cbbee7c95f181890edf7f6ae4ddf43e460ad0b90ee5af4c7942f2005ad
MD5 9f66c85f06c215402fb282572725bf4a
BLAKE2b-256 00f14eb7b5e7a0cc1d66198e66a52b176dd69af399f3eee4db9d3a43d5f8e627

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-py3-none-any.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-py3-none-any.whl
Algorithm Hash digest
SHA256 520a6588f26016d41bc64ac956b506f20b8ab7e078ef0b7cac53855fc6d3bf45
MD5 b03ebb972e37eb5844adda7c02b26bf8
BLAKE2b-256 e0ab1463b7d17496963d3ce5a349a88cd5948426882dd3f1a2a538175047f3da

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 ba9d4bf718e57b2b1b90c17a8bf9985372d092693b721bbcd7a1e5c819194d67
MD5 420a4f5e5a992bfc2b2f224c10fdc536
BLAKE2b-256 6cb8c696b26a617397102c313a1a605a456320178494abed240aaca05cbd2bf6

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 68c33c2fc71fba7b5bc8d79f25dde7a4e6304a3dd1f2a567f0661ca2892a05d3
MD5 ac6bcb4f92a69a36d739ff94e4b0bb0d
BLAKE2b-256 d73a3e8c297945c1c24355922d73aba26d3c81b3b3f0a65421915b2d7f77d8c5

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 16c6d56d24eeaa70d28d8000576c34d39f3c7c61e3eeffa9804fd6eceac882fd
MD5 329a3f86c750ef2176570ef7b9f3a369
BLAKE2b-256 67d32a29d290b0af9c60ae74488c9aa99411b2ba29f491b8aa5b43ba07267ffc

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ea161eccbcde1675932b1a802d0ba79f4c6229407bb8b9c2b0295a4f03eac244
MD5 7e1b023480ede5d0c9aa73cdcae4ad32
BLAKE2b-256 059cf335922415c610451d412e563208cff3128f76dd84338c618043ae68a19f

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 84635342bf62beee5d6a1a688ddd2fc1fe3bfffc0b6bb982f51e8d4e8c2f498c
MD5 110982e7780684d8ea4146984343f23e
BLAKE2b-256 e6f53b9f07367ce9bad89eec7417e2105baa17301315538da0d2890221b898bd

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 069255f0418934d172dba4b38678ebac29acb4761edd3be6555b7732ebd10323
MD5 3dcde5bd2d011677f675a5871b47d338
BLAKE2b-256 4fb2fdc0d0e51a8798df2b092e566407d2c674cb9271719cea283677d8a3207d

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a9401eb91d48d454bbc37231f906f08ef79fd2f7896e961acfcdd840ed62504d
MD5 5d97abd0549866db8aef4a297b606c76
BLAKE2b-256 db788eafc964adc411a56576d550f25eac1956bf17f2dcbbba193e042ffcc760

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7ed22094806c50284da9f7efabea032d250cc5df8624a7ba35fb48dd9374d0e9
MD5 26b765a9dc8ee14f4dfebb45ba500fe4
BLAKE2b-256 c7c316d6576db632c52ae7f40759f2f20b533b68428b13a05e69bd63e5889d21

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7e1879b781cf3cf4e5dcb33c0aec82d51122c666275b11fa6a31054fd121823d
MD5 57150ebcb883020b8fbce3e3e04921c2
BLAKE2b-256 9f12ada9dd2f939ca061e84b23cb1d3d4a2b09f9d3f0b1808b0d145d9c852400

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e430ed49a707b84f348bdf111d3608e3fd9b5092ec56201d110ef3256006ab86
MD5 41a271ffa6d531949737970700057761
BLAKE2b-256 9d7e1e8002178798912ab6517c5f126aa4c0ade268b204283293f50ccce8a5af

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b96a085bb25a45f8dae269e014276c8e8fe54325abf6252fa4bb42326b0968a4
MD5 40a32e51652fb89dbfeaf9f8ce742b0e
BLAKE2b-256 1f8f6655dadd0eb526215b19e8bd2dbd5b6929d4f2a5b925803ad2a560942a32

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 95caca0844cb9b0b886cc0ebb826ca31214fe9c565fd4b4af4a2b24211408722
MD5 91007a4ccd6808649bd651f3c7aa4bb5
BLAKE2b-256 6d18de92978e216925ad338380fb613764cf9d7e59952bc2e0917dfff1ebbb0c

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d443b73a57d0bee2ba10cdbf2e3df192624cb1ebf5b44a51c8431ec436d71154
MD5 7e71e345517ad29affb79f60f4fc914c
BLAKE2b-256 c7beefd6996f818119dcad83ec0919e330b026987c7d54d2bf973674516283f7

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp311-cp311-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 d00afe49a601629067b71b04ff800787ea59d2e12883aebbd67eb8533bdb2d94
MD5 e1586923b07493f3d640af9f224b368c
BLAKE2b-256 3a81425cb3de143f79aaa6b958e63b0dbb9ac3fd5dd2cb7a12abd57fb9b739ce

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp311-cp311-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 af3d92a6a6b70fc8b09a060173e7b23ebde624f51ffb2123ce7c05872df48e9a
MD5 bfa14d34283813f9bf6c37451e9c7336
BLAKE2b-256 1198c496c51b80070f39c97415ade78828afba9d65aca9731fd339c03ecfd92c

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 88bbf86b2fe4c4ad203327cddf471784c7a79eaa6a2634739067b40e9b11dca4
MD5 e183c5e405a9d562385d80bdeef4f9aa
BLAKE2b-256 4cb0a62458b7c65df6bb9d12020a802332b6b070ea5e83fa759a8a003769e188

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b6ee641c7f3df022782ada2cdb8fddd999de9d4c60038ed65cecc91647cb1a74
MD5 7a7d5341ae6eb7616af6db8fa4280e44
BLAKE2b-256 216acffbb4bb81535ea9cfd4aa6e895bcd97915752d42469ff611b0cf09ffdd7

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d43c80833ef81eeca720eaf789a132b9e31b5f0fe6f57ff821addd01cfd3a766
MD5 5894dd1ef37195a1bb3f384bb1d7c885
BLAKE2b-256 624437c3fff784bd08435e5dfeb7476c920cb2f582294c05c0dfa487519f6f62

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ba6bb1290160b82ae8be6e65131d4f73df29413200e276bada6a421b3e711cdc
MD5 176bce2b8400ce88d55147f11a3e3454
BLAKE2b-256 7412d9dd3609b4f921191b4a0c053295a48a796fa3187ca25c616472d945fa08

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 003f5a7625dff84293d6cc183e8060bc680c371e9761c632311e6a79eb3ba6e6
MD5 a8beee6ccd2ebc68683d89b9ba7ee652
BLAKE2b-256 dc74a9749291a9f85c8dc058c47e9986255485525be5bb7fc83b611497ff6552

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7609468cdbe15f4ceae37b08f7bd9a627c2260243286dc0cc94f8b487764fe1a
MD5 f55aff31b405726f9e46046410b7298a
BLAKE2b-256 2061ea68787c4ac00fef4fa886008b978e696d69c806fccb676d8846f3752583

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 07dfa3a374c4524238d301b0571a4a189fab0e6ddadbc49bd2edf2139ccd3635
MD5 1b4fa7e56724193d9d187a4d789abddf
BLAKE2b-256 e9eec95352b74169af96b57c9965fe7db25de7c6e5e18bfef815813189c61126

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp310-cp310-win32.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 06440eda3b281c9c983aca45827ef155871c39dd9032b089d60e9ecd758b1066
MD5 ff90bab853fdab0ce9178ce25a28d7f5
BLAKE2b-256 5df1e38e1e77d3589fdf803972ee3931cf1e485bf7cecebcab9218978ae5c9dc

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 799b9484ebb141a2e637ee72251482424a750ec8f36d611f8398dca64a2aff0f
MD5 787abd622c63dade6c45bfb3c4773d8b
BLAKE2b-256 d8d680b1ac07a8c7a7da22afe4a264d5416341c440b59646bc206b5e1c12da10

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp310-cp310-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 7e80e1f3e7aa3786481e634a3919959df64e26ba2bd7d3a8a513339292cb3928
MD5 dc4003308ad78b80bad81964e0e86829
BLAKE2b-256 6df94c61e301214a56ec163bc9b009f064cdb1254b74cdde25139dcae3d602c7

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp310-cp310-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 37154b594d9c93bfae0a6b93021abff5bdf4a5d17ca9495ce1fb4df665cf9ee6
MD5 9552e1876b72a523419739490f7708b0
BLAKE2b-256 5692a219aeab7b35827cac1977bdd7be85c936dddde6d4e6b287382e2d487a1c

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2e236b53af3a92ca9a414f4d801af20b625fbdb3f5ddb978a04cad4644fe4949
MD5 e649ddc8e5c2676b90bab66480202974
BLAKE2b-256 f1aefc5f9029e9094cf14a9ebd2f8e36aa2ec7b4f3a80608715d9f679b30cbc4

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9177e38ad1da241557a730c2e61c8c317c89e2d1038789a72c68add74bfc9fe4
MD5 bb9602ea635e7889bd175a0abac029c1
BLAKE2b-256 96bf637a56f0c48ee9d00527bfe95138b24fe5240274d86e0a6fde008b751836

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ac1e6512be6fdf427b889fd37a8228ea1f6692307f7efeb008773aac0dd0aeb3
MD5 355057ddf071525e3a85c1396af70f28
BLAKE2b-256 ac22a2a52b4d967c51c58cc7d2bd043f57b093a42f99ac8f19d54a62f39538e8

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cd55e5ac8fde1a5e2ba99fee865007f68bedf8ffdb158fce31afec0b40934519
MD5 bf165c2be65dd164fa9ed1930f15d42b
BLAKE2b-256 8d6552b3d23044e20a18e693423091e17b272ad3a6ceb3c30c610fb2d808c503

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b182f5c0e555c7862bdc49bbe10bd3b43b216b0c2de5793e5a79fa8de976c049
MD5 8adaa082eaf57291668cf994bd10c17a
BLAKE2b-256 1d8dacb7be13e791ee76bbc9ae0dd2e888377dbff6b089668cb3e5e1961dbc66

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 f7fff8ee19678c31c5c025ecc674a4ceee7e93873673a61e2cf2455d10aa246d
MD5 50b17c580964144703bf3a1fe0b6fd0a
BLAKE2b-256 ff750e87cb85fd8051d8204ac5df03d82e07d14466a9a426ef5c68776bbb36a0

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d34e15537104c883ed6a88a8127aef84986e8bf20b9fc2e7b1ab3d30d7d30a5e
MD5 395349ec55761945c86ae673ee8ec50e
BLAKE2b-256 1d04b9299b07790d8c94d783a3a4ef28e7fea664b20d72a755a6a3696349e9f2

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp39-cp39-win32.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 087df96cd29713c09b6e10c3fce65e3bb81a427ce008619dd323866a2d3d6223
MD5 c4752f383dbf17b4ab5dcbae11bc9ccf
BLAKE2b-256 0541bc2a4e92324608d1dd1aeeeb1737e7fcc5e41ceaa542e4c6641ec4a7fde4

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 30b7ed6df55649829fcdd650cf8fd5e4e929a5757efae0ad239eb3f96f755bbc
MD5 e18375c6850dd528d24fe410d54abaee
BLAKE2b-256 751124e530618a2cfc57ef526247950ad771023b543ec5da7d74afa046d48ff9

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 f7903ea8573f16c5adea1491fc91807958f05054effb687581b78190d5224f78
MD5 d2eecf63c9ac32d9a2829310498eaeee
BLAKE2b-256 3d89b609cbd72242f725a85b369f25ff1d5759b55c3f252cb1e106972896bfec

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp39-cp39-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 4053870783b46b81747803b988c3ceebb0edea7e73682fbf460ecfdcbc419fcf
MD5 681c0658fc8db4d774d8cbe2dbf0dd3a
BLAKE2b-256 2a4435475059b88755131573b248b4a0fc355068781ef1c7921e1ccbc4b0c073

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2028816d1d3e483ba39b8ca6d95aebcbc404d6a463032d024390ade06639262c
MD5 2be43310cbc456dc713a61e65016648f
BLAKE2b-256 a6d933c444fd774010337a0dd7071b8308ee14a963b004e04de2e6ea7f88cc61

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 96ba4f899155422d0ce48a60adc56d0e66d95a4c0d7db37740aef790ff1501a3
MD5 d4298f0cd2b7ba7bc2bba83f344883ab
BLAKE2b-256 a6dc5d812ccfec008a66ce9069065ec2b926254aaf626ff88921bee7b4ecbb1b

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 06a4bb8f6fac3f98959f25073d59778026530789333b76abcee5bb428baaa783
MD5 13785d9b9a3338e10379150d1693e8ae
BLAKE2b-256 63fe6f2ddb2f006088e8bf1862df5ba9ac9097122d29ac30e709f846fedb3b7d

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c8a5be85c11a098c301e8d4e93ad821ad1904493fad9342a9f0057cee05e6d93
MD5 5477ea750e6fee6d152e8a479a66d103
BLAKE2b-256 bb4077607ea7bbb9a211545ac2b4b0c0a96b83bb372ca41a6548b03162a459b2

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6f8af94bf0259a58405ae52c8c234527be8c16196c6df5371295001235f64277
MD5 a374b961082a8811a23e415cb1994c00
BLAKE2b-256 82133a1f3ba9f13498b89e211f53e1303d45c39fe4549b0a63c26b8d2e8a9829

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 d895ce63915aaf71d3f8b1de55e1ae817c2799227ea4127cf2099250dd10f451
MD5 6d4a8e8c1c6dd6b324e18369b88e979d
BLAKE2b-256 d6536a4f8400475e97c794921d1a281e31ab684b100228650bdebb5a96256140

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 7ee6ce0bfb320f51f07d072a681052ce1dd284ea60a0a00feda94e7f869c4609
MD5 db89ee79fa7105b111d68b1fa84e278f
BLAKE2b-256 381b1a5e38d106844c11dd495c93756f8f704c2b9d3cc85d6518730bf199e883

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp38-cp38-win32.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 b5e8308190a51e0f2f84b3671581b0873d16478fdac602d9d760c4c0f51702b3
MD5 7056a4162eedcb36519e2db8b1a4edcf
BLAKE2b-256 daa0710d4889a89374cd83bac506416025d422391abba00a90978660409e7cb0

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 9c7e1bff6b892a00a117726902700bb2f9fefbb2a5efc2f8b516034cd8f000a1
MD5 5254b7cd15215fff740f9568e181efa2
BLAKE2b-256 c4b6fc2f63600155081a11c2f10e09239d78a34dde6a82e7ccb9dbbb53544ab7

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp38-cp38-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 19f324161a83ade7fce5b3f9f81d9b5fb0f7bc77868def1bba5abb4071d9863b
MD5 6c9dc4d1fe98d66bf6dee420e0820f66
BLAKE2b-256 a75f6f4bc84c7306c1213638538047e125402413d21c9b7df53e1d805414311e

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp38-cp38-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 24da922cc55bebb69798523c73f57750a146923bdd6dac93d18b1e70de8baa96
MD5 6d611ed331c59238b525061d312adddc
BLAKE2b-256 f9be352d8df23877be6b9ef953292a0563bdf674931e57cd9060cbe32a0f5195

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 91ba1ea44fe280586b738c4ae383f01b75a6e6b95dde56df482807cacbec483e
MD5 5edfb9288bf76e3864af8ebb4dc7d9f9
BLAKE2b-256 24a09256ae7de2adc4cf15307f712c6d70e5697d5c3906322f3f32da6785e325

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0b197978c1b2003318e916956ac9adf25c1fcbf4d0f0e93da72e5cdcfaf9ff98
MD5 94989cc2d7b3e6f27d919dcc725166d5
BLAKE2b-256 353e05014b418dc6c93ed3e70647d0fa43a3620129ed2833890d9ffa4f0e0c6c

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 06829df330d838289e97a3fed02c410491301392895727a40d667367241931df
MD5 43bfec7ebcd0b7562c5f7a2d3e1064b3
BLAKE2b-256 113ebc29889c98e3b073083b942cd8ee40ad56f5f3b28eab250dd1e096b39917

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6e20fd7b72b4745d792da71dfa04edfb7e6f74c50a593fd42490cde37a8a90a9
MD5 07ec82ada3cc80d1a56cb10d5b060829
BLAKE2b-256 893db44b31c92252616bf32e22165138fc284154618d2bc665e33defd315bfbd

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ca5361ac170ecc8c8073babf80ef5455832f7e920370028083f7ccc6fc2d6167
MD5 a4f65a04dc2fe8a261dbaabdd9306166
BLAKE2b-256 65744967b31ff54e9272eaac44a09a729567508997c7dba94cc1f6da359ec55b

See more details on using hashes here.

File details

Details for the file vtece4564_websockets-11.0.2.post3-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for vtece4564_websockets-11.0.2.post3-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a66a95163276beda4c5e44103cb099f8706add7f037c531fe4d5d87a8dcdb1ae
MD5 48a40510627d1699542605166356d72c
BLAKE2b-256 1f889b9edd3285eb7b336c70507e788b87237e4c879e2b4b340d76a67d3ccba7

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