SageMath 9.7
This is a binary release of SageMath-9.7 for macOS 10.12 and newer. It is packaged as a signed and notarized macOS application. There are two disk images in the assets, one for Intel CPUs and one for Apple's new Arm CPU (i.e. M1, M1X or M2) . Please download the correct one for your system. (If you are not sure, check the "processor" line in the "About This Mac" dialog under the Apple menu.)
WARNING: Although the Arm disk image is properly signed and notarized and installs correctly on M1 macs, there have been reports that on M2 MacBook Air laptops the system will refuse to install the app because "the developer cannot be verified". (In fact, the error message is misleading since the developer can be identified by the spctl command.) If you encounter this, you will need to open System Preferences and select "install anyway" in the Security and Privacy panel.
The app behaves similarly to Apple's Launchpad; it launches an instance of Sage and then exits. You can drag the icon to the dock and use it to launch Sage at any time. It includes a working tkinter module, which is used to provide the GUI for launching Sage. The magic command %pip can be used at the sage prompt to install additional packages via pip. These packages will be installed in the user's ~/.sage directory.
To install, download one of the disk images in the assets below, open it, and drag the SageMath-9-7 icon to the Applications folder as indicated. Then double-click the included Recommended_9_7.pkg file to install some helpful extras. Specifically, the Installer package creates an executable named /usr/local/bin/sage which can be used to run sage from a script or shell and a Jupyter kernel specification in /usr/local/share. It also copies the sagetex.sty file into a subdirectory of /usr/local/texlive where it will be found by the TeX Live latex compiler. The kernel specification should be recognized by other apps that launch Jupyter or JupyterLab.
The -i option is not supported by the sage executable in this app, but many optional Sage packages are included. Note that GAP packages which are not included in the gap_packages spkg can be installed from within sage by using the PackageManager GAP package. These will be installed in the user's ~/.gap directory. For example, to install the kbmag GAP package run these two commands:
sage: libgap.LoadPackage("PackageManager")
sage: libgap.InstallPackage("kbmag")
The json files in the assets contain the md5 and sha256 hashes of the two disk images.