SAGE
Originally published on macresearch.org, around 2008. Reproduced from the author's archive; some links may no longer resolve.
Plug-and-Play Scientific Python
One of the advantages of scripting languages like Python is the multitude of modules you can install and leverage in your research. One of the disadvantages of scripting languages like Python is the multitude of modules you can install and leverage in your research. Anyone who has worked with packages like Numpy and Scipy will know the dilemma: On the one hand, there is a lot of useful code in these packages; on the other, they can make getting started a pain in the neck, because installation is not always trivial, and often will depend upon other modules being pre-installed. This is the type of situation that projects like Fink and MacPorts have arisen to address in the space of UNIX tools.
So is there anything like Fink for scientific Python? It turns out there is: SAGE. The SAGE project slogan is ‘Creating a viable free open source alternative to Magma, Maple, Mathematica, and Matlab’, which will hopefully give you some idea of its lofty goals. In a nutshell, SAGE brings together a swath of different modules in one easy to install package.
How easy? Very. Just download the disk image for your Mac platform, mount it, and drag the sage folder to your hard disk. Double click the sage executable to configure, and you’re ready to go. When installed, you’ll find a wide range of modules (link no longer available), including atlas, matplotlib, numpy, scipy, scons, sqlite, symmetrica, openmpi, and biopython, to name but a few.
But SAGE goes one step beyond basic package management, by offering tight integration of modules in notebooks. Notebooks are work sheets that you edit in a web browser. If you’ve ever used Mathematica or Matlab, you will be familiar with the concept. You can enter formulas, create plots, and run calculations, and save your work for later. SAGE even provides mathematical typesetting. Nice.
[image: SAGE Notebook Screenshot. — no longer available] A SAGE Notebook.
For more information on SAGE, see the SAGE homepage, and for a glowing review, read this post by Vincent Noel.