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'

Metadata

Release files for passagemath-rubiks 10.10.1a1

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.10.1a1
File Size Uploaded
passagemath_rubiks-10.10.1a1.tar.gz 9.1 kB Details

Built distributions (wheels)

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

Total release size: 19.8 MB

Release files / passagemath_rubiks-10.10.1a1.tar.gz

Download URL passagemath_rubiks-10.10.1a1.tar.gz
Size 9.1 kB
Tags Source
SHA-256 checksum
How to use checksums
71d3eb232cc03d26858a917a33a24ac1c5d86482eee01ce3fc2790ce15493fb2
BLAKE2b-256 checksum
How to use checksums
b731db8e5388e83fd53420e505241be1e0d5ae7b0004f7b7e40e9dea0068ee24
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.10.1a1-cp315-cp315t-musllinux_1_2_x86_64.whl

Download URL passagemath_rubiks-10.10.1a1-cp315-cp315t-musllinux_1_2_x86_64.whl
Size 2.1 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
039bf242b4ea341db3e2f3e119cfcd527cf27fa534bec56d97c25f072d119d61
BLAKE2b-256 checksum
How to use checksums
9f4727e4d25f3e5e134a22fe76405b10c4b4eae7a220600ac2f0f4d221f801e2
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.10.1a1-cp315-cp315t-musllinux_1_2_aarch64.whl

Download URL passagemath_rubiks-10.10.1a1-cp315-cp315t-musllinux_1_2_aarch64.whl
Size 2.0 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
7e33273a5745d470d4e21d6dc34e27d1e77d3a84c0bb95dbc2f7a86792710db4
BLAKE2b-256 checksum
How to use checksums
068a9578cea6c7d946830cf4562c063d00e6025a3dca2f99248e59875dfaa872
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.10.1a1-cp315-cp315t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL passagemath_rubiks-10.10.1a1-cp315-cp315t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 1.1 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
655c58cc33e133c503a3385be5c96a88d6ea4fd931968b927c6ab9c3a01784c7
BLAKE2b-256 checksum
How to use checksums
21544f26aff39779f2913c3e15f38ca54743040262c3b8d92df947662299a2b2
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.10.1a1-cp315-cp315t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL passagemath_rubiks-10.10.1a1-cp315-cp315t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 1.0 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
2d13b2528cc7346529e48cc2bc15e7deabd367878f34c8fa9bf2a8e62770e97d
BLAKE2b-256 checksum
How to use checksums
964687abbbebdd2aa0f077b570ef797dfa3b4440e1939ad2ac8fc993e3f4d4cb
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.10.1a1-cp315-cp315t-macosx_13_0_x86_64.whl

Download URL passagemath_rubiks-10.10.1a1-cp315-cp315t-macosx_13_0_x86_64.whl
Size 213.0 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
4ee06bb929ba6dd1eccc58c49abe5914d57ad57f721ea0657732d3a5be610bf7
BLAKE2b-256 checksum
How to use checksums
8769b0a6d582fe6323111fe122b0c3c90c55aac740f18a8d1c459f5e77b0d2c4
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.10.1a1-cp315-cp315t-macosx_13_0_arm64.whl

Download URL passagemath_rubiks-10.10.1a1-cp315-cp315t-macosx_13_0_arm64.whl
Size 214.3 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
3f83f2f9a5c1f96b83bb318280b563dd61f8dd25174aa1a50737d9061ba77532
BLAKE2b-256 checksum
How to use checksums
05015002fb738ba2260c240b7cecee8ef85f06b538fcb510be237380cc7173d7
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.10.1a1-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL passagemath_rubiks-10.10.1a1-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
9a7c00275f1fbd572ae9ef180816d095d96d30fe6928653a57c02f7bbfa8dc41
BLAKE2b-256 checksum
How to use checksums
1fd100d51ad320b17c6b87149430a42d64a1906756e613ea7ee773ec019936d1
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.10.1a1-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL passagemath_rubiks-10.10.1a1-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
b07fc80e6f9729f1b16f137dffda25aac9c266395903a9eb81399032b376034e
BLAKE2b-256 checksum
How to use checksums
8657507aefe507c2e3a1359620615085f26b93538c247c96e474a2e8a5149bd0
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.10.1a1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL passagemath_rubiks-10.10.1a1-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
644493867d6fd8b49f3de86d40e46b8c1495e6c415cb3944ec6585be4e153b96
BLAKE2b-256 checksum
How to use checksums
aeb2d5cb6a742b5bd922595ba917c7910ae13ac2bb0b3dbdf46499628bb5a851
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.10.1a1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL passagemath_rubiks-10.10.1a1-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
2faf386e21d6f6d33549d92b4e8e1bd24a07f4390cb194d51b19424d289c2d43
BLAKE2b-256 checksum
How to use checksums
1f6d42565b10579d29f5f2d4bcfc2aa0b0e742d38c6d278d8c84089d24f75e3d
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.10.1a1-cp314-cp314t-macosx_13_0_x86_64.whl

Download URL passagemath_rubiks-10.10.1a1-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
cd81ac6aee811af38029619ac45ee86cc7a04ea7990120ae1a04c4d96b3d8f54
BLAKE2b-256 checksum
How to use checksums
68c16ad295d63cc172dc827af38d611e364188f4c4695028caf35881df3350b7
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.10.1a1-cp314-cp314t-macosx_13_0_arm64.whl

Download URL passagemath_rubiks-10.10.1a1-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
1fcfa0e599f598d8b546b091998c10afa0ff9d87f2f097dfb2622eb8625527bb
BLAKE2b-256 checksum
How to use checksums
8a37be73135bf856320ec07f778629c432d0dc0fcb50961f5c96145420c15c68
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.10.1a1-cp312-abi3-musllinux_1_2_x86_64.whl

Download URL passagemath_rubiks-10.10.1a1-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
a42014608c2340e280549ea7375828885870a03765617420ac521624b00ad2cc
BLAKE2b-256 checksum
How to use checksums
1bf0fe2f1f9e1d02702cff710bf88b190b61ffde5fe4cd5cf55514ce409ee9da
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.10.1a1-cp312-abi3-musllinux_1_2_aarch64.whl

Download URL passagemath_rubiks-10.10.1a1-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
39f840b4e198a62e87cf1720df7ac3c3485a85a10c75c2906376f3d57fd406ee
BLAKE2b-256 checksum
How to use checksums
288f595bd8bf2586e418262b298a881457a31e66b4798e183b6db0de8bb51e30
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.10.1a1-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL passagemath_rubiks-10.10.1a1-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
01518907310542a34b6bff1a5f629889104dbb9a95d0b6230e301d73103629cd
BLAKE2b-256 checksum
How to use checksums
db82c611666a52b83accce142dbc0853a0709a6f5579b9fdc192de7fbafeb865
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.10.1a1-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL passagemath_rubiks-10.10.1a1-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
f3383773632dff6b4e75e33c2b17559dae9cb769cabfb3fa62726046cfb12542
BLAKE2b-256 checksum
How to use checksums
7ab25924609f99a36e0348c0cd0f12484b98ced55c2f970befd20881e1a41af5
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.10.1a1-cp312-abi3-macosx_13_0_x86_64.whl

Download URL passagemath_rubiks-10.10.1a1-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
a24b2676b1bee188f0d1f6a05ec6bcbc86bfad04349b94ecc4f61f81c59f5053
BLAKE2b-256 checksum
How to use checksums
687e8500e8dcd0478b435580990d38c9e3c2a1dfdcb709e24b3f9810f70a59fa
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.10.1a1-cp312-abi3-macosx_13_0_arm64.whl

Download URL passagemath_rubiks-10.10.1a1-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
ac701aecb92cfb024828d27232a0ecd6fd84f7bd5a877978521e4ff594fe2a2f
BLAKE2b-256 checksum
How to use checksums
52deaa93342c13ed41b97d20c31608f05adc421fdae617867aed079f7d1cd847
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.10.1a1 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