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.38.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.38-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.38-cp314-cp314t-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

passagemath_rubiks-10.6.38-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.38-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.38-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.38-cp314-cp314t-macosx_13_0_arm64.whl (205.3 kB view details)

Uploaded CPython 3.14tmacOS 13.0+ ARM64

passagemath_rubiks-10.6.38-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.38-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.38-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.38-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.38-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.38-cp312-abi3-macosx_13_0_arm64.whl (205.3 kB view details)

Uploaded CPython 3.12+macOS 13.0+ ARM64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

passagemath_rubiks-10.6.38-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.38-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.38-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.38-cp311-cp311-macosx_13_0_arm64.whl (204.8 kB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

passagemath_rubiks-10.6.38-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.38-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.38-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.38-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.38.tar.gz.

File metadata

  • Download URL: passagemath_rubiks-10.6.38.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.38.tar.gz
Algorithm Hash digest
SHA256 a28ba8efabc6209708b3f477829b117d5c79c9d540cf05eaffa7aa7ffed0ad4c
MD5 59f04a89a5e7588b06d7b25363f252dd
BLAKE2b-256 48a9283560541af707426213c632a5a5c78cb12e243d9c406b2580204e89cbec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.38-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 824b063c9919f6d648aec0164fc9974c2affb2780309c50c0dcc420b31c6661d
MD5 842fa4037912eb763474dbc0cb0abc2b
BLAKE2b-256 8db27a4f43fccfe1684d8978ba4c3d5e8328ee8d81c7026c16fb5cfb416ffcab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.38-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d279e77b96afe3b52e1124428b638e677a7267dcf0417d59435640a0dadf104d
MD5 39e366b19f23e703b19f891218e25b13
BLAKE2b-256 22c3e33cf594b617ff4fcdd1aac59e2b61d1e0f17d1bd8405c1d0ebbe792d5c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.38-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f57f2740d2826d65dbe795c72fef2f3076a03bd962cf467138c35c698a858e12
MD5 98f4b96a0d6f24a6926120b14770cf05
BLAKE2b-256 4cbe697e2f93fa9e4957d08e1db60ae9894f50576ffbbbf953802ed63826a4bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.38-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 be1b1381d3538389729ccc10f4743d8a00732ecc9b23348aee2d33a201b55513
MD5 19319e81a6864da09857b427593e80a7
BLAKE2b-256 0be8559b7a7b64c54335d078e6f232420b95897ca5b9d05e4c4d7957ceb76865

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.38-cp314-cp314t-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 4f39f8a7e101a1417763c718bc2165bc36bdf067c52bcd92ac9f3e467991dc68
MD5 0751c3747d4f1d08204d8415c17e1aef
BLAKE2b-256 bee8537370525ce6ee960ff213d81208bcd546aa696c6150764d77f1b26eb409

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.38-cp314-cp314t-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 90cfa08ead2fa1b8b8278bc78e7149cb1ad99a4375c1e99f9dea7298ecabba64
MD5 ecd155579353d9d4cb55ee54da1c763c
BLAKE2b-256 98ac1e620cdcf3f4e8e4f3f99267fe2d4da276d90c917585a0bab2dd0696b289

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.38-cp312-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 73ad2a5ee8ab9c14dafcb604eec2e71bbd63f8e47fa0d40c0762bf49e7e0a5d6
MD5 55816f06731d574298c3458e25452486
BLAKE2b-256 dc7c114ff08edfcdd5ec10d4bb32fd4efb1b050608cce997eb1e7a144b3e49db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.38-cp312-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 dda30d48ac930d6c4651ba3c802ce05509880e31b07fc27c5829437ccd13e1fb
MD5 e2501ccf4ed84939d40b54ea0e257daa
BLAKE2b-256 62272a6c1da416a0e127e9e9f3ca75bd41170981c13bcee1f53335ccb3efea1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.38-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4dde656006f205e47bde0c97c237c5ca40a90a38b79952ac1b422d29a6748648
MD5 14c1d9cd06689b09d59f2764bfe5bcb2
BLAKE2b-256 8e0ae85782fe1f32c471b2defdaa6c807224ac00ea7c3ec7308f06964d4d6ff2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.38-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6e1477d3ca5b585fb428dfefadd8ac06512c2cbd47b859685ef8ff5ef8e57336
MD5 17af852b4f6cc38fb7aeb7695ea0bc47
BLAKE2b-256 f84416d454c65d66d3abafe843a191dc291570e9cbf868e9f9c7c090a62eb1e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.38-cp312-abi3-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 af72e9038d51e990774a3ad2fa701141c4a8926f767c5165714553df4c848660
MD5 e6e1ba2bf29d4482069d107ddce427ab
BLAKE2b-256 dfbe487a9b51d400a832e8420c82d4bed940e2cfb97cd56a9c95ebe905b71db1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.38-cp312-abi3-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 b018f6f4e3088ec46ec517bd334b34ec3d0f6b9df95a4d3e1285228cc303e520
MD5 f9d5c4618c0c02622f3aa3dde53382fe
BLAKE2b-256 59b5613da5ae65028f53a4f8acaaad51d43826f0f720b315ced630a303e495c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.38-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 753f16a9aee7052a6ac1df65e0f205948dac963c9574c01b5f9e6c3d3b450123
MD5 fcbca356306e7cabdfb690b6233faa2a
BLAKE2b-256 53f9cc85a03fb18ca04afe610db1dee0a17b5b4310f7c82c1f7a7271037c64e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.38-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d9e08d5451c1a63bacad481439468c14a4fc504e38c0d7ddf4a750e38a5eed17
MD5 900d0a00f34ecaec0b04de7a4a800093
BLAKE2b-256 0c81f1c726227e8431e344019de27f7bd390049d6f73622dcd66c79c7be09bd4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.38-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 09a30e0616a84578558248f01e01815bdc152c61eee4d1bd17d32c4240f66537
MD5 b5ecc6cddf43b9f7dd53166d2fb0e067
BLAKE2b-256 bdc373ca81cab09b48267fe8245fe9a1b6d32044517550e99b83555c7021d26e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.38-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 709b97cebd2bb5849f9342a9612224ab4433371020dd64b33d02e9c68e274878
MD5 1e0a6f3dfdc70d0e6d11f2792dbe74f3
BLAKE2b-256 42ef0ad0a0e6bc6ea8be09b07b8f39493907f566d35581a703e32c4e219a89f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.38-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 bc499f6ec43fadf9d482c4763057dba7d1b0a5a5278e7bcbd59ddb6ebbf5b5a7
MD5 e994728ad1734b354b454fab9827ff6a
BLAKE2b-256 c00344b57cea95453631e10f2fe1d1e657a7874299a742b5857541765a0727e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.38-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 d484be5df51e5654540a889648b49b88d6328ea044f946447fdeeaf43e1c8e9a
MD5 1095ce3656d263dd893d8eec749cffbe
BLAKE2b-256 d2515acc221d9c3f631f9a95b75d7063940ea6f6f8b62c245be51f55c20bd3a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.38-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 be0585ddf1ce35a89f4c7a3e5d3b0cad3dfe2d72803d40a34b2978dd6d2ace43
MD5 120c5414b817661edb57313a5957c491
BLAKE2b-256 77246ef15eb80933065851c3192087abc3aeaf7831554f047fac57d3404ac3f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.38-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ad1054a45960b832bd4ecb0a4e3777084fb81c8d0fbdd3b1992a56f0d3e2d49f
MD5 c84af4d4d76365829c531fa6f3abfa31
BLAKE2b-256 c83971bd4a55b5c9f0a3187a653df46d747a01f162d01cd51cc50a91d935948e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.38-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 446656fb0ace78b29e0df2e38c411dc870c641ca895de9ee7b5eb62adf484276
MD5 19d784cb5328504be79833b0fcfac546
BLAKE2b-256 41afb5b92364c170bd73a7c744678af8113fcd6d4afb37d1818cde3e39f4c9b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.38-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ce2553296688ffaef451f1b262163b6181c75145e21865730507464998c977d1
MD5 d728e207afb9813f65df95d4d0671c46
BLAKE2b-256 c230cc419424c539abf7283929d9d753600eb93b8865b3c9fee12ca427d64869

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.38-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 c3f3a3b4681af92308117fe6e34f0f6fabe00912754a6168b0d741a61bade83a
MD5 effaf92b331e39e270a5db549e11424e
BLAKE2b-256 9042851d8ebe4ab4d8f6bab99dc265e5dfb770a74e0c15941f9fcf8f6d438547

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.6.38-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 5f138cbe7a72e0aa0d90bc688a7ef218421c30dbf99ab2b8974d08a63495fe72
MD5 a5b1c0206de20fcd978ba7c32672f669
BLAKE2b-256 c4339e995e2dff436f7634911660b707b47b6d94b8f99e10da7cf797cbb9cad7

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