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.12rc0

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

Built distributions (wheels)

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

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

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

Download URL passagemath_rubiks-10.8.12rc0-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
7e9c6f7339d23956dd1a9de44858f465494ac5756d81e2c160fe6688a3b2d873
BLAKE2b-256 checksum
How to use checksums
db9e419541fed64b0fa957891574d71ff64ca43d4cde534e80c08bdfd7123dc7
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.12rc0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL passagemath_rubiks-10.8.12rc0-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
0300e3f3eb57b6f26adc8ed95b880332486572b1759cc74cd0e9055aa27a753d
BLAKE2b-256 checksum
How to use checksums
27958cdc8767543c357b1d6bdce68f50ea9fb8a8ee79f8a37b506c9df8342abc
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.12rc0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL passagemath_rubiks-10.8.12rc0-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
271115e4db7be14be7439f189fa483cc204ad108808d0e061c6c8167c66189df
BLAKE2b-256 checksum
How to use checksums
6964ffddce7da9fb0e91a031fc0bdd5796ee297f95afeb29020eb44beb8122e2
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.12rc0-cp314-cp314t-macosx_13_0_x86_64.whl

Download URL passagemath_rubiks-10.8.12rc0-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
752ef6edd70f690606b3dc8936c1cd6e7c2e1b1a9d9f17216c06cb12ddd94ebe
BLAKE2b-256 checksum
How to use checksums
787db6fb95716e945b6b30b6fcfb13d96c47fd27de4fa4926c0d9cfd64385cdc
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.12rc0-cp314-cp314t-macosx_13_0_arm64.whl

Download URL passagemath_rubiks-10.8.12rc0-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
460d84f059c098355fb3f4e238e4ba50032c8d48562d6e08f9fc161aafd3ddb0
BLAKE2b-256 checksum
How to use checksums
82af8db509dc9c991cac32e09dfe29ad7533f2ac18bba7d5cdc4052e7dc23c5a
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.12rc0-cp312-abi3-musllinux_1_2_x86_64.whl

Download URL passagemath_rubiks-10.8.12rc0-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
27109d92ca367702dccbb46b2c1b33bad8f7c774964f9afa8d7b02d08e5397a3
BLAKE2b-256 checksum
How to use checksums
3bc6129bfadf068f34504ba3cd9ebe8e77a0996c50a40cb4c946362305350175
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.12rc0-cp312-abi3-musllinux_1_2_aarch64.whl

Download URL passagemath_rubiks-10.8.12rc0-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
564d0be56498d986827a978a7664d3659332f5f530b632c7efe4d2f1512058cd
BLAKE2b-256 checksum
How to use checksums
3acc478385c5c0f9ae15abe15e6df4a467e320f2a1e1fbba47c37922dde29a58
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.12rc0-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL passagemath_rubiks-10.8.12rc0-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
5d32f917dc5a4c1ec6ae4ba232db2c089f5ecc5f9c320a08931e5e25935f575c
BLAKE2b-256 checksum
How to use checksums
fadfef65733532ec9628befa0cc0d4fd712550e129e734354ab1d5504aebb0f0
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.12rc0-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL passagemath_rubiks-10.8.12rc0-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
f09c4bffc66abce55b99a53d21cbdb6735f41be84fec29c097311cc6f777093c
BLAKE2b-256 checksum
How to use checksums
f977777320af0d9a6dc7204620ec2fe1ee5372714a30e93b9ebd1d9c7271663d
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.12rc0-cp312-abi3-macosx_13_0_x86_64.whl

Download URL passagemath_rubiks-10.8.12rc0-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
02b2110afcfadfd265536a94c6f09ee7a489ae3483189e415eb6166b6ab08735
BLAKE2b-256 checksum
How to use checksums
efb4252d17e30f20759d5d1ba809bc010e1c7a2c1a0b16f16a5ea9641c21a52c
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.12rc0-cp312-abi3-macosx_13_0_arm64.whl

Download URL passagemath_rubiks-10.8.12rc0-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
4b978ac282f3cc9e1541cac4eb597648206f479ccc817f741ae077960d175c73
BLAKE2b-256 checksum
How to use checksums
1f212cd412d094efe8c4e33fa05f2a086ac80641974579baabb9c9ec57cfc0ed
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.12rc0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL passagemath_rubiks-10.8.12rc0-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
62ed0a946975733bce25b839b879afd0d002bbad8bc9a9e384235770b34fe47c
BLAKE2b-256 checksum
How to use checksums
3ae9c7603ce825f1fcb570172c3d547270d7015b99ec6f1d908916173b7ec068
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.12rc0-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL passagemath_rubiks-10.8.12rc0-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
89b3f3c87846fd12dd48151a1c7a9a1001ebc0b402e846c02705c693da383a61
BLAKE2b-256 checksum
How to use checksums
b215c08f7df21ee773a64d0dd2e7fa549001619250b4541d027147479bdc9a0c
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.12rc0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL passagemath_rubiks-10.8.12rc0-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
afa37e26a51eb0dfe7d179f9e6a17740c6a6fae7bb294015998a37446338e832
BLAKE2b-256 checksum
How to use checksums
0cdc8fec1b186e800fd5724a264e9f1c11e0e84320d4b4c76f3be7b5ca51a859
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.12rc0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL passagemath_rubiks-10.8.12rc0-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
09750b1dd82d70e04d38c7cbd4f7587afb227e3d45cf81a50e0b48b33f7cd81c
BLAKE2b-256 checksum
How to use checksums
7e386dc5c70e6794ce803dad66f17ac74e4509ce298ac2f69d404583aaf3d5cc
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.12rc0-cp311-cp311-macosx_13_0_x86_64.whl

Download URL passagemath_rubiks-10.8.12rc0-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
1509b1f1de636991776bfc4e2e350b0579ec7779ccaf2827d453e445a9da5f37
BLAKE2b-256 checksum
How to use checksums
9559f5e954747f491a9687d178f2511378701e06eef8b5e7e55f7375ab721a44
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.12rc0-cp311-cp311-macosx_13_0_arm64.whl

Download URL passagemath_rubiks-10.8.12rc0-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
4d9407792c66aae6eef46b7a461675e8e68c8194fc92ad2d68ee7668a5e847d6
BLAKE2b-256 checksum
How to use checksums
ffc8070fe247ec0152c2716045422eaf1a3f756c2d4e4ab56ad3ed71816c8627
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.12rc0 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