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.14.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 passagemath_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.43.tar.gz (8.6 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.43-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.43-cp314-cp314t-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

passagemath_rubiks-10.6.43-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.43-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.43-cp314-cp314t-macosx_13_0_x86_64.whl (214.0 kB view details)

Uploaded CPython 3.14tmacOS 13.0+ x86-64

passagemath_rubiks-10.6.43-cp314-cp314t-macosx_13_0_arm64.whl (205.8 kB view details)

Uploaded CPython 3.14tmacOS 13.0+ ARM64

passagemath_rubiks-10.6.43-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.43-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.43-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.43-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.43-cp312-abi3-macosx_13_0_x86_64.whl (213.9 kB view details)

Uploaded CPython 3.12+macOS 13.0+ x86-64

passagemath_rubiks-10.6.43-cp312-abi3-macosx_13_0_arm64.whl (205.4 kB view details)

Uploaded CPython 3.12+macOS 13.0+ ARM64

passagemath_rubiks-10.6.43-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.43-cp311-cp311-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

passagemath_rubiks-10.6.43-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.43-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.43-cp311-cp311-macosx_13_0_x86_64.whl (213.2 kB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

passagemath_rubiks-10.6.43-cp311-cp311-macosx_13_0_arm64.whl (204.8 kB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

passagemath_rubiks-10.6.43-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.43-cp310-cp310-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

passagemath_rubiks-10.6.43-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.43-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.43-cp310-cp310-macosx_13_0_x86_64.whl (213.4 kB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

passagemath_rubiks-10.6.43-cp310-cp310-macosx_13_0_arm64.whl (205.0 kB view details)

Uploaded CPython 3.10macOS 13.0+ ARM64

File details

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

File metadata

  • Download URL: passagemath_rubiks-10.6.43.tar.gz
  • Upload date:
  • Size: 8.6 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.43.tar.gz
Algorithm Hash digest
SHA256 f8a2c9083d0a07c1b211a5c9f088d747c88b4f618379c49c75faa707ff097794
MD5 38717e4d1cc503a77d803242399ec24b
BLAKE2b-256 2294d5a2e626eccb1f6165857de7030eb87d7f20f0f9a37d542bd18f549591ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.43-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4a36517c159246e244b41fa8a6de4a427956d16b885dfc3e09687b31eef85cfa
MD5 7325fd54d4b02ea03e8aa7a84800f057
BLAKE2b-256 d294e2aaa6a5945a5420d4d102fa90b8a0edbd362e439bb4a863bcfe0c81dea1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.43-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bd4c0404cb8dff47f3a592c1d58f0a8ce8f3787a14543f48eeaeade236f55711
MD5 bf4ba936df5fba1a7cf104824b0275ff
BLAKE2b-256 b49d950da24fd7484af115101624ad8f660fc4c4eb5fd0467816d2822187c73a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.43-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b3472ce048e6b0ab97e24256eeab50747994a73ef73eb9f9d0f6cfbf1f6f36b9
MD5 6f0bfb9139732602bc19875677b18aca
BLAKE2b-256 edcde2153478f5fce50d2053760650436d8bf5015de2b65c5bdf473442c8a494

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.43-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 99d8538822532020ce802d313a7413fb825d0a77f84812cc593095d76f95187a
MD5 f10db83add0119a1f7feab5904a99f83
BLAKE2b-256 5d22f4586af59df00f8d0e2aaf6ede721bacf5316e51951be50839a27f36a1d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.43-cp314-cp314t-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 ea57b8456353de4ccd5913393ea2d87c5f16a56244c04b7b4ce981cc43af3c09
MD5 bbd1568167dedc405fa4a6821f269295
BLAKE2b-256 74dea289532478937e568e14f8092081ef7d70927f048b1d7768cc3351f3552c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.43-cp314-cp314t-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 38599ef45a6b272e255b7a13b53d4cd4f0faab8f46825d06c44610ff21ca8934
MD5 9c5169e5b5632965930e3a619e451fda
BLAKE2b-256 93d4c22c6f59cde03ec49b7886e802803ee23246cb14bf17fe491d6317a03527

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.43-cp312-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bf27cfb7e2836d98526e0b244165ce8ffdd3fb1b1f6f7a6820241d3a89fbebee
MD5 10cca8cd88054fb0b8a55405bfe93fae
BLAKE2b-256 1a439c4e74fb126eee02ee41c3b4fd07fe7e21efa4f934fb74e7f7bd787a2a2e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.43-cp312-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a10de3f0ee55d7d4de9c5d354f30c0e582fc272a1ee8c97d97ff5b818cef30dd
MD5 60689bc376cc7b374a245c4e5f58dfb4
BLAKE2b-256 c6e8e735fa42d93ecc3bccb011f4cb89654e615283977cae060873ebc2727ee2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.43-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 de3351a5131685b43feea243005e6fbc0872431d7c233413c7d4adbfeca1d6c5
MD5 915c405924a3dbf7ea2cea0301e1e4ab
BLAKE2b-256 151f48b3b1968a9bd5f9e8c7ad92ef6c44ae74a8d297ac430850e48efa0e3ef9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.43-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 256004ac6b8625ed17eb8c325d1be0d5af06ac1bde12689f74174e1009bf0f8f
MD5 9603cc9195dc2f9872b355744421936d
BLAKE2b-256 a4747f20423144705390390e86f40ff9b432c13309e5cdc60ee279a64390116c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.43-cp312-abi3-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 d58d88bbffcaf2c1f97992e8438c19625181cd5df7416c5353aebb510895f1b8
MD5 eb8623bb1eda160882ad1dc17cc9696e
BLAKE2b-256 d7e27a6b646f7f9fd405fc4b0e154ffd56b5f41b48970784f422a5b8182ee4f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.43-cp312-abi3-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 ad21bf6310b43d8cf49e1d576c0445913235bf978a5a5c144d7b5f1d4eefe35b
MD5 18cd3e939e5360b5872fd41b0d8fb2a7
BLAKE2b-256 af023e812a0e62bb65c2ff5124cd1ddef88818fa59b6fbf15e5805b08c5399b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.43-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 44ad39be79904849220cc5b5e4695c074dddeef64cd20a0e33c6f1961611650d
MD5 cd3fdd4912654b74812d17d40c1ac68c
BLAKE2b-256 0d59a65ed1f753dcbb45685a9d7ad1319bed79cd59834295654b45d71d34e861

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.43-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3698ab70d5c162f204881c977ee7f7a34e4b96b8408f2f6ccf1c6e21715e8133
MD5 fe16d1bc9bcc9e45d31167922116f212
BLAKE2b-256 9ee01e839d1e3df19d2e7bfa56a9f6b8bbbc8cc1455f60aa95291d1c758f2134

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.43-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 71fc435ea139a7c7a4d068a9691fe30ce28cfed5eea531699035b468c3dda43f
MD5 82c87eb9240df34c000ee0083f13a6c1
BLAKE2b-256 ca9e33bfe21ca88b7e48d4214f0d0e114799bdf2811ad50931b17f96aa0c8532

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.43-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 028a40204ce5b64373d43f195d76ede3744f1c221f0a1a921914d20b76117fa9
MD5 c98ea91ce6d33dd20da90aab68b7a477
BLAKE2b-256 024f5b27415c1e8be675d7abc1d119db4758e32890a69eed53ae230570425fb1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.43-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 e42dc4020523d03c4e82805f8e6bcf0865d1e9315b26b2d09161e7b110dee89b
MD5 ee2927a4f6777322482a68491a85a998
BLAKE2b-256 30853f22a71fcc9206e32914b98189a71f1d822059967bc303acf6a536233a39

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.43-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 b4452d9a03ea7806109125b300ca1584aba6aefab9a8b6e3c3b45e379604552b
MD5 71c1e1d82380bf105d7847cb4aedd8f8
BLAKE2b-256 e5ed504b600ca946c5336737706ad6317b33ebc3b40cd73c4d410d7107c3c526

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.43-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4ca07f6493719864106cc9bfacaedb012eb0b63fe42f46c7b6f2cc7a9a3233b1
MD5 a9d27496f65b2c74d257746f265f0259
BLAKE2b-256 e33ac8c2c08ff8e267f2d37471364d6bd0f9a82abee6375683f369d2e9305419

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.43-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d80202bf0640aa0175bf2fa2bca10f6e74aa31d353ff4077e00df6d3250f3c4e
MD5 e7c0eeefcf44aec87df3fa4ea641ec2f
BLAKE2b-256 6f29ecf36475ed75d009c82ccd36754f05054aacbf0f36a80d55bf4c88700c19

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.43-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b59ce4e08cee4372d4d3e3413e8ad4446610ab6cd0f144f21fc01049a131d6ae
MD5 49b8da8921559a918ce93ee0f46bb9b5
BLAKE2b-256 65b1a54d284aaa1053d3924639e18005e85dddb018d540480de9f30d2d483c03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.43-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0c66fbc3ea67535c260b6c6d99c2f7438879f5fb8f49e278d52759915bbe54b9
MD5 bf37ef237feec16cc6591993d5757f3a
BLAKE2b-256 5e2332848ec9b890100ee2d9edc39042e36ef75e6bd3181144f95bf0861dc072

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.43-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 72f0368f05e851f175a80d208060113885e579e07942f028e462ca90559aab0f
MD5 e5d7e51926f94d4e6635ee1766765b94
BLAKE2b-256 68b8e1a3ea2a08168aa99008b49b2827b902d57bf275ba1bf65994d78403543c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.43-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 5a85742d71047b1c5a1793736fe50906b6cf0f6fb1812410337b5f70ff49aaff
MD5 6a8b3457eb0760c2e3898c1a6b6e1669
BLAKE2b-256 8523e795546c80f7ef640f248470f013cc4648d429e13c512a17dcf8e1cce6ab

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