Skip to content
@passagemath

passagemath

General purpose mathematical software system, fork of SageMath supporting modularized installation with pip

passagemath: General purpose mathematical software system in Python, a pip-installable modularized fork of SageMath

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-2025 under the motto "Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, and MATLAB".

The passagemath fork was created in October 2024 with the following goals:

Full documentation is available online.

passagemath community

Join passagemath.discourse.group for help and discussions.

Join the BlueSky platform and follow @passagemath.org to receive announcements.

People all around the globe have contributed to the development of SageMath since 2005, and hence of passagemath.

See CONTRIBUTING.md for how you can contribute.

passagemath is a major integrating force in the mathematical software landscape.

Invitations to the passagemath GitHub organization: If you received an invitation to join the organization, note that we send out invitations to the organization:

  • to contributors to the upstream SageMath project, in particular when we merge their nontrivial contributions that were accepted into SageMath into the passagemath codebase, as a courtesy,
  • to key stakeholders of upstream projects that passagemath depends on, as a gesture of appreciation and to extend an invitation to collaborate,
  • to authors and contributors of downstream packages that depend on SageMath / passagemath, as an invitation to the passagemath ecosystem,
  • to downstream packagers.

Becoming a member of the passagemath GitHub organization is free and does not imply any obligations other than to adhere to the organization's Code of Conduct.

passagemath in the mathematical software landscape

The passagemath project is a major integrating force in the mathematical software landscape. There are many ways to contribute: Follow the #issue numbers to see how you can help; for example, by surveying software, building or extending interfaces, or contributing to distribution packaging.

In the passagemath distribution Not in the passagemath distribution
Upstream non-Python math software – standard packages cddlib, eclib, ecm, fflas_ffpack, FLINT #31408, fplll, GAP, gf2x, gfan, giac, givaro, glpk, GMP, GSL, IML, lcalc, libbraiding, libhomfly, LinBox, lrcalc, m4ri, m4rie, Maxima, mpc, mpfi, mpfr, nauty, NTL, OpenBLAS, palp, PARI, planarity, PPL, primecount, primesieve, rw, Singular, suitesparse, symmetrica, sympow
– optional packages 4ti2, bliss, brial, cbc, cmr, coxeter3, csdp, dsdp, fricas, frobby, glucose, igraph, kenzo, kissat, libsemigroups, lidia, lrslib, macaulay2, mcqd, meataxe, mpfrcx, msolve, normaliz, papilo, plantri, polymake, qepcad, rubiks, saclib, scip, scip_sdp, sirocco, soplex, tdlib, tides, topcom Free software that Sage interfaces to: Octave, R, ...; Non-free software that Sage interfaces to: Magma, Maple, Mathematica, CPLEX, Gurobi, ...
– unused packages barvinok, cocoalib, isl, polylib, SymEngine, ... #33773 sagemath.org links, Open-source CAS, SoftwareToIntegrate, SoftwareSurveys #33725, Python optimization packages #26511, polyhedral geometry packages, swMATH.org, math databases #30914
Upstream Python math software – standard packages CVXOPT, fpylll, gmpy2, mpmath, NetworkX, NumPy, pplpy, primecountpy, rpy2, SciPy, SymPy, ...
– optional packages CVXPY, CyLP, Py4ti2, pycosat, pycryptosat, PyNormaliz, pyscipopt, python_igraph
Upstream distributions Lists of equivalent system packages in distributions Distributions providing system packages: homebrew, conda-forge, archlinux, ... #27330
Sage library: – absorbed libraries GiNaC/Pynac #33401, giacpy, sage_brial
– namespace packages sage.algebras.*, sage.arith.*, sage.calculus.*, sage.categories.*, sage.coding.*, sage.combinat.*, sage.crypto.*, sage.dynamics.*, sage.functions.*, sage.game_theory.*, sage.geometry.*, sage.graphs.*, sage.groups.*, sage.homology.*, sage.knots.*, sage.lfunctions.*, sage.manifolds.*, sage.matrix.*, sage.matroids.*, sage.modular.*, sage.monoids.*, sage.numerical.*, sage.plot.*, sage.probability.*, sage.quadratic_forms.*, sage.rings.*, sage.sets.*, sage.schemes.*, sage.symbolic.*, sage.tensor.*, sage.topology.*, ...
– absorbed Sage extensions Sage-Combinat, SageManifolds
passagemath: Modularized pip-installable packages – named after a basic mathematical structure PyPI: passagemath-combinat PyPI: passagemath-graphs PyPI: passagemath-groups PyPI: passagemath-modules PyPI: passagemath-polyhedra PyPI: passagemath-schemes PyPI: passagemath-symbolics
– named after a standard third-party non-Python dependency PyPI: passagemath-cddlib PyPI: passagemath-cliquer PyPI: passagemath-ecl PyPI: passagemath-eclib PyPI: passagemath-flint PyPI: passagemath-gap PyPI: passagemath-gfan PyPI: passagemath-giac PyPI: passagemath-glpk PyPI: passagemath-homfly PyPI: passagemath-lcalc PyPI: passagemath-libbraiding PyPI: passagemath-libecm PyPI: passagemath-linbox PyPI: passagemath-maxima PyPI: passagemath-nauty PyPI: passagemath-ntl PyPI: passagemath-palp PyPI: passagemath-pari PyPI: passagemath-planarity PyPI: passagemath-rankwidth PyPI: passagemath-singular PyPI: passagemath-sympow
– named after an optional third-party non-Python dependency PyPI: passagemath-benzene PyPI: passagemath-bliss PyPI: passagemath-brial PyPI: passagemath-buckygen PyPI: passagemath-cmr PyPI: passagemath-coxeter3 PyPI: passagemath-fricas PyPI: passagemath-frobby PyPI: passagemath-glucose PyPI: passagemath-kenzo PyPI: passagemath-kissat PyPI: passagemath-latte-4ti2 PyPI: passagemath-lrslib PyPI: passagemath-macaulay2 PyPI: passagemath-mcqd PyPI: passagemath-meataxe PyPI: passagemath-msolve PyPI: passagemath-plantri PyPI: passagemath-qepcad PyPI: passagemath-rubiks PyPI: passagemath-sirocco PyPI: passagemath-tdlib PyPI: passagemath-topcom
– named after a technical functionality PyPI: passagemath-objects PyPI: passagemath-categories PyPI: passagemath-environment PyPI: passagemath-plot PyPI: passagemath-repl PyPI: passagemath-standard PyPI: passagemath-standard-no-symbolics PyPI: passagemath-conf PyPI: passagemath-setup PyPI: passagemath-docbuild
Downstream software SageTeX, In-distribution Sage user packages: admcycles, sage-flatsurf, ... External Sage user packages #31164, GAP-homalg
User interfaces Jupyter, JupyterLab #30399 Emacs sage-shell-mode, Interfaces, IDEs #30500
Downstream distributions SageMath distribution #33774, Sage Docker images, wheels #31251 Distributions carrying SageMath: conda-forge, archlinux, debian/ubuntu, fedora, sage-on-gentoo, nix, voidlinux, ... #33775; Third-party Docker images
Downstream deployments Gitpod #33113 Running SageMath in the cloud: CoCalc, SageCell, Binder
Downstream of downstream Devcontainers #33671, #34363

Full installation of passagemath from binary wheels on PyPI

passagemath attempts to support all major Linux distributions and recent versions of macOS. Use on Windows currently requires the use of Windows Subsystem for Linux or virtualization.

Complete sets of binary wheels are provided on PyPI for Python versions 3.9.x-3.13.x for Linux and macOS, both for the x86_64 and ARM architectures.

Unless you need to install passagemath into a specific existing environment, we recommend to create and activate a fresh virtual environment over a suitable Python (3.9.x-3.13.x), for example ~/passagemath-venv/:

$ python3 --version
Python 3.12.7
$ python3 -m venv ~/passagemath-venv
$ source ~/passagemath-venv/bin/activate

For Python 3.13.x on any platform, and for any Python version on the Linux aarch64 (ARM) and macOS arm64 (Apple Silicon M1/M2/M3/M4) platforms, some third-party packages are still missing wheels. Build these wheels from source using PyPI: passagemath-conf

(passagemath-venv) $ export SAGE_CONF_TARGETS="fpylll gmpy2 lrcalc_python memory_allocator pplpy primecountpy"
(passagemath-venv) $ pip install --force-reinstall -v passagemath-conf
(passagemath-venv) $ export PIP_FIND_LINKS=$(sage-config SAGE_SPKG_WHEELS)
(passagemath-venv) $ export PIP_PREFER_BINARY=1

Then install the meta-package PyPI: passagemath-standard

(passagemath-venv) $ pip install -v --prefer-binary passagemath-standard

Start the Sage REPL:

(passagemath-venv) $ sage

Alternatively, use a Python or IPython REPL, or use a Python or Sage kernel in Jupyter.

Pinned Loading

  1. passagemath passagemath Public

    General purpose mathematical software system, fork of SageMath supporting modularized installation with pip

    Python 27 3

Repositories

Showing 10 of 22 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Most used topics

Loading…