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 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.37.tar.gz (8.4 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.37-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.37-cp314-cp314t-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

passagemath_rubiks-10.6.37-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.37-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.37-cp314-cp314t-macosx_13_0_x86_64.whl (213.5 kB view details)

Uploaded CPython 3.14tmacOS 13.0+ x86-64

passagemath_rubiks-10.6.37-cp314-cp314t-macosx_13_0_arm64.whl (205.3 kB view details)

Uploaded CPython 3.14tmacOS 13.0+ ARM64

passagemath_rubiks-10.6.37-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.37-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.37-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.37-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.37-cp312-abi3-macosx_13_0_x86_64.whl (213.6 kB view details)

Uploaded CPython 3.12+macOS 13.0+ x86-64

passagemath_rubiks-10.6.37-cp312-abi3-macosx_13_0_arm64.whl (205.3 kB view details)

Uploaded CPython 3.12+macOS 13.0+ ARM64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

passagemath_rubiks-10.6.37-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.37-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.37-cp311-cp311-macosx_13_0_x86_64.whl (212.9 kB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

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

Uploaded CPython 3.11macOS 13.0+ ARM64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

passagemath_rubiks-10.6.37-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.37-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.37-cp310-cp310-macosx_13_0_x86_64.whl (213.2 kB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

passagemath_rubiks-10.6.37-cp310-cp310-macosx_13_0_arm64.whl (204.9 kB view details)

Uploaded CPython 3.10macOS 13.0+ ARM64

File details

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

File metadata

  • Download URL: passagemath_rubiks-10.6.37.tar.gz
  • Upload date:
  • Size: 8.4 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.37.tar.gz
Algorithm Hash digest
SHA256 57572ac4b41ba7154dcd859b7f3e362aa08101f8398509aa99a408b9685c673f
MD5 68966891da4c5f990504527b7e484f4b
BLAKE2b-256 19b9c13531585fa09a3f9d9db5ec6ba30cc9ca27b20183783cad3945c74a9583

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.37-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9fc48134ad696f685e42a46e074061fa223d0f397645b2e2919ea326866f97e7
MD5 37e373cc9032925da89d8cc768162d84
BLAKE2b-256 61017599e586218006abc0cfee727e45a7a9e038ebf33d297714383ce3335bc6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.37-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 15643bb1e7e8031100d83c910f571dc60997be03cdffaef009bfc44dada39a91
MD5 6699f0f2a171bc8ae377d864d3a60c7a
BLAKE2b-256 d55d2f6c00f6183c3ed9d7bf1c88bf90614af931bfbe0210a40bd5aef2d1dda7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.37-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 517a30d59a683627e218300996e5c0c4c27b61d872343edd44d7362f8a4fd25d
MD5 cf91088fe7abc02e186ff72a356973f3
BLAKE2b-256 b1ee93771dca5d4fdff9112d94770c08875096ed3a501526b7f0fde337dc6c43

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.37-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 33cb9e13afa4a3af0c8682b0ea492fa1673f12b82fd96c3e70de685ff2b02eff
MD5 b3b76f329af0a5695968c3c830942cc2
BLAKE2b-256 e3de2d0aa113cd84356ae53ce7bfd3cd56f929ecc3f45f865c502f536d83fcee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.37-cp314-cp314t-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 532a8e1b45e16f7194ff0b2c970610874a355cfd201994093ae5e29e586d47e5
MD5 efb1846766284bfa75ca8b6f29317a26
BLAKE2b-256 4de6c6c1cb6cf70fcc0f8cbd21e53731ebb2374debb67e64c0421cb6ffb0b48d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.37-cp314-cp314t-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 2e5e83e697b85ddc052381dc855173ac1ee3d02833cc499e95397470c7a1bf55
MD5 0a7a28d8f228a3508cd9b26b250bd914
BLAKE2b-256 af3f6f9bdf27ccf7b55dac085b0010e81c0d867f7a91f43fe24b583f1836649d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.37-cp312-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 34c8d6df9673d06f2661a5d0ef7658023c3e9711f7a7c2fe9ac903ecc9339274
MD5 5bef4d30b1ff8539f258fad9d4df9410
BLAKE2b-256 4380191cb647f6c8861d932099077174683db7cfeaab2a7a375c26fbb2fdb429

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.37-cp312-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 86d38019a055e5161c6efd979172a3269d32d3fa9ded32f756743bf619e98df2
MD5 95fcaadabcff57c2790490b5113f7e1d
BLAKE2b-256 4490090023714be0c769cf4e92b7f48005096147956fdc4c411776f6b41b95dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.37-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0776ad5ebe5a6a05ef6d020ef7f970b37d4b503f18cda166e4b06ec2f902927c
MD5 152a18af5f0b2dc2580746b238fa801f
BLAKE2b-256 26e6a1fab6d51983693d92db0c0c7733a82c1b27aafd167353525175a12041a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.37-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3fca8089d71226e1caf4ad8f8b75badf4349c18b09de3431295a4c047b80a31d
MD5 ccc9e1dead4cdbce51a27fd798d728bb
BLAKE2b-256 c6a3bdbd0e15d64cfcce81331e7969d1a01df3e1e26b1e61fa569caa8ae7a7d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.37-cp312-abi3-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 c3fcf0bc14927214f6236568027bc5b4d7ea2aec47b3caea37c497bf1c4ea762
MD5 51d17f3b00a88a09124a4cced9cbf36d
BLAKE2b-256 f4ef270a37b32c88c70cf1d9b3881b4a23575aea10a3cef78db847d81633ab7c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.37-cp312-abi3-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 93a9bb18d62c1353c3a75b61e81fcf8a5ac54de1c9e9e936609e3f52469898fd
MD5 c121f84d9c2d2b5abc3b674d41002496
BLAKE2b-256 39e71cbbf1d308488a8756a772e6c09eb366066443f7d816519c7ef2a98ea5a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.37-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 995b9230d4a4b4db4272c4e09305a7075855c4dd1ccd7bc9bea53bbdbba4c59a
MD5 64f9cf5b23be1131c9c3a048a6494eea
BLAKE2b-256 15c8945eba98ce7cb9185a26b0e9c184758ad7ca84ee946a4a416cf40cfe71e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.37-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 10d2559caa7aa6a8353938e803a486152d00a6b293dba7c08820076e0a55be1d
MD5 b2917f50c740d9e62d5f2011a7ef28e3
BLAKE2b-256 f5ed85d32c44879d949666b7de0202081486ea3e511b2d51b1ee4f4d8f30ad63

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.37-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e80d55a6e7d41aaf3c3debc590228b32e23de58617a7631026056ac518703e71
MD5 6d8d36534db327e0cf5226901e763005
BLAKE2b-256 b64c63a1766a0cb6b1e3bd004b4c376f0b317c39117ad7563f70d1e2b1cb628b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.37-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ba775cf09b8cc6805b15582562a0588c1464f11a613e71c04588a27f29b7bb6e
MD5 1cbca1d32dc870c227f5a01cca102ce2
BLAKE2b-256 070ee3e65b326ccae86d3b522ef93ea756d019a8f61c32c5cd8620748a4e4683

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.37-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 5f663b94e777216de32a62cd8110ef4a74b069298b50a0e792aaf99c4971bddd
MD5 c94d2ec37be35d8de1d52af644d77c01
BLAKE2b-256 3555ee24616a2ab359d4f93f2e02230a900c55c5f305c4c2c08f352dcbe6fa0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.37-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 f8f0d830e93b3cf6606174259e0c484b3e878df54fb8ede2506113231d5ed81e
MD5 7473af6a09c889f3cf3e7bdd662be382
BLAKE2b-256 05b3eb27fa45ff626f3a9a4bcba94e8b1ed805774d0151aa144688eb53331e04

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.37-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2f18425b970ec8ef3db5aac88726de6073299887dd14d98f667142464c0cf6e2
MD5 1024b5e8ea55ac5f6e4288ddec965212
BLAKE2b-256 16a5d4c927676f5797cfac406818313dd3fa5c02799360fc55905e788a63556c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.37-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 66dcfaeb49e2bd46aed820ff914cd13bc376c15b307c4c7671df2a421ae54e6c
MD5 de618af37788c3add7dcea08c1cb7340
BLAKE2b-256 b0e4402053c35e171000e0eade41ef9fbdfe9fe519eb1f72939d20b0732c5c7d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.37-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b21c975f2e6b23fcfd1518c8825536919aadd55a7241e670998271161090899b
MD5 7d25f501bac55ff70a321f426ee81b2c
BLAKE2b-256 8122e8abcf777e909d3865df6634cad89ba4248da020cb3f64b836d7fc7b0d70

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.37-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 97456c44c800cf1a7cc6fc86bb1bf14fa46592019c9fea1d9d9a6ee5671fc367
MD5 ef3195d379e545b70bec1a3b92fa0224
BLAKE2b-256 4520395f9db50a1e1aa7803946632882cb1be6407183f1ff8dfadef75566e2b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.37-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 445f132b95c9d9c2f5239aa6f432467d7d77a032edbfaed0cac9049d36ddce93
MD5 8f3227ea5dc6e00341148deee79fd91a
BLAKE2b-256 3a77a00012979adbfbad476dbd72a72ea3f8c5c0ea037c685c9781e7c6ee6e41

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.37-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 6ae72e509b5c48bfdcc6e0e304f89b4d52fe5e04b4087c2795220dd2695c7ec7
MD5 bc902087607ecc2ea176fd33dbce331a
BLAKE2b-256 45e7434d5e1beb364de5c69ae4bb903f1c955450ee5a0fe3d98090d27a1610fb

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