My Favorite Python Tools

I generally use Octave to test simple ideas, Python for more complex frameworks and I use C++ for heavy-duty programs. While in the prototyping phase I frequently use Python and some tools makes my life easier. I list them below.

  1. Editor → vim: Vim is my favourite code editor by far with its very efficient commands and script library. Although learning curve is a bit steep, it is worth it. After you build-up some skills, you can code as fast as you think. Personally one of the things I like about VIM its configuration file. I simply edit it and copy to various locations where I work and everywhere feels like home. You can put my config file .vimrc in your home folder and modify it as you like. (VIM website)
  2. Debugger → pdb/Winpdb: For simple debugging tasks, pdb is perfectly suitable. If your variables starts to get out of control, you should use a debugger with a gui like Winpdb. Winpdb has enhanced features like support for multiple threads, remote debug with encrypted communication etc. (Winpdb website)
  3. Code analyser → pylint: I discovered this tool recently. It simply check your code statically and generates a report with useful tips to improve both its style (wrt. PEP8) and its structure. It found a class method of mine and told me that it’s really unnecessary to include it in the class definition. I liked it. (pylint website)
  4. Performance improvement → psyco: Because I use Python for prototyping, I generally do not need any speed up for my computational tasks. In case you need, you can use psyco but unfortunately it is no longer maintained. (psyco website)
  5. Number crunching → numpy: numpy package contains most of the basic numerical tools you may ever need like arrays, statistical functions, linear algebra routines, data input/output etc. (numpy website)

Leave a Reply

Your email address will not be published. Required fields are marked *