re-posted with permission from Software Carpentry

My favorite tool is … IPython.
IPython is a Python interpreter with added features that make it an invaluable tool for interactive coding and data exploration. IPython is most commonly taught via the Jupyter notebook, an interactive web-based tool for evaluating code, but IPython can be used on its own directly in the terminal as a replacement for the standard Python interpreter.
Why I like it
- You can run Unix commands directly in IPython. For instance, if you want to load a file from another directory, it is convenient to
cdinto the directory from within the IPython window. - IPython has an extensive tab autocomplete for function names, function arguments, file paths, and object names.
- It comes equipped with “magic” commands: functions that assist in programming and that can be called with a single word starting with
%.%pastetakes whatever is on your clipboard and formats it nicely so IPython can read it – useful for pasting in large blocks of code.%timeitruns time tests and%lprunruns line profiling automatically. - The interpreter saves your command history across sessions. In case you close the window before you’re done, you can fire IPython back up and search through the history.
- IPython makes it easy to test my code interactively, piece by piece.
– Kellie Ottoboni, PhD Candidate in Statistics, Berkeley
Have you got a favourite tool you would like to tell the world about? Head over to Software Carpentry to submit!