Listed below are couple of Python modules that I've written that I thought others might find useful.
About nine years ago I decided that I needed to learn a modern programming language to aid me in my research endeavors. I hadn't done any programming since fooling around with BASIC on my Apple //e, way back in junior high. Most of my needs were related to scientific and numeric programming, but I wanted to avoid a "prepackaged" environment like Mathematica or Matlab (for cost and platform independence reasons).
I settled on C++, and spent the next year and a half immersing myself in this powerful, but often frustrating language. Teaching myself C++ was a "good thing" - I learned about pointers and references, got used to zero-indexing, studied object-oriented programming concepts, etc. Despite the power and flexibility of C++, I found that I was spending a lot of time fighting with compilers and debugging my spaghetti-like code.
I started looking around for alternatives. I read-up on and dabbled in a number of other programming languages like Java (too C++ like for my tastes) and Perl (couldn't stand the syntax), but none of 'em offered enough to make me switch.
Then I stumbled upon Python - it had a clear syntax, provided mechanisms for object-oriented programming, allowed for operator overloading (something I thought particularly important at the time, but which I don't use too much anymore), ran on multiple platforms, and was free! Plus, there were already lots of extension modules available, most importantly a robust package of numerical routines.
Python was easy to learn, and I was up and running in just a few days. At first I would switch back and forth between C++ and Python, but after a month or so I almost completely abandoned C++. My programming life has been better ever since! I've tackled programming projects I had hesitated to even consider while using C++. This meant I could focus on the biological/statistical/analytical problems I was trying to address with my programming, rather than struggling with the programming language itself. It's probably no exaggeration to say that switching to Python helped me cut several months off my dissertation research.
If you find you need to undertake programming projects, big or small, for research purposes, I highly recommend you check out the links given above to find out more.