Sage development is scheduled to move to GitHub in February 2023

The exact date will be announced in See our transition guide from Trac to GitHub for the preliminary version of the new workflow on GitHub. The migration work is coordinated in #30363 and

Welcome to the SageMath Development Organization Page

SageMath is free and open software that supports research and teaching in algebra, geometry, number theory, cryptography, etc. Both the SageMath development model and the technology in SageMath itself are distinguished by an extremely strong emphasis on openness, community, cooperation, and collaboration: we are building the car, not reinventing the wheel. View our Code of Conduct.

The Sage Trac server (this web page) manages tickets, the equivalents of Issues and Pull Requests (PRs). In addition to bug reports, also ideas for features to add to SageMath are appropriate as tickets.

Getting started

To create tickets, add comments on tickets, and edit wiki pages on this site, you need either a GitHub account or a legacy sage-trac account.

Users with GitHub accounts should use the GitHub Login link. (If you do not have an account on GitHub yet, choose a user name and create a GitHub account.)

Users with legacy sage-trac accounts (account names not starting with "gh-") should use the Login link. Do not to use GitHub login, as it will be treated as a separate user from their original account (unless you actively prefer to switch).

The Help/Guide link in the top right corner provides help with the Trac server.

Reporting a bug

Please help SageMath development by reporting bugs that you encounter, no matter how trivial. If you need to open a ticket, please use the {{{ and }}} tags to add code snippets and SageMath session transcripts. For example:

Markup Displays as
sage: 1 + 2
sage: 1 + 2

You can also use backticks (`) to demarcate inline code snippets, etc. This is useful around names like DiGraph to avoid an automatic wikilink (DiGraph?), like so: `DiGraph`.

SageMath makes use of many upstream projects, which have their own bug tracking pages. A selection: Cython, fflas-ffpack, GAP, GCC (instructions), Givaro, JMol, LinBox, Maxima, Numpy, PARI/GP (instructions), Python, Singular.

Following the pulse of development

Follow the Trac development timeline or active tickets by time, or view other ticket reports.

Help by reviewing Tickets needing review (see checklist).

Catch up on Open tickets you've participated in or make a Custom query.

Contribute to the Release notes for the current development series by collaborative editing.

Explore the Open meta-tickets on larger tasks or topical pages on Algebra, Coding Theory, Combinatorics, Manifolds, Optimization, Polyhedral Geometry, Symbolics.

Discuss in sage-devel or one of our other development groups.

Contributing by working on tickets

Our FAQ on contributing to SageMath will take you to sections Working on tickets and Working with git in the Developer's Guide. Make sure you understand the review process, and the procedures for opening and closing tickets.

When opening a ticket to make a feature request or to plan a project, you may find our Feature request guidelines helpful.

After pushing a branch to a ticket, the ticket will show badges linking to results of automated tests that run on the patchbot and other tests that run on GitHub Actions.

Surveying the mathematical software landscape

The SageMath project is a major integrating force in the math software landscape. Follow the ticket numbers to see how you can help; for example, by surveying software, building or extending interfaces, or contributing to distribution packaging.

In the SageMath distribution Not in the SageMath distribution
Unused math software SymEngine, cocoalib, isl, CyLP, ... #33773 links, Open-source CAS, SoftwareToIntegrate, SoftwareSurveys #33725, Python optimization packages #26511, polyhedral geometry packages,, math databases #30914
Upstream non-Python math software Packages: GMP, FLINT #31408, arb, Singular, GAP, PARI, Maxima, R, FPLLL, LinBox, GSL, polymake, ... Free software that Sage interfaces to: Macaulay2, Octave, ...; Non-free software that Sage interfaces to: Magma, Maple, Mathematica, CPLEX, Gurobi, SCIP, ...
Upstream Python math software Packages: NumPy, SciPy, SymPy, CVXOPT, NetworkX, ...
Upstream distributions Distributions providing system packages: homebrew, conda-forge, archlinux, ... #27330
Absorbed libraries GiNaC/Pynac #33401, giacpy, sage_brial
SageMath library Source: sage.algebras.*, sage.categories.*, sage.combinat.*, sage.crypto.*, sage.geometry.*, sage.graphs.*, sage.groups.*, sage.manifolds.*, sage.modular.*, sage.rings.*, sage.schemes.*, sage.symbolic.*, sage.tensor.*, sage.topology.*, ...
Absorbed SageMath extensions Sage-Combinat, SageManifolds
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, modularized distributions on PyPI #29705, 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

This table is being moved to the Sage developer's guide in #34526; do not edit.

Maintaining the social and technical infrastructure

Participate in or help organize Workshops and other activities, or contribute to the Sage community by answering questions.

You can also help maintain the Technical project infrastructure.

Additional formatting hints

You can enable syntax highlighting in these code snippets by using a hashbang (#!) followed by the name of the syntax. This also makes inline diff viewers if you choose the syntax name diff.

Markup Displays as
def spam ():
    eggs = 3
    return 1
def spam ():
    eggs = 3
    return 1

diff --git a/bar b/bar
--- a/bar
+++ b/bar
@@ -1,2 +1,3 @@
  • bar

    diff --git a/bar b/bar
    a b  

To avoid an automatic wikilink for non-code names like GitHub, prepend it with an exclamation mark: !GitHub. See WikiFormatting for more information.

Account Names Mapped to Real Names

The list of over 600 account holders in Sage's Trac that was here is now merged to the contributors.xml through Github PR. The merged developers list is at SageMath developer world map.

Legacy sage-trac Account Request

If you cannot create a GitHub account, need to edit the SageMath Wiki, or have other special needs, you may request a local account on this site, by reading the trac guidelines, then sending an email to sage-trac-account AT googlegroups DOT com that contains all of the following:

  • your full name
  • the default username is the first letter of the name followed by the family name (i.e. mjohnson for Mike Johnson). If you really want something else you can make a reasonable suggestion some examples
  • contact email
  • and reason for needing a trac account.
Last modified 3 weeks ago Last modified on Jan 6, 2023, 12:20:42 AM

Attachments (1)

Download all attachments as: .zip