Aaron's Page of (mostly Python) Scripts/Modules

Aaron's Page of (mostly Python) Scripts/Modules

I write a lot of programs, almost exclusively in the Python Language. If you are in the market for learning a language, I would highly recommend taking a look here. I began learning the language in 2002, and have since found excuses to use it in almost every aspect of my computerized life. For example, I use python to maintain my website and update it with new content, to manage my music library, to do my astronomy homework, to communicate with the radio astronomy instruments I build as part of my research, and as a plain ol' calculator. This page was generated by a python program.

I like the idea of sharing ideas, and in that spirit, I thought I'd make a special effort to post some of my work online for others to learn from or incorporate into their own programs. To educate myself about the process, I've decided to copyright this material under the GNU Public License. The GPL license says that you can take my code, which I am providing freely, and use it for anything you want, so long as whatever you use it for is provided along with a free copy of the source code that anyone can use. This is called open-sourcing a project, and it has a snowball effect of forcing an ever larger collection of ideas into the public domain--it forces people to share!

Packages I've written

aipy (download) --

corr (download) --

Packages I find useful

IPython -- This is a must-have if you are doing any work in python from the intactive command line.

numpy -- A module supporting an array/vector type for python. This module turns python into a Matlab/IDL-like language. Supercedes Numeric and numarray.

matplotlib/pylab -- The now most widely used python plotting package. Uses a UI modeled off of Matlab's.

SciPy -- Great tools for scientific computing. Can be a pain to compile but is worth it. The driving force behind ipython, numpy, matplotlib, etc.

Pmw -- A module for making GUIs easily.

PIL -- The Python Imaging Library. Allows you to read jpgs, pngs, etc., and do whatever image processing stuff you want.

PySerial -- An excellent module for talking over a serial port (I've used this for talking to radio astronomy instruments, and for using a serial remote control on my computer at home to control my mp3 player.

DParser -- A parser-generator with tie-ins to python. I managed to get it to compile once, and never again, so if you're using Fedora Core 4 and Python 2.4, take this zip file and extract it to /usr/lib/python2.4/site-packages ...

Gnuplot.py -- Python tie-ins for the Gnuplot package. I use this to generate the stats graph for my guitar webpage.

PyEphem -- Tools for tracking the astronomical sky in python.

PyFITS -- A package for reading and writing FITS files (the standard data format of astronomers).

ScientificPython -- More tools for scientific computing with python. Especially good 3D vector rotation code.

PyMedia -- An excellent package for recording sound, playing any type of audio files (for audiophiles).