Skip to main content

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'

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

passagemath_rubiks-10.8.9.tar.gz (9.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

passagemath_rubiks-10.8.9-cp314-cp314t-musllinux_1_2_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

passagemath_rubiks-10.8.9-cp314-cp314t-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

passagemath_rubiks-10.8.9-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

passagemath_rubiks-10.8.9-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

passagemath_rubiks-10.8.9-cp314-cp314t-macosx_13_0_x86_64.whl (213.3 kB view details)

Uploaded CPython 3.14tmacOS 13.0+ x86-64

passagemath_rubiks-10.8.9-cp314-cp314t-macosx_13_0_arm64.whl (214.6 kB view details)

Uploaded CPython 3.14tmacOS 13.0+ ARM64

passagemath_rubiks-10.8.9-cp312-abi3-musllinux_1_2_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.12+musllinux: musl 1.2+ x86-64

passagemath_rubiks-10.8.9-cp312-abi3-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.12+musllinux: musl 1.2+ ARM64

passagemath_rubiks-10.8.9-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12+manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

passagemath_rubiks-10.8.9-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.12+manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

passagemath_rubiks-10.8.9-cp312-abi3-macosx_13_0_x86_64.whl (213.2 kB view details)

Uploaded CPython 3.12+macOS 13.0+ x86-64

passagemath_rubiks-10.8.9-cp312-abi3-macosx_13_0_arm64.whl (214.3 kB view details)

Uploaded CPython 3.12+macOS 13.0+ ARM64

passagemath_rubiks-10.8.9-cp311-cp311-musllinux_1_2_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

passagemath_rubiks-10.8.9-cp311-cp311-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

passagemath_rubiks-10.8.9-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

passagemath_rubiks-10.8.9-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

passagemath_rubiks-10.8.9-cp311-cp311-macosx_13_0_x86_64.whl (212.5 kB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

passagemath_rubiks-10.8.9-cp311-cp311-macosx_13_0_arm64.whl (213.6 kB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

File details

Details for the file passagemath_rubiks-10.8.9.tar.gz.

File metadata

  • Download URL: passagemath_rubiks-10.8.9.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for passagemath_rubiks-10.8.9.tar.gz
Algorithm Hash digest
SHA256 482dddc960f087c37fe6f64f2fe420ea5192d5af55c07157e4c1501be43eafa8
MD5 f1cec23a809122e2884bd0d70bd1959a
BLAKE2b-256 0283251abc489b2290c05744db8be204a28b55a9f0c8c839e6d8a335cf6b4549

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.8.9-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.9-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3166d1500360e71c848741f9b9e7ac3da86d3757ea39e81921a51f7571cd1133
MD5 9d89cbd3cdf6ad1d370056bb0ff0676d
BLAKE2b-256 44f87bb4b8b3c81fa81cec4403b82bb43de8a2f7c2dac64178b9a090c471c25e

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.8.9-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.9-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 af1d9714e80e1499766efe90ddc7b751d8e0eeeffd61c7dca369d038dc165305
MD5 41aa65d92b392fba961554d5e71cca16
BLAKE2b-256 ad9d9b606c31465563dcaf1302fbc88387522477ff4331300cf6c4b2799a2b3d

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.8.9-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.9-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 13dcb8d8c5d1f7276070878dafe24767966df82bc4263fa92fbe6136d4f0c1a6
MD5 3ef9c3b46a80c185c20591be706283bc
BLAKE2b-256 eed1cea117265fe6c72a114bf1f571bcce588fc721ab4a40ad0540a62ff07499

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.8.9-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.9-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2fc8ea36fa4acb8b8463c9ad007c2a371eb755d46641c786f6fa0c2b87d33a4d
MD5 18e050809d6731f7e0f37f67a61e22c0
BLAKE2b-256 a8dcc5acd6664e7bca4491c3c44f88d9efb63b2acdf299942035812ac28f7349

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.8.9-cp314-cp314t-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.9-cp314-cp314t-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 58bb77bc9188082d5e69cd820ac24f84692f2bc7b4a00b40194966e75a92647e
MD5 14e318865b079750f94f651ac9b73b4f
BLAKE2b-256 c94692ea0d2a4362b19517d72fb0d0df717e079fa811b477f7e562b6dd739f9d

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.8.9-cp314-cp314t-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.9-cp314-cp314t-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 0b8c85c89e6f16380f7f506fe3a548deb05e8b02e57c99e228eb416cf703f8ec
MD5 e0c5a282bba72ff095bf3492b339ece6
BLAKE2b-256 5c97f91031d2ce2a6426a7783f87d5eada04f6482f302feca311f3efbf658eca

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.8.9-cp312-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.9-cp312-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9e01ddf94b2e25d1677f41f2392339b8ffb208cf7af5cdb670d5665dc2828ec0
MD5 b127326c5f66e17aebea1dc701a473d3
BLAKE2b-256 638e4e700900210650fd4027e170d51b9f35cef759d2cce84d1d9126047efa89

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.8.9-cp312-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.9-cp312-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8e99ee5f8a647fd6ecccbaad5c24f426a1e1ad5df2fe4c43fbc06da931345499
MD5 8504f696f6bf2b3472cc09c507af479a
BLAKE2b-256 7182cfb6acb80ca018af645e96073e89e4746cfa43f197e8eb89859d034eae50

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.8.9-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.9-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 45987b4c01c49db596f4b6ba1ba9aa2243cb22f4484d99720f694cda6d1b088e
MD5 ec664d0e8ed43f7b359f0736785f026d
BLAKE2b-256 18d7bfa7491d37dc58956bf636d48d170fef806afc3e7b2c62b4b8ce5b7f5c65

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.8.9-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.9-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0f8e7b10849c426931cdedbac05927621a8dad80bd506ed0581adbb1d7270d5e
MD5 c13f4176833150cff6b89d6b1f2e9c55
BLAKE2b-256 f11e871746705ab59b483b2a7caf067c99c135c8a57592e1519b9aeeb0cb66cc

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.8.9-cp312-abi3-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.9-cp312-abi3-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 0ea4ff9291a361aed7e9645b82c82a693d8351afeb08045239f7941c8a1e0152
MD5 4da941f1eb055b1b9d814fb6eb617cf9
BLAKE2b-256 ce6ba3c3f809e5ada6c612db6a8c3adbfc065c3e0b1c581931490f0c038a4a90

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.8.9-cp312-abi3-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.9-cp312-abi3-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 6e97dec2390fe18e413cbe8d21736908761abf5e49bc12cea3f027e2156abe2b
MD5 e632a6849a24b94007c8a901bde050bb
BLAKE2b-256 286ddf856eaa95bf2b0f1a99cc71b743fcd9c393036d9b8370bd132b74597105

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.8.9-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.9-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ece6ebb565a08c8d8d428f82749c0531c5732cb1a2e92b9f856d0b3ae632c103
MD5 c00db7dccb9cd927880e5ff17043eecc
BLAKE2b-256 5cd645f2e38aa8d4a4943086c4a83f386fd721067ce15f51a38d7860a52ccd70

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.8.9-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.9-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d2058ade0165a9a67a69b094077aa273616cb952f826ae491a1257893bed0133
MD5 8e2d5b2236f5878f5057f0c8f22341d4
BLAKE2b-256 65dd135ccd9dbc2bd7275c62651e7b16fc6f2ac546b162a81bd8ef5b8f643828

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.8.9-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.9-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 32a12d58b461224676deac96114f3f1db8e5518abd99156abead4378e4c5422b
MD5 7bf1eaee9ff5da987779f6960232bc8b
BLAKE2b-256 a37b293cbffd1589d9f2eb1911638e9467a803d0fe86686e44b14d271df1c30a

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.8.9-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.9-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0ca96e97fe48379a3f3d25a0238c41db6c304802c4ffba8e71a8ca2824613589
MD5 bcbd0377e477b752f13ccfc05a00d87c
BLAKE2b-256 fe50dcf818c69618b9d351f2f38b205e7ef1db4ee676323ff00d1e9e92cd532b

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.8.9-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.9-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 580a89cb87e77bed07d5a7ac75180a6a236dc0658e2c870db4a8c9420bc7c3d5
MD5 d861eccfaf0830ebfaa0d4a6f81332cf
BLAKE2b-256 5e33e924b4e1c75c6a133fd9b9649aa71d1dd775b48e8daae210c518611ffd8c

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.8.9-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.9-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 502f5860243d488b09d3f8c33b8284de1c8335da8b51370b687028e25fabebf5
MD5 8b70200469837abe2aa70011e5a9d0ba
BLAKE2b-256 db84b0ca944a51318657edf4be12bdac2bcb7b4a18cececcbb0e44637af9d880

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page