Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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.10.1a0.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.10.1a0-cp315-cp315t-musllinux_1_2_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.15tmusllinux: musl 1.2+ x86-64

passagemath_rubiks-10.10.1a0-cp315-cp315t-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.15tmusllinux: musl 1.2+ ARM64

passagemath_rubiks-10.10.1a0-cp315-cp315t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

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

passagemath_rubiks-10.10.1a0-cp315-cp315t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.0 MB view details)

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

passagemath_rubiks-10.10.1a0-cp315-cp315t-macosx_13_0_x86_64.whl (213.3 kB view details)

Uploaded CPython 3.15tmacOS 13.0+ x86-64

passagemath_rubiks-10.10.1a0-cp315-cp315t-macosx_13_0_arm64.whl (214.7 kB view details)

Uploaded CPython 3.15tmacOS 13.0+ ARM64

passagemath_rubiks-10.10.1a0-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.10.1a0-cp314-cp314t-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

passagemath_rubiks-10.10.1a0-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.10.1a0-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.10.1a0-cp314-cp314t-macosx_13_0_x86_64.whl (213.3 kB view details)

Uploaded CPython 3.14tmacOS 13.0+ x86-64

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

Uploaded CPython 3.14tmacOS 13.0+ ARM64

passagemath_rubiks-10.10.1a0-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.10.1a0-cp312-abi3-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.12+musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12+macOS 13.0+ ARM64

File details

Details for the file passagemath_rubiks-10.10.1a0.tar.gz.

File metadata

  • Download URL: passagemath_rubiks-10.10.1a0.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.10.1a0.tar.gz
Algorithm Hash digest
SHA256 cebb590540d9153fc68c22efa0b4995c850f4ed7242a5c5c9807693133768b2d
MD5 43f7e3480bd65cfc31c45d5fa308644f
BLAKE2b-256 2ddbaf49eaafd29f1808a77d1027d90c0c582bc211dee59afd62ea1e020171ed

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.10.1a0-cp315-cp315t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.10.1a0-cp315-cp315t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e521eb6916b10ebabaf170a724e94634e289ebd5bae11dae49e69356d15404e9
MD5 e5c3f5b64e9ae1c19e295d6e96080d75
BLAKE2b-256 b1500f93688f1872570d58b1458d072b5a528ba8f1eb58451c1461542a6143fa

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.10.1a0-cp315-cp315t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.10.1a0-cp315-cp315t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bcca31680d7d27d9c28d6630706d394c5ccff979d6f36426f7e2986c3e1dc965
MD5 030a0b1a63b8ae3ef677d34cac1948d4
BLAKE2b-256 59a206c8e3390d6c4bca4a3698b89077063a239c809650b87a874a59a308380d

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.10.1a0-cp315-cp315t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.10.1a0-cp315-cp315t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ed20584889b96399d309079525d74128ab4deb0b0aacda7cd06021a8904e16fe
MD5 51f609fa4e5e95d4340078cb138d20cd
BLAKE2b-256 c614e054542564505b49f2dfaace2495165732ad6476a8d2cd4f8799996696a1

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.10.1a0-cp315-cp315t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.10.1a0-cp315-cp315t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 76d95b12e0aa1e7e5b28758f99ef87f2dc5b3e3ce07f59e2e8a1a6aa39633aaf
MD5 bc50ebc785116a60ba5f2bc4fa8f6750
BLAKE2b-256 37b5d9501d7a5bc895e3a909a0c09e617c1bf35607abd8ae6f2454f8cf3ce63c

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.10.1a0-cp315-cp315t-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.10.1a0-cp315-cp315t-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 bbd7955fd5153c5b0107598694a87511c15dc87b6494d3b415dee1e8557762d6
MD5 1039a5383a050dc9f28a84afd6070e7a
BLAKE2b-256 402a36387b00ad2a650feb65d51087c110ae4041a26b02603a7678873a4cecc4

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.10.1a0-cp315-cp315t-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.10.1a0-cp315-cp315t-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 613373aa1bfb1b2d591dbbc50b12aa0c1a6d99d07d5dee582011c73dfe379d52
MD5 381dfd7882b7bd85c93f2332d74c50a6
BLAKE2b-256 1e2ebfd059c5ebdaf57d7eaad2f9c9e89481675b670c3319b7ed3aa331d39806

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.10.1a0-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.10.1a0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 370dd1e5884109168c087d60e4c619d30e70408c4eef658d22b524f7ddf106cd
MD5 2350c84b7a0161bc4d020d9170ddf0ff
BLAKE2b-256 edf49b559f87d5709e2ada97d925418c087fa0a07bdd7854ef1cbeba9e55e0b2

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.10.1a0-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.10.1a0-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c1f269a1c4ae99596a19b468b191f7ee56cd183ccd265cf7c60ad787ba393053
MD5 245ba4d78d461a4976cafb39faef4c00
BLAKE2b-256 14fb9eec45737666d8bffeb9cd6a239a4bfc80363c5fb96e404460bc799a5b20

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.10.1a0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 609ed9681c72489d47edc0dcb447bd140472563092a8ea220619f06bc84ebbb2
MD5 8fc5431900e00570d2c5639f2610aadb
BLAKE2b-256 4bef3a513dab1db41814f4d0798e4431e85a7212296d746af3f2ee39e917ef15

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.10.1a0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a3f31348896a7db4c94c13cc46cb5e29c6246a5a3f58fdaee342f8de2bea8c99
MD5 d1b34b5ae13c023f406cb425a438f6b9
BLAKE2b-256 3ee0e954b7c767805b56752cf21953ab21b5f86177e7a1af50b1be5c11f611e3

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.10.1a0-cp314-cp314t-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.10.1a0-cp314-cp314t-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 796f152063fbc0d989d45b1c5f3dbfb9beb10c8d2c2dda52b79dfb753aac6fb8
MD5 baee8bec79d3cc580aa55520e99f9b79
BLAKE2b-256 34b6b8bb1fc7a3bcdec46ec51f6e31543d74e8d8fa058c1d7eb2a1e8ae890196

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.10.1a0-cp314-cp314t-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.10.1a0-cp314-cp314t-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 8a190abd031ff0ec0b14e1b5846fabe8ac771105f134b2cbd8e9cb6e422608fb
MD5 f5bf8881ef37eb77ac73f0781ff0ca93
BLAKE2b-256 e03ce6c8b4277c8da87563cc077cfd159c95ff066a1d443fa70f0860588ce093

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.10.1a0-cp312-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.10.1a0-cp312-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f89e6e6d5aa1d16ab94ccec450ca1d4ef2edf6ef80ff76ad87edd8e10352516c
MD5 4d43fe42730d71373ad11cfe9a24f17c
BLAKE2b-256 97d18cd0a1d109b4317cf9ea3cd1514691bc033bd030b681ae7d7188e4d9486e

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.10.1a0-cp312-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.10.1a0-cp312-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e13cd0f07fef7a84e3f4b2452c59fa7b5ae6b77e620ea566c77220ce265b331c
MD5 0ea7fd94a443aceccd69cef154f9f71c
BLAKE2b-256 22053825d6c739b36b0935d938585627dbad99811ec2819f74f52a77fe4ff7c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.10.1a0-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fc6b784f282788c82c42dadadc3e7a13fcbf22d25c19bee44e94d72ce12048b2
MD5 0c1bcf03028502a18c8954837fcdc265
BLAKE2b-256 14e6dd93aadbbb86432bd3cbde7b1270abc79b171d41520f012fa14188b5c4e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_rubiks-10.10.1a0-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7d3f73f2db80c4d38fad02cd369a6f21f24ecfb50e3ceb38790ade7deb91f798
MD5 390f9ed2b51a1aa06feaab3b833b3234
BLAKE2b-256 88645ab77d7af45ce29c293f4a33ee9fc39862395a29ef9453a78a2e7b58ddff

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.10.1a0-cp312-abi3-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.10.1a0-cp312-abi3-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 59148eeb732180df01792200983c020a30def506fe8992e37702b31249131ae4
MD5 71ca3f2c44b40e4fa789099e77875633
BLAKE2b-256 b8fc0248af15c420230b24c5d75a17146d716225c50fd511fce2fa9430a62b62

See more details on using hashes here.

File details

Details for the file passagemath_rubiks-10.10.1a0-cp312-abi3-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for passagemath_rubiks-10.10.1a0-cp312-abi3-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 a62934718459306955d9c9a4179f7fad151b778b718b44cdcfa9fd161f4bef7d
MD5 b76fbed47b916ef982c071d286c895fd
BLAKE2b-256 76aa823a375f86d4ab39be21d020da0f84fe456c2b240a9edeb1cf330214ae16

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