Welcome to Sage

The open-source alternative to Magma, Maple, Mathematica, and MATLAB!

Sage is a Python-based framework which provides a unified environment for nearly 100 open-source packages related to mathematics research and education. In addition to a consistent interface to these packages, Sage also provides new functionality built by letting these various packages work together. We're building the car, not reinventing the wheel.

There are hundreds of Sage developers around the world. Most of these are mathematicians who use Sage for research and education. As the project grows, we have greater and greater need for contributions from serious programmers. We've compiled a few suggestions to whet your appetite here; further details and more ideas can be found at the links below, or by contacting the Sage developer list.

Suggestions for developers with programming background

Package Interfaces

Doctesting/building

Algorithms

Sage startup and usage

Cygwin Port

Currently Sage runs on Windows only as a virtual machine, through the VMware Player. This is viewed by many as a major barrier to new users, and work is ongoing to produce a Cygwin port. Here is a list of the remaining tickets for this issue. Some of these require a lot of work, but some are simple, and several are simple for someone with a Windows programming background.

Further information

To learn about the Sage program, these links will give you a good overview:

If you are interested in development, the following links will help:

Mentoring

The Sage community is interested in mentoring new developers. If you have specific questions, go ahead and ask the developer mailing list. If you're excited about the project but aren't sure where to start, send a brief description of your background and interests and someone with related experience will volunteer to mentor you! You can do this either on the mailing list, or at the Sage support Q&A site Ask Sage.