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

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

Built distributions (wheels)

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

Download URL passagemath_rubiks-10.8.10rc3.tar.gz
Size 9.1 kB
Tags Source
SHA-256 checksum
How to use checksums
65b0d995ec569677e81c7b284787248028b2373101e2d964eeb1feeb72cb0c00
BLAKE2b-256 checksum
How to use checksums
00337f2735569f89b6a6a0e397602bc94f499d989e7e1a8e3b7b662d3fc2e80a
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.10rc3-cp314-cp314t-musllinux_1_2_x86_64.whl

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

Download URL passagemath_rubiks-10.8.10rc3-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
009121b697c15d55095c6830f405beddd9b23c4a44fc670333bf399bc7b6382a
BLAKE2b-256 checksum
How to use checksums
0300bb221800af81226e8eb49af28ea07d3b3a57dd15d0ea6acac5c13aaefc7d
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.10rc3-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL passagemath_rubiks-10.8.10rc3-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
4ec224e7ef131a37946f65eff327a86a592b8cba51ed95af25b0afb014e1182b
BLAKE2b-256 checksum
How to use checksums
9bf66036c1842b7a4eefa538272cf943312225d4fd99ae6abe1da1ce4f745317
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.10rc3-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL passagemath_rubiks-10.8.10rc3-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
a138d01eaf65dbedb9c27ae4b9170ef15a1704348a5334bea515f966c40ee0a1
BLAKE2b-256 checksum
How to use checksums
ebab7e7c4f5b70fb6ca57f60348f63847f45b14a20bca3fe9797bd7eeb4b3e6c
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.10rc3-cp314-cp314t-macosx_13_0_x86_64.whl

Download URL passagemath_rubiks-10.8.10rc3-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
f0acd607ed0fba9008fbe5cbe90df5c5e1003a38db93ba515aa2994ff43f554e
BLAKE2b-256 checksum
How to use checksums
d4a57e0d5ca6de8748b3c5cbfdcbcf6e77b543c2fdcf318a406fdaf8e1ea0f6d
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.10rc3-cp314-cp314t-macosx_13_0_arm64.whl

Download URL passagemath_rubiks-10.8.10rc3-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
0627d58f94098fb0674c1620f885b33503a898124088b70d14fe5654ba322558
BLAKE2b-256 checksum
How to use checksums
cf09b74793839a8990f49d75e292f399edaa12cf685a1965a480366c2f1dac9a
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.10rc3-cp312-abi3-musllinux_1_2_x86_64.whl

Download URL passagemath_rubiks-10.8.10rc3-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
f56563b4a04116e7516130d3fbaa12c3a38edfb3e7ff6d6a85514ec1d28f49f4
BLAKE2b-256 checksum
How to use checksums
5c787c10308ca0c6695245b3c1c0706142b4aa0c0033d32543263693f2a2437f
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.10rc3-cp312-abi3-musllinux_1_2_aarch64.whl

Download URL passagemath_rubiks-10.8.10rc3-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
d200f5e2f28785104a2c23d94449134935d1a52df3ff250ec29f3b705ebcb856
BLAKE2b-256 checksum
How to use checksums
65fbdfd38c47d889b6f2f7736252a3f38ba472e4068344969b94887b15c7edc8
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.10rc3-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL passagemath_rubiks-10.8.10rc3-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
c1ba40f6c884386ed3b4924c814127340fcfc67927150ca1ff3ad7605906f5a8
BLAKE2b-256 checksum
How to use checksums
97289c3c29bed5b24c83c7ee94faba448fd98d5897eced2905f1027f44c8607f
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.10rc3-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL passagemath_rubiks-10.8.10rc3-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
f7d6cd8e9122c674fb65692f7bcbd5a970003e7c5d166439059eec223bf1ebe7
BLAKE2b-256 checksum
How to use checksums
ad580f51582a0107be3b2bf4116f318d643aacdb6e5dd999f9a24cad1d50ac07
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.10rc3-cp312-abi3-macosx_13_0_x86_64.whl

Download URL passagemath_rubiks-10.8.10rc3-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
43afa0845151d3bbf4863e2233a9ff371a8be91a62d10db9ee866e1d2adc9b35
BLAKE2b-256 checksum
How to use checksums
e45daa0cff72ef805f8dee782af7afb952090d6c7db9de625083fc0274430acc
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.10rc3-cp312-abi3-macosx_13_0_arm64.whl

Download URL passagemath_rubiks-10.8.10rc3-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
4270a7547d77a794a3db73f298bbfcb424cb876952d5df9fca721199d8e47bc0
BLAKE2b-256 checksum
How to use checksums
eca3028b640dd111fd180bba9d3492f98caec962c7bae6edca572fd19f72e30a
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.10rc3-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL passagemath_rubiks-10.8.10rc3-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
1c2eafcb16a5d5ef350c51190eba78ab3178f7fc8fb30b6f7f90516ba7b630ae
BLAKE2b-256 checksum
How to use checksums
2b0b3d3ced1fed93d88be4043b70fc84a7c1652f270db83943a0de8d715c1ef6
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.10rc3-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL passagemath_rubiks-10.8.10rc3-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
d7bd8d5009d539cbe76625c88bd5ffd2361da7a3151d7b6fd3dd2b8dcc6f3f47
BLAKE2b-256 checksum
How to use checksums
e0007c5aae112b9f7cd5d949f636544c2aeb40969b963ab6b91eaf463596cd17
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.10rc3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL passagemath_rubiks-10.8.10rc3-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
3347dd28589360962184947dcf2b4fd92c7ef64381f9fc6249518d0255db4e7c
BLAKE2b-256 checksum
How to use checksums
fc63779d3b7411d1ee6d8bb4200bab19e3a693605704d8330f6680b2bd0c2b07
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.10rc3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL passagemath_rubiks-10.8.10rc3-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
45af914ff6371e0d872b2e4356f88e80006529df5a9aa3e50d5740c8d8e6a83f
BLAKE2b-256 checksum
How to use checksums
1238eea9ead8d3caa7c0ad205be91defb7e86f23f53673d74c136ea4eee5a4ff
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.10rc3-cp311-cp311-macosx_13_0_x86_64.whl

Download URL passagemath_rubiks-10.8.10rc3-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
9eba6a7cc399a6ba1f70ededecbdbdf7b4cb0d206bf21dc95c081ed5faefa592
BLAKE2b-256 checksum
How to use checksums
3b17468c4ea4a0e9745de3e07f9eca4c00769e8fbed824d6a8ecf0d8a7bda737
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.10rc3-cp311-cp311-macosx_13_0_arm64.whl

Download URL passagemath_rubiks-10.8.10rc3-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
cca75d856eaee0204c1d197a76d8f0433f52e0f526513f32b72cd69cea1f6821
BLAKE2b-256 checksum
How to use checksums
5b3c16c4e48efecb26efc75db2275b3937a9e26e6397c633724fb6a78626decd
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.10rc3 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