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.10rc2

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.10rc2
File Size Uploaded
passagemath_rubiks-10.8.10rc2.tar.gz 9.1 kB Details

Built distributions (wheels)

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

Download URL passagemath_rubiks-10.8.10rc2.tar.gz
Size 9.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e9ab8b211bc19be8866d128e8b120307a91484b668b3c3181a87db86f735af85
BLAKE2b-256 checksum
How to use checksums
5f6e982b28bef000d389ef431a95e732eaac8330657bf6d35318ec47689eff5b
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.10rc2-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL passagemath_rubiks-10.8.10rc2-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
e58fc73b15b0df5b158dc219980a0674f457878f52b10a197b686cbda662af7e
BLAKE2b-256 checksum
How to use checksums
dcd48be6060c589b59df1c3ed0b5c0dcbed24b988376a8de64621edfc3199c81
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.10rc2-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL passagemath_rubiks-10.8.10rc2-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
a2e1b77e9f03946cbfc4a2db4fd3fa1d6f2bf72a6b5a599e8a2c3c0850ddc4ff
BLAKE2b-256 checksum
How to use checksums
bbca38d16849dfdc9323ec60ea0b13bab195318bbd9deca582aab53c4a730233
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.10rc2-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL passagemath_rubiks-10.8.10rc2-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
775f771fb711a033df3067e3f718a10056b556bf172088eabeebd4a08fb93dda
BLAKE2b-256 checksum
How to use checksums
aba9b923dc57ab65413d155c201655370ad37bb33207dfc9c0250a7fe7acc783
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.10rc2-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL passagemath_rubiks-10.8.10rc2-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
cfe293fa1604de4980c2549dd60e59f2bbb2f62cc032dcf69b725bc7d18e3a16
BLAKE2b-256 checksum
How to use checksums
4b663ff552b569e0c203b5bfc00689fab1ac4762bb1ec83bd79db3a1c0ba38e7
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.10rc2-cp314-cp314t-macosx_13_0_x86_64.whl

Download URL passagemath_rubiks-10.8.10rc2-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
b95006e3720a60a7590809bd014c67dc54f6463e4976f49145f0540bc655a9f9
BLAKE2b-256 checksum
How to use checksums
6712f4e1a0f570ffe7e0ae90f2536f22943570f47d83b020840963b074a1fe78
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.10rc2-cp314-cp314t-macosx_13_0_arm64.whl

Download URL passagemath_rubiks-10.8.10rc2-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
2a22d44733c54a706aa1ac53737b4b6f883df3a6749044756d912e6067b4894b
BLAKE2b-256 checksum
How to use checksums
5fa2a29b398f52520a7e6ff416f49a788f452767537ea07095e7f486e6ce5025
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.10rc2-cp312-abi3-musllinux_1_2_x86_64.whl

Download URL passagemath_rubiks-10.8.10rc2-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
c2e60c6ef928d669487007b2e9e6c2a3464bbed53fe98174b4bc8e623a51c03c
BLAKE2b-256 checksum
How to use checksums
f6b0629ac0253d73ea9a9f2c170aad39ab763ee0fd523a5983d10fa43ec57dc9
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.10rc2-cp312-abi3-musllinux_1_2_aarch64.whl

Download URL passagemath_rubiks-10.8.10rc2-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
1b688ea109db12322106ec93d15bed0d30527f291c3b235f287c536dd9fe756b
BLAKE2b-256 checksum
How to use checksums
22eb0546c0e565853f90abdd95b44ea494f9afd83e0d20b629c3133b24b25a7c
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.10rc2-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL passagemath_rubiks-10.8.10rc2-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
ddbbbc5d0c9f0d1fc02c6180e42652510f3b7b3a9b7e66f5e3e9815b142d190f
BLAKE2b-256 checksum
How to use checksums
e9f93b98f745369a09f19eb64af88b1490335f15575f879e9e277f8a3df64854
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.10rc2-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL passagemath_rubiks-10.8.10rc2-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
f36f98c6afaad488768903867b440b5a73d09fbf2b195b22f90841e05d0d22b1
BLAKE2b-256 checksum
How to use checksums
105e1f799ef5b73d1746fba7de2250007bf99cd41ef27182b289e7b3f5aeb19e
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.10rc2-cp312-abi3-macosx_13_0_x86_64.whl

Download URL passagemath_rubiks-10.8.10rc2-cp312-abi3-macosx_13_0_x86_64.whl
Size 213.3 kB
Tags CPython 3.12 abi3 macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
0b9d83833f9ae73c293f410e0d3314f1aceded208d2af324d8893f419f5c9803
BLAKE2b-256 checksum
How to use checksums
1282bb0e269f36f5772d490497b4f084d429654919691e29a5dc71897491225f
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.10rc2-cp312-abi3-macosx_13_0_arm64.whl

Download URL passagemath_rubiks-10.8.10rc2-cp312-abi3-macosx_13_0_arm64.whl
Size 214.3 kB
Tags CPython 3.12 abi3 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
b29214442a99e2257617126f7954171cf036746fb986bc6a3948b80a01b038f4
BLAKE2b-256 checksum
How to use checksums
f5443c1a7a0e7cc71327c268f6fbf63e3e046ed0947145b8bec592db36f524b2
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.10rc2-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL passagemath_rubiks-10.8.10rc2-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
c3c44a92486723d220434999b439d7fe2f228a02e175de12aa64fada72f50a4d
BLAKE2b-256 checksum
How to use checksums
674da2af91758f210fc3ef3eea80918337f86053bc7687a1c1fe3ab7203894fc
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.10rc2-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL passagemath_rubiks-10.8.10rc2-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
6a99c66ee5db523880fd72e12db15baa78fba10f56012d871319351922344169
BLAKE2b-256 checksum
How to use checksums
f046c0e00c77b427a302475f8cd061c8772ba61e7ed5849307879de705033d63
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.10rc2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL passagemath_rubiks-10.8.10rc2-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
90c0d629c883dca54b9c396cf2644773dcaede8dc4d0a253b7bce9ee08b5193c
BLAKE2b-256 checksum
How to use checksums
d9d5902dfaff6ec356cfc6ced16ab327c7fac780d715a5b0893343a6fbbad421
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.10rc2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL passagemath_rubiks-10.8.10rc2-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
71326670116acdcd221dd787fde2f19b3133a26f45e7d6c3a7ea384aa465a844
BLAKE2b-256 checksum
How to use checksums
0868604146d2ee44d3eb9d961b4600e508995e949b6dcb492ff91696eb82f0f9
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.10rc2-cp311-cp311-macosx_13_0_x86_64.whl

Download URL passagemath_rubiks-10.8.10rc2-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
716fd69aad6cf1d506db212c1152fe1da3570bbc4076f67aeb931830b820c606
BLAKE2b-256 checksum
How to use checksums
d05ac2ea98ad0e8d96fbf2079ce8e37a8e32faf3e45f1ae84ea03394eb00ccb5
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.10rc2-cp311-cp311-macosx_13_0_arm64.whl

Download URL passagemath_rubiks-10.8.10rc2-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
4745144d05bc6d292e7ffc859f66e6d0ae926bcf6d27242d86d9c532074ad330
BLAKE2b-256 checksum
How to use checksums
e1a8aaa4090712a1aa6203bac2e431126040f2fbc37bb1b898acd9950fb61c5e
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.10rc2 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