Efficient interactive computing workflows with IPython
There are multiple ways of using IPython for interactive computing. Some of them are better in terms of flexibility, modularity, reusability, and reproducibility. We will review and discuss them in this recipe.
Any interactive computing workflow is based on the following cycle:
- Write some code
- Execute it
- Interpret the results
- Repeat
This fundamental loop (also known as Read-Eval-Print Loop (REPL)) is particularly useful when doing exploratory research on data or model simulations, or when building a complex algorithm step by step. A more classical workflow (the edit-compile-run-debug loop) would consist of writing a full-blown program, and then performing a complete analysis. This is generally more tedious. It is more common to build an algorithmic solution iteratively, by doing small-scale experiments and tweaking the parameters, and this is precisely what interactive computing is about.
Integrated Development Environments (IDEs), providing...