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:

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.

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.14.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.14.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 community

Join the Scientific Python Discord server and visit the #passagemath channel.

Join the BlueSky platform and follow @passagemath.org to receive announcements. On Mastodon / in the Fediverse, follow @[email protected].

Star our main GitHub repository: GitHub Repo stars

Join passagemath.discourse.group for help and discussions.

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: to passagemath itself or the surrounding 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-09-20, the passagemath GitHub organization had 128 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 distributionNot 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 packages4ti2, bliss, brial, CARAT, 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, topcomFree software that Sage interfaces to:
Octave, R, ...
Non-free software that Sage interfaces to:
Magma, Maple, Mathematica, CPLEX, Gurobi, ...
– unused packagesbarvinok, cocoalib, isl, polylib, SymEngine, ... #33773sagemath.org links, Open-source CAS, software to integrate, software surveys#33725, Python optimization packages#26511, polyhedral geometry packages, zbmath.org/software, math databases #30914, MathBases.org
Upstream Python math software
standard packages
CVXOPT, fpylll, gmpy2, mpmath, NetworkX, NumPy, rpy2, SciPy, SymPy, ...
– optional packagesCVXPY, CyLP, Py4ti2, pycosat, pycryptosat, PyNormaliz, pyscipopt, python_igraph
– pip-installable mathematical databasesconway-polynomials, database-cubic-hecke, database-knotinfo, matroid-database
Upstream distributionsDatabase of system packages in software distributions: PyPI: passagemath-bootstrapDistributions providing system packages:
homebrew, conda-forge, archlinux, debian, fedora, ... #27330
Sage library:
– absorbed libs
GiNaC/Pynac#33401, giacpy_sage, sage_brial
– namespace packagessage.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.modules.*, sage.monoids.*, sage.numerical.*, sage.plot.*, sage.probability.*, sage.quadratic_forms.*, sage.quivers.*, sage.rings.*, sage.sat.*, sage.sets.*, sage.schemes.*, sage.symbolic.*, sage.tensor.*, sage.topology.*, ...
– absorbed Sage extensionsSage-Combinat, SageManifolds
🐙⁠passagemath:Modularized pip-installable packages
– named after a mathematical structure
PyPI: passagemath-categoriesPyPI: passagemath-combinatPyPI: passagemath-graphsPyPI: passagemath-groupsPyPI: passagemath-modulesPyPI: passagemath-polyhedraPyPI: passagemath-schemesPyPI: passagemath-symbolics
– named after a standard third-party non-Python dependencyPyPI: passagemath-cddlibPyPI: passagemath-cliquerPyPI: passagemath-eclPyPI: passagemath-eclibPyPI: passagemath-flintPyPI: passagemath-gapPyPI: passagemath-gfanPyPI: passagemath-giacPyPI: passagemath-glpkPyPI: passagemath-homflyPyPI: passagemath-lcalcPyPI: passagemath-libbraidingPyPI: passagemath-libecmPyPI: passagemath-linboxPyPI: passagemath-maximaPyPI: passagemath-nautyPyPI: passagemath-ntlPyPI: passagemath-palpPyPI: passagemath-pariPyPI: passagemath-planarityPyPI: passagemath-pplPyPI: passagemath-primesieve-primecountPyPI: passagemath-rankwidthPyPI: passagemath-singularPyPI: passagemath-sympowPyPI: passagemath-tachyon
– named after an optional third-party non-Python dependencyPyPI: passagemath-benzenePyPI: passagemath-blissPyPI: passagemath-brialPyPI: passagemath-buckygenPyPI: passagemath-cmrPyPI: passagemath-coin-or-cbcPyPI: passagemath-coxeter3PyPI: passagemath-cplexPyPI: passagemath-fricasPyPI: passagemath-frobbyPyPI: passagemath-gap-pkg-caratinterfacePyPI: passagemath-gap-pkg-cddinterfacePyPI: passagemath-gap-pkg-floatPyPI: passagemath-gap-pkg-normalizinterfacePyPI: passagemath-gap-pkg-semigroupsPyPI: passagemath-glucosePyPI: passagemath-gurobiPyPI: passagemath-kenzoPyPI: passagemath-kissatPyPI: passagemath-latte-4ti2PyPI: passagemath-lrslibPyPI: passagemath-macaulay2PyPI: passagemath-mcqdPyPI: passagemath-meataxePyPI: passagemath-msolvePyPI: passagemath-plantriPyPI: passagemath-qepcadPyPI: passagemath-rubiksPyPI: passagemath-siroccoPyPI: passagemath-tdlibPyPI: passagemath-topcom
– named after a technical functionalityPyPI: passagemath-docbuildPyPI: passagemath-environmentPyPI: passagemath-objectsPyPI: passagemath-plotPyPI: passagemath-replPyPI: passagemath-setupPyPI: passagemath-standardPyPI: passagemath-standard-no-symbolics
🐙⁠passagemath: pip-installable mathematical databasesPyPI: passagemath-database-cremona-ellcurvePyPI: passagemath-database-cunninghamPyPI: passagemath-database-jones-numfieldPyPI: passagemath-database-kohelPyPI: passagemath-database-mutation-classPyPI: passagemath-database-odlyzko-zetaPyPI: passagemath-database-polytopes-4dPyPI: passagemath-database-stein-watkinsPyPI: passagemath-database-stein-watkins-miniPyPI: passagemath-database-symbolic-dataPyPI: passagemath-gap-pkg-agt-dataPyPI: passagemath-gap-pkg-ctbllib-dataPyPI: passagemath-gap-pkg-difsets-dataPyPI: passagemath-gap-pkg-factint-dataPyPI: passagemath-gap-pkg-irredsol-dataPyPI: passagemath-gap-pkg-numericalsgps-dataPyPI: passagemath-gap-pkg-primgrp-dataPyPI: passagemath-gap-pkg-rcwa-dataPyPI: passagemath-gap-pkg-sglppow-dataPyPI: passagemath-gap-pkg-simpcomp-dataPyPI: passagemath-gap-pkg-smallgrp-dataPyPI: passagemath-gap-pkg-smallsemi-dataPyPI: passagemath-gap-pkg-sonata-dataPyPI: passagemath-gap-pkg-tomlib-dataPyPI: passagemath-gap-pkg-transgrp-dataPyPI: passagemath-gap-pkg-unitlib-dataPyPI: passagemath-gap-pkg-yangbaxter-dataPyPI: passagemath-pari-elldataPyPI: passagemath-pari-galdataPyPI: passagemath-pari-galpolPyPI: passagemath-pari-nflistdataPyPI: passagemath-pari-nftablesPyPI: passagemath-pari-seadataPyPI: passagemath-pari-seadata-bigPyPI: passagemath-pari-seadata-small
Downstream softwareCurated Sage user packages: abelfunctions, acsv, admcycles, arithmat, boolean_cayley_graphs, certlin, circkit, cluster_pictures, compgit, conrey_dirichlet_characters, curver, cutgeneratingfunctionology, cvolume, dd_functions, dependent_bterms, dual_pairs, elementary_vectors, euler_product, flatsurf, gcaops, hilbert_modular_group, hodge_diamond_cutter, hypigu, kerrgeodesic_gw, lefschetz_family, mclf, moment_cone, msinvar, multipolynomial_bases, numerical_interactive_mip, ore_algebra, realalg, recip, schubertpy, sign_crn, sign_vectors, slabbe, stallings_graphs, stdpairs, surface_dynamics, train_track, twostage, zftoolsExternal Sage user packages #248
User interfaces, document preparationSageTeX, Jupyter kernels for notebook and JupyterLab #1394: PyPI: passagemath-macaulay2-jupyterkernelPyPI: passagemath-singular-jupyterkernelPyPI: passagemath-gap-pkg-jupyterkernelPreTeXt, Emacs sage-shell-mode, Interfaces, IDEs#30500
Downstream software distributionsSage distribution #33774:
PyPI: passagemath-conf
Distributions carrying
SageMath
conda-forge
sage-on-gentoo
#33775
Distributions carrying
🐙passagemathmsys2/MINGW-packages#24738
AppsGitHub Release
Docker imagesContainer images published by the 🐙⁠passagemath portability CI on ghcr.ioSageMath / third-party Docker images:
Docker image sagemath/sagemath version
Docker image sagemathinc/cocalc-docker version
Docker image computop/sage version
Downstream deploymentsGitpod #33113SageMath in the cloud:
CoCalc, SageCell, Binder
🐙⁠passagemath in the cloud:
Google Colab, marimo
Downstream of downstreamDev Containers / Codespaces for running software distributions carrying SageMath and SageMath / third-party Docker images
GitHub Actions workflow:
Testing downstream MSYS2 🐙⁠passagemath packages
Lean / mathlib

🐙passagemath repositories

The passagemath GitHub organization includes the following repositories:

RepositoryContents
upstream-...Repositories (forks) of upstream packages (dependencies of the Sage library)
passagemathMain 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 deployments and packaging of passagemath in software distributions

Pinned Loading

  1. passagemathpassagemathPublic

    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 51 11

Repositories

Showing 10 of 226 repositories

Top languages

PythonC++CCythonGAP

Most used topics

Loading…