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 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:

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 key stakeholders of upstream projects that passagemath depends on, as a gesture of appreciation and to extend an invitation to collaborate,
  • 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 authors and contributors of downstream packages that depend on SageMath / passagemath, as an invitation to the passagemath ecosystem,
  • to downstream packagers.

As of 2025-08-20, the passagemath GitHub organization had 120 members. 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. Membership is private by default, i.e., only shown to other members of the organization.

🐙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 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, rpy2, SciPy, SymPy, ...
– optional packages CVXPY, CyLP, Py4ti2, pycosat, pycryptosat, PyNormaliz, pyscipopt, python_igraph
– pip-installable mathematical databases conway-polynomials, database-cubic-hecke, database-knotinfo, matroid-database
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 mathematical structure
PyPI: passagemath-categories 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-ppl PyPI: passagemath-primesieve-primecount PyPI: passagemath-rankwidth PyPI: passagemath-singular PyPI: passagemath-sympow PyPI: passagemath-tachyon
– 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-coin-or-cbc PyPI: passagemath-coxeter3 PyPI: passagemath-cplex PyPI: passagemath-fricas PyPI: passagemath-frobby PyPI: passagemath-gap-pkg-semigroups PyPI: passagemath-glucose PyPI: passagemath-gurobi 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-conf PyPI: passagemath-docbuild PyPI: passagemath-environment PyPI: passagemath-objects PyPI: passagemath-plot PyPI: passagemath-repl PyPI: passagemath-setup PyPI: passagemath-standard PyPI: passagemath-standard-no-symbolics
🐙passagemath: pip-installable mathematical databases PyPI: passagemath-database-cremona-ellcurve PyPI: passagemath-database-cunningham PyPI: passagemath-database-jones-numfield PyPI: passagemath-database-kohel PyPI: passagemath-database-mutation-class PyPI: passagemath-database-odlyzko-zeta PyPI: passagemath-database-polytopes-4d PyPI: passagemath-database-symbolic-data PyPI: passagemath-gap-pkg-ctbllib-data PyPI: passagemath-gap-pkg-factint-data PyPI: passagemath-gap-pkg-irredsol-data PyPI: passagemath-gap-pkg-primgrp-data PyPI: passagemath-gap-pkg-smallgrp-data PyPI: passagemath-gap-pkg-tomlib-data PyPI: passagemath-gap-pkg-transgrp-data PyPI: passagemath-pari-elldata PyPI: passagemath-pari-galdata PyPI: passagemath-pari-galpol PyPI: passagemath-pari-nflistdata PyPI: passagemath-pari-nftables PyPI: passagemath-pari-seadata PyPI: passagemath-pari-seadata-big PyPI: passagemath-pari-seadata-small
Downstream software SageTeX, In-distribution Sage user packages: admcycles, sage-flatsurf, ... External Sage user packages #31164, GAP-homalg, Lean / mathlib
User interfaces Jupyter kernels for notebook and JupyterLab PyPI: passagemath-macaulay2-jupyterkernel PyPI: passagemath-singular-jupyterkernel PyPI: passagemath-gap-pkg-jupyterkernel 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 of the full functionality 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.10.x-3.13.x for Linux and macOS, both for the x86_64 and ARM architectures. Binary wheels for native Windows (x86_64) are gradually made available in the passagemath 10.6.x series.

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.10.x-3.13.x), for example ~/passagemath-venv/:

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

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 the Python kernel or the provided Sage kernel in Jupyter.

Other installation modes and details

The passagemath/passagemath repository README provides detailed instructions:

🐙passagemath repositories

The passagemath GitHub organization includes the following repositories:

Repository Contents
upstream-... Repositories (forks) of upstream packages (dependencies of the Sage library)
passagemath Main passagemath repository:
Sage library (src), modularized pip-installable packages (pkgs), Sage distribution (build)
passagemath-... Repositories of separately maintained pip-installable passagemath components:
🐙-coin-or-cbc, 🐙-cplex, 🐙-gap-pkg-jupyterkernel, 🐙-gurobi, 🐙-macaulay2-jupyterkernel, 🐙-ppl, 🐙-primesieve-primecount, 🐙-singular-jupyterkernel
passagemath-pkg-... Repositories (forks) of downstream packages
(depending on the Sage library via modularized pip-installable packages)
downstream-... Repositories (forks) of downstream packaging of passagemath in software distributions

Pinned Loading

  1. passagemath passagemath Public

    General purpose mathematical software system, compatible fork of https://github.com/sagemath/sage supporting modularized installation with pip. Main repository, containing Sage library (src/), modu…

    Python 36 9

Repositories

Showing 10 of 153 repositories

Most used topics

Loading…