Skip to main content

passagemath: Algorithms for Rubik's cube

Project description

passagemath is open source mathematical software in Python, released under the GNU General Public Licence GPLv2+.

It is a fork of SageMath, which has been developed 2005-2025 under the motto “Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, and MATLAB”.

The passagemath fork uses the motto “Creating a Free Passage Between the Scientific Python Ecosystem and Mathematical Software Communities.” It was created in October 2024 with the following goals:

Full documentation is available online.

passagemath attempts to support and provides binary wheels suitable for all major Linux distributions and recent versions of macOS.

Binary wheels for native Windows (x86_64) are are available for a subset of the passagemath distributions. Use of the full functionality of passagemath on Windows currently requires the use of Windows Subsystem for Linux (WSL) or virtualization.

The supported Python versions in the passagemath 10.6.x series are 3.10.x-3.13.x.

About this pip-installable distribution package

This pip-installable distribution passagemath-rubiks provides an interface to several programs for working with Rubik’s cubes.

Michael Reid (GPL) http://www.cflmath.com/~reid/Rubik/optimal_solver.html

  • optimal - uses many pre-computed tables to find an optimal solution to the 3x3x3 Rubik’s cube

Dik T. Winter (MIT License)

  • cube - uses Kociemba’s algorithm to iteratively find a short solution to the 3x3x3 Rubik’s cube

  • size222 - solves a 2x2x2 Rubik’s cube

Eric Dietz (GPL) https://web.archive.org/web/20121212175710/http://www.wrongway.org/?rubiksource

  • cu2 - A fast, non-optimal 2x2x2 solver

  • cubex - A fast, non-optimal 3x3x3 solver

  • mcube - A fast, non-optimal 4x4x4 solver

What is included

  • Interface

  • Features (via passagemath-environment)

  • Binary wheels on PyPI contain prebuilt copies of rubiks executables.

Examples

Using rubiks programs on the command line:

$ pipx run --pip-args="--prefer-binary" --spec "passagemath-rubiks" sage -sh -c cubex

Finding the installation location of a rubiks program:

$ pipx run --pip-args="--prefer-binary" --spec "passagemath-rubiks[test]" ipython

In [1]: from sage.features.rubiks import cubex

In [2]: cubex().absolute_filename()

Using the Python interface:

$ pipx run --pip-args="--prefer-binary" --spec "passagemath-rubiks[test]" ipython

In [1]: from sage.interfaces.rubik import *

In [2]: C = RubiksCube("R U F L B D")

In [3]: sol = CubexSolver().solve(C.facets()); sol
Out[3]: "U' L' L' U L U' L U D L L D' L' D L' D' L D L' U' L D' L' U L' B' U' L' U B L D L D' U' L' U L B L B' L' U L U' L' F' L' F L' F L F' L' D' L' D D L D' B L B' L B' L B F' L F F B' L F' B D' D' L D B' B' L' D' B U' U' L' B' D' F' F' L D F'"

Using sage.groups.perm_gps:

$ pipx run --pip-args="--prefer-binary" --spec "passagemath-rubiks[test]" ipython

In [1]: from sage.all__sagemath_rubiks import *

In [2]: rubik = CubeGroup(); state = rubik.faces("R")

In [3]: rubik.solve(state)
Out[3]: 'R'

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

passagemath_rubiks-10.6.32.tar.gz (8.3 kB view details)

Uploaded Source

Built Distributions

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

passagemath_rubiks-10.6.32-cp314-cp314t-musllinux_1_2_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

passagemath_rubiks-10.6.32-cp314-cp314t-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

passagemath_rubiks-10.6.32-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

passagemath_rubiks-10.6.32-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

passagemath_rubiks-10.6.32-cp314-cp314t-macosx_13_0_x86_64.whl (213.2 kB view details)

Uploaded CPython 3.14tmacOS 13.0+ x86-64

passagemath_rubiks-10.6.32-cp314-cp314t-macosx_13_0_arm64.whl (204.9 kB view details)

Uploaded CPython 3.14tmacOS 13.0+ ARM64

passagemath_rubiks-10.6.32-cp312-abi3-musllinux_1_2_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.12+musllinux: musl 1.2+ x86-64

passagemath_rubiks-10.6.32-cp312-abi3-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.12+musllinux: musl 1.2+ ARM64

passagemath_rubiks-10.6.32-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

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

passagemath_rubiks-10.6.32-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.0 MB view details)

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

passagemath_rubiks-10.6.32-cp312-abi3-macosx_13_0_x86_64.whl (213.3 kB view details)

Uploaded CPython 3.12+macOS 13.0+ x86-64

passagemath_rubiks-10.6.32-cp312-abi3-macosx_13_0_arm64.whl (204.9 kB view details)

Uploaded CPython 3.12+macOS 13.0+ ARM64

passagemath_rubiks-10.6.32-cp311-cp311-musllinux_1_2_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

passagemath_rubiks-10.6.32-cp311-cp311-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

passagemath_rubiks-10.6.32-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

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

passagemath_rubiks-10.6.32-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.0 MB view details)

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

passagemath_rubiks-10.6.32-cp311-cp311-macosx_13_0_x86_64.whl (212.6 kB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

passagemath_rubiks-10.6.32-cp311-cp311-macosx_13_0_arm64.whl (204.4 kB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

passagemath_rubiks-10.6.32-cp310-cp310-musllinux_1_2_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

passagemath_rubiks-10.6.32-cp310-cp310-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

passagemath_rubiks-10.6.32-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

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

passagemath_rubiks-10.6.32-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.0 MB view details)

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

passagemath_rubiks-10.6.32-cp310-cp310-macosx_13_0_x86_64.whl (212.8 kB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

passagemath_rubiks-10.6.32-cp310-cp310-macosx_13_0_arm64.whl (204.6 kB view details)

Uploaded CPython 3.10macOS 13.0+ ARM64

File details

Details for the file passagemath_rubiks-10.6.32.tar.gz.

File metadata

  • Download URL: passagemath_rubiks-10.6.32.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for passagemath_rubiks-10.6.32.tar.gz
Algorithm Hash digest
SHA256 b3aac3bd73131c4566d31ae9268f6a4166579810f1bb8132f041e9b4b6b232f7
MD5 0f44471cf5c68a29338df2eea9bb3d5a
BLAKE2b-256 5aa331c2c4d2104c9edb8964143f8e5143ca697feeb4f4c6e573a45829b3ec1c

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.6.32-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.32-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 107246e3a4ba92e2ce72c29b9a30889f79796bd10b50fd7a6cce851b6e292311
MD5 d5f991e1484f51c64e5b2c7eef0211d3
BLAKE2b-256 d86f9bc8f574e48edc32bbc9403c84519da4127301c64755a56413d5d0fe3d13

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.6.32-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.32-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 69c1f1cea48684633e0ec96603a77e0519f9971efb2979964f63af1a80d283a7
MD5 1b1ae129ec71ba8cb5d5b87971ae8d0d
BLAKE2b-256 69d428e291edd7536c764ff22d6cee90b2b1313feda234fa3e63d6944bd1bbe0

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.6.32-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.32-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e17b8dc4f7528b00eb608f2be94605c6e344c063c08a8f25e20cb85aaad80fe0
MD5 903af30b387fb633d6aff289b5593095
BLAKE2b-256 2ecb1d56f7d5bd6a2d9399f0d4d63d72f828c2b7e809e8c6437f24cb2bb6bc5f

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.6.32-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.32-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 669f49a8fef0861550cbcd2bedafb3b115d6979c54f583de0a14844784a0ba7e
MD5 359c5d0f9db645dc38b61beb4aeffede
BLAKE2b-256 3cd2153f1750a662735852b50ac6617d8e3ab8fba5fe4a1fa06aaea5e8f0e5a1

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.6.32-cp314-cp314t-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.32-cp314-cp314t-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 262462b57e6de7a8e13b88412d1d949084fcac3d0d6bae4027dee0d9031a97d6
MD5 76652be1c91bb7608db6029d99ee53dc
BLAKE2b-256 70368e67edbaa08de88c4e96db3348ec2698d8b46d9ff848baf3c06cf7596eef

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.6.32-cp314-cp314t-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.32-cp314-cp314t-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 3cdacdd57a522149ace6b8024656f795a185b3c4dfc8ba69361f33e05e402803
MD5 3c367fe6f6c236499ba4b928c4c7afa2
BLAKE2b-256 df17be175d4907c2470d4aecca1ccbe662490960965a61552a1c2def5785b7be

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.6.32-cp312-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.32-cp312-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 03aa02f9445334ad419d49b62b55600cf209f8d7949b55c017adba1ae1425ef3
MD5 fbbce112024a444d360c0e533cd39d6c
BLAKE2b-256 b740acdc470c3e239c6004e734e134e6ed70756d3a5c0a50ec466a9dfb6f0547

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.6.32-cp312-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.32-cp312-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 756bc272d3afac75bf25e4e32831d5ac124ab709c51d70dcaded274f439cc782
MD5 d3b69dd500e05036b65a8074bb17ba3e
BLAKE2b-256 eb9c484f12559aa44a99dab5bef6e603c39cbaaedc95530452ce8f0abbe95908

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.6.32-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.32-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 335e022555d744ce0f08e039a06a5e44432ee4df0298142407fcb67aff6586bd
MD5 f02041faa6d8548245837950b6867c86
BLAKE2b-256 172aa3d82b00d72b05414cd76e018485ce6aaf1a85fee3c37f3121fe6ac50de8

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.6.32-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.32-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ca669e4a2db2fd5ea15a9bc97424280f800afdf1dd73b62ef0499a31425beab2
MD5 6d8dd1401b3da9a7f37462d1d0cc3281
BLAKE2b-256 7756c5db0ff0a352bfa9279f1f4d9f0a0a3f1e15cc844da051c93aee82ebae95

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.6.32-cp312-abi3-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.32-cp312-abi3-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 079a9827b887e63f68b8c17a1f14d9d8acea5a6aac2e6dc51be3879d260e24b0
MD5 cb2903147535c95b5ca852960b5e0982
BLAKE2b-256 65064665a61db9099e671e8ceede28b339a2b9fc8b3c07216fcb9c346aeba7f7

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.6.32-cp312-abi3-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.32-cp312-abi3-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 b516a82a61fd8e52521bb0a13bceddad7587e19dd7315dd889bb8b0f8eee3d85
MD5 9b69e65ca5f62abcdf8a4231ce043394
BLAKE2b-256 32d7917a69612f206e4cfe1817b14cfae2233e5c9949a91055ecec858f6ea299

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.6.32-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.32-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 403d7fc35ed549c6390af0c72136682c996a4ed048f12321546aca5cafb66368
MD5 a90a142b414573cd107272210b9d1f49
BLAKE2b-256 914e143c5703f9310dce3167dc77ba67035ac7fbc4ba68e65fd1b3aa8c93ed6b

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.6.32-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.32-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 2ae68a55dd2c2a033fa80919ca0fa29db8996d667e2941fb36875debe691a472
MD5 47d10ded7e52b949034e7c7b1dae505a
BLAKE2b-256 98a84e9e75cf0253375377b964dd7e0fea7084c651902896e331f08ce6ee1487

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.6.32-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.32-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 664d9a2a563fa0db117ea1136516e53087b55efb6b430d5e596701e48d37694c
MD5 d03c032e8748b7c15aa170ad18d7c292
BLAKE2b-256 982b6f8a461203d0fbc648838a2193e8ad0ac27970336de428258fa85d7072ae

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.6.32-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.32-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d347c3ae724789fc388b04711cf09b152d9a145b0f8ca13f061824cc39735e59
MD5 8a669b65a0313bc59b8f57154bcf3b6e
BLAKE2b-256 7450eb562ad2da659d0a3250567ca1d8b528c2a9f0d6cf88f85f9ed0822ed8fc

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.6.32-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.32-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 e33e1215df7f8e48b453c1fe1bf6b0574abc90186f770ed98a6ad5ea11e9f44a
MD5 5f883181b6620c3d4ee6e7ff250a0263
BLAKE2b-256 57941dc9bf9d8cb51eb5b057b109fadbebfef22828cf32fa2a91bd37f5fb4552

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.6.32-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.32-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 695f90f5d66e38a12dcdfc363cad69b29a9616d97fc554de269a0888b27e1763
MD5 8cdf354d5a41d9591e9ee233608df1b9
BLAKE2b-256 d3ce2af8e117bbc9678a89edee09044fec74cb6347292c20ca39e84ab93b7154

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.6.32-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.32-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 835b1b067a2f1ec8204ad38f9ef2d2ed7cb384186b4b63b3a4c0505d324bc454
MD5 1d5efb74b1a223a83915fa341343f97e
BLAKE2b-256 015573ecdd61f3cacfd4a99c1a1340ddb08b326c662160faf1712667f64dfd39

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.6.32-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.32-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8c8bf7db1f8a2ccdceb44f9087d681844b20eafd4ac8cb6ade312ce0469f0666
MD5 82171bb34478fea08900058cde30088e
BLAKE2b-256 83133d4316a25a4cb629f778df1a1ee2d60cc8f51e937138999a44e457a1ad66

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.6.32-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.32-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fc69b891369ef33ec9446cd6bb159bd7516cff6aa794cf6fc7761bdab5cbc9cc
MD5 12c7429c3a91de1415d55f04a682d262
BLAKE2b-256 37e91060d90ca9562a2c80a0cb638520c7114cdfda2873fad36919b05d3a34a0

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.6.32-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.32-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a228a6936a9d4175f307e9db9846da2be1d76cc24ae9c64a319276a776174951
MD5 e62ab5af349724af2a0e8f87a52c3948
BLAKE2b-256 51fb6798a3e35d0ba28f70a44fcc61cff3f33ac783ac28038816ca642cc852aa

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.6.32-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.32-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 9b74ca0456e8aa01cc593b1eefa0f23f38da1bb5b6021e97c16584e8611b6813
MD5 e59970bf75855173222249f3246547e5
BLAKE2b-256 7c8d95078a94f0df6bce3474dbcab2bd8881e5eef6fb4f3ec0e6f73a7eb76693

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.6.32-cp310-cp310-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.32-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 6d21260702f0d901520eaa49d47e9ec84f65f6b19b8f57db388ddd6299a6968e
MD5 39af0c54d8724bab9fce9a33dfdd1463
BLAKE2b-256 8170ad3bafe2b323bb4bb4b66a80457e3a7b92556e7b4ff26347c1bf9d2fbec8

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