Public Repository

Last pushed: a month ago
Short Description
SageMath is a free open-source mathematics software system.
Full Description

Supported tags

  • latest — the stable master branch
  • x.x — all stable releases of Sage are tagged with their version number.
  • x.x.{beta,rc}x - betas and release candidates of Sage as tagged in our git repository.
  • develop — the current development version of Sage which gets merged into the master branch when a new version of Sage is released

What is SageMath

SageMath is a free open-source mathematics software system licensed under the GPL. It builds on top of many existing open-source packages: NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R and many more. Access their combined power through a common, Python-based language or directly via interfaces or wrappers.

Mission: Creating a viable free open source alternative to Magma, Maple, Mathematica and Matlab.

What's in this image

There are several flavours of this image.

  • sagemath/sagemath contains everything necessary to run Sage on the command line. Run it with:
      docker run -it sagemath/sagemath:latest
    You can start a graphical Jupyter Notebook at http://localhost:8888 instead. To use the notebook, follow the instructions printed when you run:
      docker run -p8888:8888 sagemath/sagemath:latest sage-jupyter
  • sagemath/sagemath-dev contains all the build artifacts to rebuild Sage quickly. This version is probably only relevant for Sage developers. Run this image with:
      docker run -it sagemath/sagemath-dev:develop
    This triggers a rebuild and drops you in a shell afterwards. Note that the git repository has been emptied to save space. If you want to use git, fetch from your git repository with git fetch trac and go to the commit that was used to create this image with
      git reset $(cat docker/.commit)

How to build your own SageMath images

Once has been merged: Run docker build -f docker/Dockerfile --build-arg ARTIFACT_BASE=sagemath/sagemath-dev:develop --target TARGET . in the Sage repository with TARGET one of sagemath or sagemath-dev.

How these images get updated

Once has been merged: Every push to our github repository triggers a build in CircleCI which builds and pushes the docker images.
A push to master also triggers a "build" on our Docker Hub repositories. The latter build is mostly disabled by the hooks/ and only updates the

Every push to our GitLab repository triggers a pipeline in GitLab CI. This build also pushes images to Docker Hub.

Have a look at .circleci/ and .gitlab-ci.yml if you want to setup either continuous integration service for your own fork of the SageMath repository.


The whole Sage software distribution is licensed under the General Public License, version 3. More details can be found in our COPYING.txt

Docker Pull Command