Skip to main content

High-performance Python bindings for the Mongoose embedded networking library

Project description

cymongoose

Python bindings for the Mongoose embedded networking library, built with Cython.

Overview

cymongoose provides Pythonic access to Mongoose, a lightweight embedded networking library written in C. It supports HTTP servers, WebSocket, TCP/UDP sockets, and more through a clean, event-driven API.

Documentation | API Reference | Examples

Features

  • HTTP/HTTPS, WebSocket/WSS, MQTT/MQTTS -- full protocol support with TLS
  • TCP/UDP, DNS, SNTP -- raw sockets and network utilities
  • Timers -- periodic callbacks with thread-safe cancellation
  • Event-driven -- non-blocking I/O with a simple event loop
  • GIL-free -- 24 methods release the GIL for true parallel execution
  • High performance -- 60k+ req/sec (6-37x faster than pure Python frameworks)
  • Asyncio support -- AsyncManager for asyncio integration
  • Type hints -- full .pyi stubs and py.typed marker

Installation

pip install cymongoose

From source:

git clone https://github.com/shakfu/cymongoose
cd cymongoose
make

Requires Python 3.10+, CMake 3.15+, Cython 3.0+, and a C compiler.

Quick Start

from cymongoose import Manager, MG_EV_HTTP_MSG

def handler(conn, event, data):
    if event == MG_EV_HTTP_MSG:
        conn.reply(200, "Hello, World!")

mgr = Manager(handler)
mgr.listen("http://127.0.0.1:8000")
mgr.run()

More examples:

# Serve static files
def handler(conn, event, data):
    if event == MG_EV_HTTP_MSG:
        conn.serve_dir(data, root_dir="./public")

# WebSocket echo
from cymongoose import MG_EV_WS_MSG

def handler(conn, event, data):
    if event == MG_EV_HTTP_MSG:
        conn.ws_upgrade(data)
    elif event == MG_EV_WS_MSG:
        conn.ws_send(data.text)

# Per-listener handlers on different ports
mgr = Manager()
mgr.listen("http://127.0.0.1:8080", handler=api_handler)
mgr.listen("http://127.0.0.1:8090", handler=web_handler)
mgr.run()

See the quickstart guide and examples for more.

Testing

make test           # Run all tests (335 tests)
make test-asan      # Run with AddressSanitizer (memory safety)
make qa             # Run tests + lint + type check + format

Development

make build          # Rebuild the Cython extension
make clean          # Remove build artifacts
make docs-serve     # Serve documentation locally
make help           # Show all available targets

License

Licensed under GPL-2.0-or-later, matching the Mongoose C library license. See LICENSE for details.

For proprietary use, a commercial Mongoose license from Cesanta is required.

Links

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

cymongoose-0.1.14.tar.gz (582.4 kB view details)

Uploaded Source

Built Distributions

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

cymongoose-0.1.14-cp314-cp314-win_amd64.whl (235.8 kB view details)

Uploaded CPython 3.14Windows x86-64

cymongoose-0.1.14-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (296.0 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

cymongoose-0.1.14-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (286.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

cymongoose-0.1.14-cp314-cp314-macosx_11_0_arm64.whl (236.0 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

cymongoose-0.1.14-cp314-cp314-macosx_10_15_x86_64.whl (270.3 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

cymongoose-0.1.14-cp313-cp313-win_amd64.whl (229.6 kB view details)

Uploaded CPython 3.13Windows x86-64

cymongoose-0.1.14-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (294.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

cymongoose-0.1.14-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (284.1 kB view details)

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

cymongoose-0.1.14-cp313-cp313-macosx_11_0_arm64.whl (235.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

cymongoose-0.1.14-cp313-cp313-macosx_10_13_x86_64.whl (269.6 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

cymongoose-0.1.14-cp312-cp312-win_amd64.whl (230.1 kB view details)

Uploaded CPython 3.12Windows x86-64

cymongoose-0.1.14-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (294.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

cymongoose-0.1.14-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (284.3 kB view details)

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

cymongoose-0.1.14-cp312-cp312-macosx_11_0_arm64.whl (235.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

cymongoose-0.1.14-cp312-cp312-macosx_10_13_x86_64.whl (270.0 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

cymongoose-0.1.14-cp311-cp311-win_amd64.whl (234.2 kB view details)

Uploaded CPython 3.11Windows x86-64

cymongoose-0.1.14-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (299.2 kB view details)

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

cymongoose-0.1.14-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (290.1 kB view details)

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

cymongoose-0.1.14-cp311-cp311-macosx_11_0_arm64.whl (238.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

cymongoose-0.1.14-cp311-cp311-macosx_10_9_x86_64.whl (267.3 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

cymongoose-0.1.14-cp310-cp310-win_amd64.whl (233.9 kB view details)

Uploaded CPython 3.10Windows x86-64

cymongoose-0.1.14-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (299.0 kB view details)

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

cymongoose-0.1.14-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (289.9 kB view details)

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

cymongoose-0.1.14-cp310-cp310-macosx_11_0_arm64.whl (238.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

cymongoose-0.1.14-cp310-cp310-macosx_10_9_x86_64.whl (267.2 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file cymongoose-0.1.14.tar.gz.

File metadata

  • Download URL: cymongoose-0.1.14.tar.gz
  • Upload date:
  • Size: 582.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for cymongoose-0.1.14.tar.gz
Algorithm Hash digest
SHA256 dccf8c83f3214a0f39db44fce5f43b872c63c0f58762a2a57b5ee5dae842eddc
MD5 9d31131b4eb8d44abcf81733487bd209
BLAKE2b-256 6f1028cbfc73a1b0180b4b47113712cd129e383cf38a242c5c2ebb9909e57f4c

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 1db13ac2e68e5bd13e12f6030046de4532eb4f45bb5215859dca64078bbeced2
MD5 a368e5599d49c7b86c817f3058f6fc36
BLAKE2b-256 703445d2ac22c05f36f3919fac5bdfa52aa2d531ba8713ddfb1a162eab659a9f

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9e81c591cbd98d7f9bb76272198866132c1c2835f8faa44470af5cc39aec97c3
MD5 6921662373376875c0afb374b8fac707
BLAKE2b-256 e00d2479ac3b790b81c7b2a7de804a27f5ab54f79fa246cabab7bdad8fa7cc90

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 67b3007817f2266118118809d3d5627436f13d39ad9fd21afffaf227aa030ce9
MD5 a2dcbf05fb0ecda09e5e94a484dfcd05
BLAKE2b-256 0652256a6b2ea470aded1c8f4528416959ebd458e6563639d1053ed4b25abe0b

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4bc00d4695253d7fc8f979eea2b441fd25db43a34d826fc5820269d8bbaf4d45
MD5 9b5c854944a81ea7907c858a07a15b67
BLAKE2b-256 bba9d1ca858e8e9e59e766e30dedafddbb77b861043cb8f4484fe2ac503c4dfc

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 1d3ba734ac7236b6207744dcf4252e799b18e3a92c214bec42aa2f7980bcc609
MD5 ee78dc4eca3b055b6bd01abb876b731d
BLAKE2b-256 5a2b058ff661a7109cf902ef64d01363dfe81d5d31f6a4f2f8234082146d9e5c

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 cb235fd061347668b88dd0b9dc0fc3fa303f32afc29bb2dac59df27bcb1ccdf8
MD5 a131341e500633c062a7287cb59459d0
BLAKE2b-256 7b6e5d9ebb5a40c0b0c37679a6ad76302c04c47ba9c775cc2a9c00fece3246af

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 22d7963965b123b7c1449caa26f1e0cec144ef88e258f447d22237a4525d9736
MD5 bce953138261c3deae900e5e6f92d16f
BLAKE2b-256 d27d4735dfc298d4364ce3b530eb9db2437c0ed6ea44918ba68829db814ac57a

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 596010083e55f1e68ba39a92d870b25dd744f4c46c653832c9a6f2d4e2df5f00
MD5 ad2c4590b942767281de603480db27b5
BLAKE2b-256 bb579730f46094e92487f5afaca62a95b6feb392a1e017ca68d4c98e4f7a882b

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9ab3de9b600058c23453e4b4dc5b57f2aec5eb8afd0b4b2a0db97fe09c60437c
MD5 e881541714daafeacbbfc4ea729bf7f4
BLAKE2b-256 4b77f7fd394d01246b9351766034078397191d4c20767dc7284c6c79556e7eb5

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 fb95bd4f2585d64a08a341108e8f5a459da15310c922acc8c28b7d9de3d0eabd
MD5 40a9bebfc7cdfa8eebecf68c42c40a51
BLAKE2b-256 3502ab3f0f800bea5b49429e9d3a4c42e62c0c430abb4bc84d26cc37138463b4

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7f24ec082f420a2bce02ef2290aeeb3d815441b2eb2718569f840db27c2a13da
MD5 4023a92f89c6a19155f685a0982b615a
BLAKE2b-256 aa62414330be58c9d4a655c0389873aa77eb1ead81539cc4cf65c2949ab51991

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7dc5be0dbd101e238bc1bf0ff591804343ae54842bce10f51c7996d0c05a6dfb
MD5 a3f7cde7a8c72f35dff12fa0373454cb
BLAKE2b-256 5331aaa30e814db7d522051e95c4703f0d074eaf69cb4f6cdf729a2410156003

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0b5435ca889769e1fd93c5d91b1b90267d6986460f1ffd70ea7cc7fd249de2a4
MD5 e683a7e2c9926bd8737b066c82376bfe
BLAKE2b-256 f192aed81c9342f30ece5f702873adebc0975aa48420204d74ccc47240de9a34

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4fcc260da9231e1478f911e4064ef42defc0fc532cd198ecc01d6825cf3c7e4c
MD5 f83b88d9a92765ff2c3800f6d5f955e6
BLAKE2b-256 846c272303166c73ffd304016bf3a2e93f69131dc16d82a2f61b3dfe8fd3118d

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 ca335d3d847469af8473aa2147dfe2d982e67f1b6bf9afa1d2d4ea201dd5852b
MD5 1382b3c1aa2e23cdec3f00094a904cdb
BLAKE2b-256 b4b41aed31bc1e5cf93be1fc4e91429cdd5c3ee30f01688d66e9af07f9d852f6

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9e27f47f131444a24fce3989792f08662fa3eb00e60477404b31f2443a2df471
MD5 7dcec082eeedddb4538cc81e19b0f72f
BLAKE2b-256 46347c4152a16a60bf5702f9484c70bdc416ec17e608fedcc67d28514ee1bce7

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e9b23b596930a1151a75126ac4fcdc80b1acd010cc25a1590283b364b06935fc
MD5 eac9592acbb8ee4115c653518b74c5a0
BLAKE2b-256 a1dc9c049a60f62ed5fe27a2fb21eeb03116fca52e7c07c8029705a0d07fc3a0

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a01020f21be6762f2ee0bd206779fe0e33e00438a94b8e31e88374db37bb9989
MD5 b019a7ffc9dfd543c7ec92c14a380195
BLAKE2b-256 72257b42b34cd327d1f8dc3c6d46769e913a54928c2462ae6dee6663250bf27c

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3506099795ee8f1b3fb950b575dd416ce36d88146b0769c10555205783e46485
MD5 c149e9fcf62b9011d240593ea24905fe
BLAKE2b-256 2830f704e2adb0d287c2fb861114e55064a69fb72a44bccab4666ccd86fb6bf8

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8e6e3a26d905e7af192ef17fa3376576138fd6a74de1b393caac928b7c2e1ba2
MD5 2c0ffb60cba9346fbce98967bd6031d4
BLAKE2b-256 60382dd8aca23c3abf849d3620cbdfe56b61f09f9f2fc5734261791c7621b540

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b9d482e8196b3fb4671ebfc6d1e7a6055d6292b8313490067a31911bbcf9d7ce
MD5 74d4198b177f92e5ae7f4c80cb49dbfc
BLAKE2b-256 b80fee9c1180c177d4abe4bf4044acaaf91e43f134508b921a9968f1b69599ed

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 aee9af051e33f0e5e2ba95c6859ec3974278c96c478f808b74376d18734b9208
MD5 65951c7c5416dfd4154a2b31097e2c92
BLAKE2b-256 25b6063c3c3bf67049cc1e85297490d15d57503475ce55f176592ed5cb0b6894

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5f782828598b11b31f940d918cbd067460fdd8958250fd8b77ce902e2410750a
MD5 2f14c531b6a2b0e96f48007bce2fe2e6
BLAKE2b-256 4ce977227cda6ae57224d795211f615c1b6fbc5162ad9c77a216d30ec4a9e06c

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7d8bfc57fc4ef522b8cddf674c511fc496049accd29b0701dab4229b221c2877
MD5 41d80502b719a0d77caa3fd09f4e0c05
BLAKE2b-256 9399697b88420da56e1c4624f998f70cbef1cf9be096d4b9cbdabd5937448349

See more details on using hashes here.

File details

Details for the file cymongoose-0.1.14-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cymongoose-0.1.14-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f9e66cf066a01a77b23d8cab4dc9a0f6221676eded4a04fefd398ecebf57d148
MD5 e1992bc11a6179731a16d031caaa568b
BLAKE2b-256 8780c69cfc96feb1992d353f5c1f2b98272c01b2148399d67d1390bcc3245cc9

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