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.8.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.8-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.8-cp314-cp314t-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

passagemath_rubiks-10.8.8-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.8-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.8-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.8-cp314-cp314t-macosx_13_0_arm64.whl (214.6 kB view details)

Uploaded CPython 3.14tmacOS 13.0+ ARM64

passagemath_rubiks-10.8.8-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.8-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.8-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.8-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.8-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.8-cp312-abi3-macosx_13_0_arm64.whl (214.3 kB view details)

Uploaded CPython 3.12+macOS 13.0+ ARM64

passagemath_rubiks-10.8.8-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.8-cp311-cp311-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

passagemath_rubiks-10.8.8-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.8-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.8-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.8-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.8.tar.gz.

File metadata

  • Download URL: passagemath_rubiks-10.8.8.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.8.tar.gz
Algorithm Hash digest
SHA256 4acf925f568c97afd07f85c21b0983974d402fd7370f93d8cc4e89b81c1b9975
MD5 a7e9419b483dea2975ed7bb6709cc6fe
BLAKE2b-256 f5e89927fea892d7774203dcea7c367541c584b7cdf09d7b2cea956b225e8c8d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.8-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1cb72654551b934c329961450bc2cb7e8a1c5b73236fabf36ea650b59006d9b2
MD5 bcba439973680d60693a2157dbdfed36
BLAKE2b-256 320094b2d1ffc0163f02a7209d672c69f7f70f8742de24373454726d55f96bb3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.8-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1ff8f045b31b6f31d801e00365a4404f9c492de80526b46f690986f8a2694d56
MD5 101142ab44de904d45cee016f3e86784
BLAKE2b-256 06a27dd89be7eb89640d0aa050d224588bdd913eedf880e743e89b05d07a38aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.8-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eb9312a94fa841bc759df1169612fe1350e82d82db0891794533416314fbfc7a
MD5 54e7a2930edf253fbb771434bd18886f
BLAKE2b-256 39c1c2e0afd6cf45dd87c259382769fbc16f62714458f9a0799cb0915d81eb12

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.8-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0952faa3097ddc5ce49ee7f8e5a85641f05b5bd5893aa89e6b4e3effd9cdf3df
MD5 cbd2b50aab9c7ea2dbd00d601ae050e4
BLAKE2b-256 9d838e1292c01c71a06904079240f1d6d439d86ffa1d1478673ddc15022caa78

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.8-cp314-cp314t-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 a3d0b78562161f7f669fbe155c247c98bbb3c8cba50d3f014a64c39dc11dbb74
MD5 4c5d9175e99657dd810fdc735b26172e
BLAKE2b-256 3b8735942a3027ca1463014899384cc2a573f17b16ae1a8087094149408c32ec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.8-cp314-cp314t-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 333d1148e9f972fe1eb83486e7348cff4dfc039459d3e4c8e74a561f2dd17cd6
MD5 669f6c2caef1e4a114132f6167888982
BLAKE2b-256 e140f4892bf6a1b0c658e2c11a09444ac4e5a3391b550073b89217781a37188e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.8-cp312-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 882b885377c3d43b1cec7dfc6295bdf71a16b6fc045bb6eae94911150213a0b3
MD5 0c55947db758a9c6c046840a14b02b4d
BLAKE2b-256 eae929bbaff9d5d6131e339653a936ba27ea1d8289349cdcbdc64f4904a8727d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.8-cp312-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0459df026d89c9390c7bdaeaecba326997ef82e0c66f961aaca55e1307094e51
MD5 59503a2c5a12ebf7d445f12bd3b83a82
BLAKE2b-256 8f9cb26961f276fdfd0d7a8eedf5fe8aa9d414f2296c4555554979b46d76d6e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.8-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6adae2bfd2a8a5cd1d9ebcbd0205dcbee60970e809d14ef53f12b8929817d68a
MD5 41165663d2217b3cb57197a88298c06e
BLAKE2b-256 ade6b569d25b968b7e441bdad0dc0cdf3de5ab2aa0ed998c5a0507cb0793c0e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.8-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e95f3fddc323c6dd8de67d25bab0c04004a81556bd7f11eb2cebe2c7d45e760a
MD5 379266a3cb480377917eba951611e437
BLAKE2b-256 1ed6accd5c58c24f181956bb07b962551ce01e546bcd5c4268546002e04c9f41

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.8-cp312-abi3-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 d48d86792ca6bb671ff2f2a6109198b54e3bc56caac37cea60cb080535a76d20
MD5 f7ca4fe3aeb7b839088bdd21419a7223
BLAKE2b-256 6ade01617042efb5acc0e1a11a6064b5740fc046de424adadb92f67d3aba97d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.8-cp312-abi3-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 765a732716df5ce50192b80d0491e71c9907670ebb5bdc150190f02413e3eaf2
MD5 b8048e6d58cdd880136061743ed0cd14
BLAKE2b-256 533dbf79b2c1b5a52977ec034f2ad532ff19e885d27a047e654e718f552ffbaa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.8-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ac332c4f5ef16ed1e3cc206a0c75fd921a177372b7b8370a8bf0cc2f78e76dcb
MD5 67b7fceeca6650de7aed0e61c8e3a626
BLAKE2b-256 2f92b80823a87331f3299fe9a7ff1e7c29f612d3b2f00bb5ba110f4994e2c31f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.8-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 11a0a73d4e1185b75432b92d9055c6c4a918d9f5b3a759eb18ee87310088325c
MD5 db601ed0c09b7b59d2d491c8e10dc7da
BLAKE2b-256 b1129bd12f10736a5a5a6ad9060c60750cd7c8583412878c1d663f7a9fce1bfc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.8-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3be7c58b72e3435b6aadee3083fc4eebfb867992757339c8806e60693027abd3
MD5 0cd6e253ab531d6be9582416a4017bb0
BLAKE2b-256 51e1554fe05ce235f214fb06c371aa84300af897a04f862ddc7d3e7a7bc8fd46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.8-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4cd8de1fb2a3cf23632e2459cd459b01a4835031770f5938022dabd8d19e1c36
MD5 d8d9d50f6f0f50fdde91fa3291ca1a49
BLAKE2b-256 21a2f3ee7b9451be030122406e0e12185e16d87686389f56312ec06f32620cb4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.8-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 99ea6bc4df659ff157dfa316cb166fd1bf7ccd11248fc5cd3be13154a351f511
MD5 7c048ff157ff59429d5fbb0b6fe55b26
BLAKE2b-256 a93f75a8ad282b25b6167ef3cf49b575e560aa36926865df8588bef85a7cd840

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.8.8-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 9d6c64b2b21fc70a6b1aca860bcc5adec825cfa12059a06d8941a4e7ff21998d
MD5 3b017de6472cb3324b3663260f57bf1b
BLAKE2b-256 ab4291f4deab60889f7320f3ce568cf11e62aee9e8d09c73b34b952171215d6e

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