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-cmr is a small optional distribution for use with passagemath-modules and passagemath-graphs.

It provides a Cython interface to the CMR library, which implements recognition and decomposition algorithms for:

  • Totally Unimodular Matrices

  • Network Matrices

  • Complementary Totally Unimodular Matrices

  • (Strongly) Equimodular and Unimodular Matrices

  • Regular Matroids

  • Graphic / Cographic / Planar Matrices

  • Series-Parallel Matroids

Examples

$ pipx run --spec "passagemath-cmr[test]" ipython

In [1]: from passagemath_cmr import *

In [2]: from sage.matrix.matrix_cmr_sparse import Matrix_cmr_chr_sparse

In [3]: M = Matrix_cmr_chr_sparse(MatrixSpace(ZZ, 3, 3, sparse=True), [[1, 0, 1], [0, 1, 1], [1, 2, 3]]); M
Out[3]:
[1 0 1]
[0 1 1]
[1 2 3]

In [4]: M.is_unimodular()
Out[4]: True

In [5]: M.is_strongly_unimodular()
Out[5]: False

Development

$ git clone --origin passagemath https://github.com/passagemath/passagemath.git  # or use your fork
$ cd passagemath
passagemath $ ./bootstrap
passagemath $ source ./.homebrew-build-env         # on macOS when homebrew is in use
passagemath $ export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/wsl/lib  # on WSL
passagemath $ export PIP_CONSTRAINT="$(pwd)/constraints_cmr.txt"
passagemath $ export PIP_BUILD_CONSTRAINT="$(pwd)/constraints_cmr.txt"
passagemath $ echo "passagemath-categories @ file://$(pwd)/pkgs/sagemath-categories" >> constraints_cmr.txt
passagemath $ echo "passagemath-modules @ file://$(pwd)/pkgs/sagemath-modules" >> constraints_cmr.txt
passagemath $ python3 -m venv cmr-venv
passagemath $ source cmr-venv/bin/activate
(cmr-venv) passagemath $ pip install -v -e pkgs/sagemath-cmr        \
                                        -e pkgs/sagemath-modules    \
                                        -e pkgs/sagemath-categories

Modularized use:

(cmr-venv) passagemath $ pip install -v passagemath-repl
(cmr-venv) passagemath $ sage
... sage.all is not available ...
sage: from passagemath_modules import *
sage: matroids.Uniform(3, 4)
U(3, 4): Matroid of rank 3 on 4 elements with circuit-closures
{3: {{0, 1, 2, 3}}}

In plain Python:

(cmr-venv) passagemath $ python3
>>> from passagemath_modules import *
>>> matroids.Uniform(3, 4)
U(3, 4): Matroid of rank 3 on 4 elements with circuit-closures
{3: {{0, 1, 2, 3}}}

For full functionality of Sage:

(cmr-venv) passagemath $ pip install -v passagemath-standard
(cmr-venv) passagemath $ sage
sage: matroids.Uniform(3, 4)
U(3, 4): Matroid of rank 3 on 4 elements with circuit-closures
{3: {{0, 1, 2, 3}}}

Download files

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

Source Distribution

passagemath_cmr-10.10.1a0.tar.gz (61.8 kB view details)

Uploaded Source

Built Distributions

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

passagemath_cmr-10.10.1a0-cp315-cp315t-macosx_13_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.15tmacOS 13.0+ ARM64

passagemath_cmr-10.10.1a0-cp315-cp315-macosx_13_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.15macOS 13.0+ ARM64

passagemath_cmr-10.10.1a0-cp314-cp314t-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.14tWindows x86-64

passagemath_cmr-10.10.1a0-cp314-cp314t-macosx_13_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.14tmacOS 13.0+ ARM64

passagemath_cmr-10.10.1a0-cp314-cp314-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.14Windows x86-64

passagemath_cmr-10.10.1a0-cp314-cp314-macosx_13_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.14macOS 13.0+ ARM64

passagemath_cmr-10.10.1a0-cp313-cp313-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.13Windows x86-64

passagemath_cmr-10.10.1a0-cp313-cp313-macosx_13_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64

passagemath_cmr-10.10.1a0-cp312-cp312-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.12Windows x86-64

passagemath_cmr-10.10.1a0-cp312-cp312-macosx_13_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

File details

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

File metadata

  • Download URL: passagemath_cmr-10.10.1a0.tar.gz
  • Upload date:
  • Size: 61.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for passagemath_cmr-10.10.1a0.tar.gz
Algorithm Hash digest
SHA256 2e8c478c9e6f447b0701c385f8f20bb592d29e2b38f708d8d6ba0633a7e30bfc
MD5 f033e7968e9049f620671cb921b8b8e4
BLAKE2b-256 e3f4be94315930d1fe42fc028ff2a8818ec0db87c2c7688b4a463efd285cbf61

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_cmr-10.10.1a0-cp315-cp315t-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 f20e7b96b8fc556703683cafe4e0d7d6a4076f8b01de9a9baf73256283b840a4
MD5 3543f1c69959c9ba5bac9548d0c04bd6
BLAKE2b-256 67af53ce14d80c717f5ff73599b747b0b410b3f3522f140c67d607faf475286c

See more details on using hashes here.

File details

Details for the file passagemath_cmr-10.10.1a0-cp315-cp315-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for passagemath_cmr-10.10.1a0-cp315-cp315-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 cc5c86b8a3d5c3cc87b7eca1d2e6c2ad709482810321b7707e434d8018a80063
MD5 872a70398209d8a972b3f1819227d340
BLAKE2b-256 6832cdadd0b9123ef8497756c9d19e70b2fba0f94df6821d309b54138c44ec57

See more details on using hashes here.

File details

Details for the file passagemath_cmr-10.10.1a0-cp314-cp314t-win_amd64.whl.

File metadata

File hashes

Hashes for passagemath_cmr-10.10.1a0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 6f2b1aa23392f8deb9e647d4bfc8f0793bea00d273f09d01713c9cd2aefaa9a4
MD5 03f5cba716bf743e3d2e48512b876240
BLAKE2b-256 f309ac8ca4e5598cf1affdd31b0800129adc2c7364e436d07452439caa73ec28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_cmr-10.10.1a0-cp314-cp314t-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 0949be2e1d6ebac339fdd6eaa60302af1f3b0a4a998213780cd4203532e826c4
MD5 79dfc5e08b816b01334d198ce6c73bcf
BLAKE2b-256 2d5548ea3de75e47b28992ce7eb2381eca1119fb64a6ae8c11b4439f72474afe

See more details on using hashes here.

File details

Details for the file passagemath_cmr-10.10.1a0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for passagemath_cmr-10.10.1a0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 87935297c892bfd30cd2548df11646d387dc16dcfdadb3a85e2f37d9b85e3672
MD5 7d4852b1de712ed81c91ed1f128c9835
BLAKE2b-256 815033325ad2eb7808b13980d5d28057d605852ac0968ddaa4b055b76b723bc3

See more details on using hashes here.

File details

Details for the file passagemath_cmr-10.10.1a0-cp314-cp314-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for passagemath_cmr-10.10.1a0-cp314-cp314-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 412b30b44b579237149d9f2c55a4650d4a2c4429dc30688102119f7ffeac0473
MD5 dcd1b82d6b3fa6273752621298a4b9cc
BLAKE2b-256 c898d215ac6ad279ece98d686503335459f5ffd63d84886331dfb2ca363bfade

See more details on using hashes here.

File details

Details for the file passagemath_cmr-10.10.1a0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for passagemath_cmr-10.10.1a0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 90a72087c5f3f7e9af648a5047b98077fc09f52134f20c413f43acc4a369aae4
MD5 f3540c31da1d72b8bedfd12b69de385f
BLAKE2b-256 7e05aca8e0113e01acd634947570e03a2fbcf9fb2b954b7e72252e5cce62802f

See more details on using hashes here.

File details

Details for the file passagemath_cmr-10.10.1a0-cp313-cp313-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for passagemath_cmr-10.10.1a0-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 c4478c37f0f5cf054b254df2a950932b38517eddd576a529eeee82adf1e86d66
MD5 451e653caa7853e5a39173e534e4ac0f
BLAKE2b-256 2375949e7e7771284d7c41dba7d80a4aa21324d8f121b75d261d49acc2aaaeec

See more details on using hashes here.

File details

Details for the file passagemath_cmr-10.10.1a0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for passagemath_cmr-10.10.1a0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 bc6a3bc2da74222d9882872a6d62f3d36c7074a705f775215e5a5b7624ecb69b
MD5 1281ccc451e2a145e6ca1b3b5f3a7632
BLAKE2b-256 5675b3965ec79a2cb3eff54a42f7f473e57b4f3393dded15c2a4cd43768402e0

See more details on using hashes here.

File details

Details for the file passagemath_cmr-10.10.1a0-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for passagemath_cmr-10.10.1a0-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 b978d6ec33d349c37d8f49ea586d4b18e3c239e7050e2ae9dd6d72d5bfc2a429
MD5 f797ca443d92f00d3603e4c72f6d37d6
BLAKE2b-256 301807839dea39e2f64cbf05e48f2361cb07bd28ad6f695625fb5819519a3c9a

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

10.10.1a0 This release

11 files

10.8.10

36 files

10.8.9

36 files

10.8.8

36 files

10.8.7

36 files

10.8.6

36 files

10.8.5

36 files

10.8.4

41 files

10.8.3

41 files

10.8.2

41 files

10.8.1

41 files

10.6.48

43 files

10.6.47

43 files

10.6.42

43 files

10.6.28

29 files

10.5.49

31 files

10.5.29

11 files

10.5.24

6 files

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