Skip to main content

passagemath: Algorithms for Rubik’s cube

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-2026 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:

Moreover, the passagemath project:

  • provides a stable, frequently updated version of the Sage distribution,

  • integrates additional mathematical software, notably Macaulay2, a full set of GAP packages, and the Combinatorial Matrix Recognition library,

  • curates a library of Sage user packages.

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, ARM) 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.8.x series are 3.11.x-3.14.x; the passagemath-10.6.x series (EOL 2026-10) still supports Python 3.10.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 --spec "passagemath-rubiks" sage -sh -c cubex

Finding the installation location of a rubiks program:

$ pipx run --spec "passagemath-rubiks[test]" ipython

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

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

Using the Python interface:

$ pipx run --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 --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'

Metadata

Release files for passagemath-rubiks 10.8.13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for passagemath-rubiks 10.8.13
File Size Uploaded
passagemath_rubiks-10.8.13.tar.gz 9.1 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for passagemath-rubiks 10.8.13
File
passagemath_rubiks-10.8.13-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details
passagemath_rubiks-10.8.13-cp314-cp314t-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 Details
passagemath_rubiks-10.8.13-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
passagemath_rubiks-10.8.13-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
passagemath_rubiks-10.8.13-cp314-cp314t-macosx_13_0_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 13.0+ x86-64 Details
passagemath_rubiks-10.8.13-cp314-cp314t-macosx_13_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 13.0+ ARM64 Details
passagemath_rubiks-10.8.13-cp312-abi3-musllinux_1_2_x86_64.whl CPython 3.12 abi3 Linux musl 1.2+ x86-64 Details
passagemath_rubiks-10.8.13-cp312-abi3-musllinux_1_2_aarch64.whl CPython 3.12 abi3 Linux musl 1.2+ ARM64 Details
passagemath_rubiks-10.8.13-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 abi3 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
passagemath_rubiks-10.8.13-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 abi3 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
passagemath_rubiks-10.8.13-cp312-abi3-macosx_13_0_x86_64.whl CPython 3.12 abi3 macOS 13.0+ x86-64 Details
passagemath_rubiks-10.8.13-cp312-abi3-macosx_13_0_arm64.whl CPython 3.12 abi3 macOS 13.0+ ARM64 Details
passagemath_rubiks-10.8.13-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
passagemath_rubiks-10.8.13-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details
passagemath_rubiks-10.8.13-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
passagemath_rubiks-10.8.13-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
passagemath_rubiks-10.8.13-cp311-cp311-macosx_13_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 13.0+ x86-64 Details
passagemath_rubiks-10.8.13-cp311-cp311-macosx_13_0_arm64.whl CPython 3.11 CPython 3.11 macOS 13.0+ ARM64 Details

Total release size: 19.8 MB

Release files / passagemath_rubiks-10.8.13.tar.gz

Download URL passagemath_rubiks-10.8.13.tar.gz
Size 9.1 kB
Tags Source
SHA-256 checksum
How to use checksums
667b0753a1ab1e43183efc5d647c78988f9e5cb5655a487499006192abafca46
BLAKE2b-256 checksum
How to use checksums
f725cf156b5471e3d11c06a7011750077c11dd0bff174cbf2e042cb831c7ed3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / passagemath_rubiks-10.8.13-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL passagemath_rubiks-10.8.13-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 2.1 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
221a0a8bd51aded01729fc4c600c5c18ad40791e00456f5a1b174a344ae17b5e
BLAKE2b-256 checksum
How to use checksums
8a4ab920ffe2f25d4baf4409ad5acbc5fde2dabf7fea484a926b3fe99f8c67fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / passagemath_rubiks-10.8.13-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL passagemath_rubiks-10.8.13-cp314-cp314t-musllinux_1_2_aarch64.whl
Size 2.0 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
cc7061ca38440e4ba574a4195a2d3a3fded21d32d6ead2a3f48aa8ef17b45bb8
BLAKE2b-256 checksum
How to use checksums
810d72d386eb254d42627d8a7427dfed49e5e198c1e9a0d9310da61d02b8925d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / passagemath_rubiks-10.8.13-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL passagemath_rubiks-10.8.13-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 1.1 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3fd76736306896a153713e58c90784cb6e364245e5ae53eb18ade4bf0adf03e6
BLAKE2b-256 checksum
How to use checksums
86993bae81e01fd6030635d4036d84dcc92926d5e09d4e087b3cd3f4b24a9c41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / passagemath_rubiks-10.8.13-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL passagemath_rubiks-10.8.13-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 1.0 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
411a65754d02d850318645cc60fab13d05ac79cabfa4a416337501ff95f49794
BLAKE2b-256 checksum
How to use checksums
8731659c4896c955bc8a1535449b8a72bd12c5e2daca894b9c641509f7dffa80
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / passagemath_rubiks-10.8.13-cp314-cp314t-macosx_13_0_x86_64.whl

Download URL passagemath_rubiks-10.8.13-cp314-cp314t-macosx_13_0_x86_64.whl
Size 213.4 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
cc1402084a20ff0112d29f3e1cb84cdbf3d5a6bb96ca45e81c2106d5f59d6d83
BLAKE2b-256 checksum
How to use checksums
9cc66964a43371560ca87f2d87d7827cc7b51c44bba555bb661544229d53dbc2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / passagemath_rubiks-10.8.13-cp314-cp314t-macosx_13_0_arm64.whl

Download URL passagemath_rubiks-10.8.13-cp314-cp314t-macosx_13_0_arm64.whl
Size 214.7 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
975235b74cd57d878b201ab1f2c7d06be62100c6d95da8d7445de66cf789650a
BLAKE2b-256 checksum
How to use checksums
722288e38da316a3350575658e8156caca3725cb492dfe145a4b8756ff7a8970
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / passagemath_rubiks-10.8.13-cp312-abi3-musllinux_1_2_x86_64.whl

Download URL passagemath_rubiks-10.8.13-cp312-abi3-musllinux_1_2_x86_64.whl
Size 2.1 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
649706ab90b90af3d8c1e056c4998b1ef6fed3d1faeb600def8f4bf3acf2501f
BLAKE2b-256 checksum
How to use checksums
43197e500a50e8e40739482b21f93d7e638e0113a6ed6b04f34c621206f1fa6d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / passagemath_rubiks-10.8.13-cp312-abi3-musllinux_1_2_aarch64.whl

Download URL passagemath_rubiks-10.8.13-cp312-abi3-musllinux_1_2_aarch64.whl
Size 2.0 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
eb757c957459270a762d3dfad0f42ff2461c3065d307aae5e3c031442cef4ddc
BLAKE2b-256 checksum
How to use checksums
07cdf9f9de8bf266591003ad7564d595b1a3fa88f6da0b5947e1d759a6c3f99c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / passagemath_rubiks-10.8.13-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL passagemath_rubiks-10.8.13-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 1.1 MB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
30bb65700b15a1efa0cbefd6c0f8b264f97f65ecce36e0fbb6270e84c898815e
BLAKE2b-256 checksum
How to use checksums
1bbab759c5cce645001397fcb20da1a31ad865dea3ec6ec8592a4cb95602e7c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / passagemath_rubiks-10.8.13-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL passagemath_rubiks-10.8.13-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 1.0 MB
Tags CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
47e94111b61c511974d0f5d12b5c4d5885b7e9bdc2a4d7cadb36af23d0402eb8
BLAKE2b-256 checksum
How to use checksums
0bb119a36a8073521962405290563503ddf79209f205ab61a7dcbf3993a92ee1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / passagemath_rubiks-10.8.13-cp312-abi3-macosx_13_0_x86_64.whl

Download URL passagemath_rubiks-10.8.13-cp312-abi3-macosx_13_0_x86_64.whl
Size 213.6 kB
Tags CPython 3.12 abi3 macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
d48098c5464a2f0f7416755343932dceae1148e3ccc0ac2356bd7be697ac9bdb
BLAKE2b-256 checksum
How to use checksums
770951593abd1f2cbcaeee6825ec1df4532c596f2142a4cb887eb803e9387f1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / passagemath_rubiks-10.8.13-cp312-abi3-macosx_13_0_arm64.whl

Download URL passagemath_rubiks-10.8.13-cp312-abi3-macosx_13_0_arm64.whl
Size 214.6 kB
Tags CPython 3.12 abi3 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
5a1a02b27cbd7b19c0783279fa3f68fd0b414db5eaebd59ddda525577d4c4064
BLAKE2b-256 checksum
How to use checksums
a7b6c25f04798bc3200c3047ad9cb59042cffc3b8611f61575c9e2e2edc91a93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / passagemath_rubiks-10.8.13-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL passagemath_rubiks-10.8.13-cp311-cp311-musllinux_1_2_x86_64.whl
Size 2.1 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
a76b75939118943bb1cdb7c9e1fe09e780664ac606491e85f4400c26cdbba64b
BLAKE2b-256 checksum
How to use checksums
2aedf75960dc9e8a464fb304903b84b922697f8fcf341b1b18e7f6f42023a5dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / passagemath_rubiks-10.8.13-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL passagemath_rubiks-10.8.13-cp311-cp311-musllinux_1_2_aarch64.whl
Size 2.0 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
7b7fbe453868356a516d9b52d8a397198524aa9fe45ededef3000eceaaca1513
BLAKE2b-256 checksum
How to use checksums
4076058622b7e2a1b0eaee3274153f03514a87ce0a7a7db76ef726df15db8fe7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / passagemath_rubiks-10.8.13-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL passagemath_rubiks-10.8.13-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 1.1 MB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b7f793d75a79a3d7d9f432634113989c1216414ffca5e187a173c464eaa34a58
BLAKE2b-256 checksum
How to use checksums
d29ce6cc67f8b83e87cd210d31ffef41e7727d215f6cea473aa6f44b933e3133
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / passagemath_rubiks-10.8.13-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL passagemath_rubiks-10.8.13-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 1.0 MB
Tags CPython 3.11 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
66a423e3177d620e6004d7ece3921fa0b8d3f69194eebaaa0ce978e196ba17bc
BLAKE2b-256 checksum
How to use checksums
a2aa855c6695e5d73b6d3f45a1c0715550c3e4daf354fa05ede7c0e091a5a79c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / passagemath_rubiks-10.8.13-cp311-cp311-macosx_13_0_x86_64.whl

Download URL passagemath_rubiks-10.8.13-cp311-cp311-macosx_13_0_x86_64.whl
Size 212.6 kB
Tags CPython 3.11 macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
69263ab8b36a5cf4fbaa36fe33b652afd4b38df827ad1e8c92f0440541ac0b37
BLAKE2b-256 checksum
How to use checksums
2ba6395dcb32d6a4d35a4a6aabc8110002b01419771c517dba2b2121ff5a9200
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / passagemath_rubiks-10.8.13-cp311-cp311-macosx_13_0_arm64.whl

Download URL passagemath_rubiks-10.8.13-cp311-cp311-macosx_13_0_arm64.whl
Size 213.7 kB
Tags CPython 3.11 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
d33936d2a9089b6579c0f0f00be6fcaeda1a4dd13302ba364198bda0839c5fc6
BLAKE2b-256 checksum
How to use checksums
151fc0ff8d23d1b583b779c3c8f6d8177e993f29bb7a0a9df3f01abd559bd6a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

10.8.13 This release

19 release files

10.5.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page