One of the nice things about programming in python is that it is free, relatively easy to use, and there is lots of support and development online. One of the downsides is that there is not a standard python package to install… you have to know about all the interesting add-on bits to get maximum usage out of python. Luckily, some enterprising astronomers and other programming-scientists have put together pre-packaged python distributions containing many of the most useful add-ons like numpy, scipy, matplotlib, atpy, etc.
In this post, I wanted to introduce you to some other interesting features and packages that may be brand-new or not yet widely advertised. I’ll also include some new books/sites for learning python.
- An excellent book, How to Think Like a Computer Scientist, is now available as an online-interactive version using the python language.
- Another interactive tutorial is based over at learnpython.org and saves you the headache of installing python if you are trying it for the first time.
Python Work Environment
- If you aren’t hooked to emacs/vi, then you might be interested in Spyder, an interactive development environment specifically for scientific python use. I have no experience with this… anyone have any feedback?
- The latest version of IPython includes a new interactive web-based notebook. This is roughly modeled after MatLab notebooks. I have heard the installation can still be a bit tricky, but it is a potentially powerful way to keep electronic notes or even share/work with collaborators.
Python Ad-On Packages:
- SymPy - python library for symbolic mathematics
- Mayavi - 3D plotting
- ScientificPython - a mash-up, most of which can be reproduced using SciPy and Matplotlib
- PyEphem – calculate astronomical ephemerides
- PyMC - Bayesian Inference using Markov Chain Monte Carlo method
- pIDLy – Interface with IDL via python