Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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'

Release files for passagemath-rubiks 10.8.12rc1

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.12rc1
File Size Uploaded
passagemath_rubiks-10.8.12rc1.tar.gz 9.1 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for passagemath-rubiks 10.8.12rc1
File
passagemath_rubiks-10.8.12rc1-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.12rc1-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.12rc1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
passagemath_rubiks-10.8.12rc1-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.12rc1-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.12rc1-cp314-cp314t-macosx_13_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 13.0+ ARM64 Details
passagemath_rubiks-10.8.12rc1-cp312-abi3-musllinux_1_2_x86_64.whl CPython 3.12 abi3 Linux musl 1.2+ x86-64 Details
passagemath_rubiks-10.8.12rc1-cp312-abi3-musllinux_1_2_aarch64.whl CPython 3.12 abi3 Linux musl 1.2+ ARM64 Details
passagemath_rubiks-10.8.12rc1-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.12rc1-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 abi3 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
passagemath_rubiks-10.8.12rc1-cp312-abi3-macosx_13_0_x86_64.whl CPython 3.12 abi3 macOS 13.0+ x86-64 Details
passagemath_rubiks-10.8.12rc1-cp312-abi3-macosx_13_0_arm64.whl CPython 3.12 abi3 macOS 13.0+ ARM64 Details
passagemath_rubiks-10.8.12rc1-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.12rc1-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details
passagemath_rubiks-10.8.12rc1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
passagemath_rubiks-10.8.12rc1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
passagemath_rubiks-10.8.12rc1-cp311-cp311-macosx_13_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 13.0+ x86-64 Details
passagemath_rubiks-10.8.12rc1-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.12rc1.tar.gz

Download URL passagemath_rubiks-10.8.12rc1.tar.gz
Size 9.1 kB
Tags Source
SHA-256 checksum
How to use checksums
da63c0798123f46e31af267b89a6af2eb55d79d7c34272a3cfea68a08d1c6f51
BLAKE2b-256 checksum
How to use checksums
c2889dad4793f1bed8b3ef438f0e18c50a13a5a89cfad5c6d8a6578367c98a01
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.12rc1-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL passagemath_rubiks-10.8.12rc1-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
c09b62359195fffb38c343370c34c035c2de70c2deaf90612726326124669a64
BLAKE2b-256 checksum
How to use checksums
e44a4306e679d9e39bb67d7313234f439a588c380ec57e73ffe324ed5f433540
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.12rc1-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL passagemath_rubiks-10.8.12rc1-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
12b66d67c8ab4195ce5b08e72c78c4c259dea9d0b90a57b19525c1c78f2234ad
BLAKE2b-256 checksum
How to use checksums
152348197874b05e8d874b6dd651070e4cab3da1e40bb0d65fb53bd106d6cb8c
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.12rc1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL passagemath_rubiks-10.8.12rc1-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
5c0febe1884281ece208c6aae99b0e1a6a33414b6f35f7971214d277033b50fa
BLAKE2b-256 checksum
How to use checksums
b868085559c6d90ad48a13b3d72c7ea0115ace787bb54cff90fea43e076d2ebe
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.12rc1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL passagemath_rubiks-10.8.12rc1-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
2136b9c3345b1a78be8895adbb2bb17622dced73353b9af3244a78871a4365e7
BLAKE2b-256 checksum
How to use checksums
dfceea0628a884d1e3ae86e8a44a7ebfa3bfdd867b5f0f50a2d6e303164342cd
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.12rc1-cp314-cp314t-macosx_13_0_x86_64.whl

Download URL passagemath_rubiks-10.8.12rc1-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
0630017e4f7e82f6ca0f7145437935cdc4beab95db029176415640e4b6699851
BLAKE2b-256 checksum
How to use checksums
59893fcc57d301f76754add98dbe7b1336024d8889fbd591571e73b5a155e1a4
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.12rc1-cp314-cp314t-macosx_13_0_arm64.whl

Download URL passagemath_rubiks-10.8.12rc1-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
872c0ac105e2d7035b6ff7fb4bd570f0c5eed2ed11b2465e43b47b6e2a910f47
BLAKE2b-256 checksum
How to use checksums
10eaa3805aa68740ecee4b3a3bcea21b407372f06d972650c92df49d1a03f205
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.12rc1-cp312-abi3-musllinux_1_2_x86_64.whl

Download URL passagemath_rubiks-10.8.12rc1-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
1b73424e44d86277b7a312dd2d7d844c0d3bd2fbc8fd866a6062c6317697776f
BLAKE2b-256 checksum
How to use checksums
cfe30129eb7a2ac4550ff695897cfd422dbe95f88f6f50cb4849bc7b421d098d
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.12rc1-cp312-abi3-musllinux_1_2_aarch64.whl

Download URL passagemath_rubiks-10.8.12rc1-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
82fb8edab5b42d3ef7482a23d8c1ad4413496aa18c6552154a6633dd0a718cdb
BLAKE2b-256 checksum
How to use checksums
c61e852f08f64436a27563bcb629c5be3ebb1dadf815e19eb2fc44246b381b5c
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.12rc1-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL passagemath_rubiks-10.8.12rc1-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
c6e630336ddedb85cf48578226d3f7033387f6b01f037ffa9063d5469254fe3b
BLAKE2b-256 checksum
How to use checksums
85845518184a976f8f2bc6ea53775d66edbc7f616d227d6d9c8616bf6a5e99d9
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.12rc1-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL passagemath_rubiks-10.8.12rc1-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
1e94786b2eae67e373925c22dd2a09109d68d751f2db8d8c842025181c960cac
BLAKE2b-256 checksum
How to use checksums
25d0da9a50bcf94c7d2de31795fc0e1d957df3988b9ee2c85718476811a121f4
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.12rc1-cp312-abi3-macosx_13_0_x86_64.whl

Download URL passagemath_rubiks-10.8.12rc1-cp312-abi3-macosx_13_0_x86_64.whl
Size 213.7 kB
Tags CPython 3.12 abi3 macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
20320c95b0311831e7ba3c2f583b63a441f7313f0bd6f4675f7f85926344c472
BLAKE2b-256 checksum
How to use checksums
abe812665826f7496b0ab773451bbca24ff469d1572f1452481aac9e3e5410d4
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.12rc1-cp312-abi3-macosx_13_0_arm64.whl

Download URL passagemath_rubiks-10.8.12rc1-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
1d609df317711a907e3a5f45c3cec2ac8fe7996f7ff35d217ed721393b8116ed
BLAKE2b-256 checksum
How to use checksums
988c2dbfc05808f4e35509393073aa63616d2be5f062bdb225c7ab6b0ea67b04
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.12rc1-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL passagemath_rubiks-10.8.12rc1-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
fdef163c2a33367a2982150bcabdc6f4f4c517342594f7783f5d23e700d5a91c
BLAKE2b-256 checksum
How to use checksums
8288a75027b930da2896160e340180573aef8c21ebe2f52b25cd383c0968f20a
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.12rc1-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL passagemath_rubiks-10.8.12rc1-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
05a75770db1c4a77cd318eda754105b757f18b9db672a41d2e90786fbdb378aa
BLAKE2b-256 checksum
How to use checksums
e64723b35246923ae75b948189c4237ce027ecd3027f42a492fc2ee88a5ed08b
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.12rc1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL passagemath_rubiks-10.8.12rc1-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
725f17c0eb521c2a494492b8323c6494c7d7a7188fe90b2346f667690da37a7c
BLAKE2b-256 checksum
How to use checksums
74b3eae9a74a7480c99248d55be6ea4361e5c1fc75781591d9664a88f8285382
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.12rc1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL passagemath_rubiks-10.8.12rc1-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
3a3d4592a02309fb11474d437ff263327824b381261cd120c1b5a73ba52006b8
BLAKE2b-256 checksum
How to use checksums
87d3d0c3f7a4a603f6899edb441ea48e94401a095540aa312a35ad96131ded37
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.12rc1-cp311-cp311-macosx_13_0_x86_64.whl

Download URL passagemath_rubiks-10.8.12rc1-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
fd6c4c95813d6b9ba9a08a4d02d942cf745830977860fd446fa3b2be16a9b70a
BLAKE2b-256 checksum
How to use checksums
9cc7b095f4335c3a25f2a7e6ef0618eb2f72a7aeac498c8cefe829a8f029e5be
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.12rc1-cp311-cp311-macosx_13_0_arm64.whl

Download URL passagemath_rubiks-10.8.12rc1-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
94ed608be30f152f61f327a3629224a85e87d2ea75cd9769b1e223b02cb4838d
BLAKE2b-256 checksum
How to use checksums
6cb0826a687d4f94b791aa80f488a9332b5defccc8b3fba08409da15dd08e733
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.12rc1 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