Book Image

Mastering IPython 4.0

By : Thomas Bitterman, Dipanjan Deb
Book Image

Mastering IPython 4.0

By: Thomas Bitterman, Dipanjan Deb

Overview of this book

IPython is an interactive computational environment in which you can combine code execution, rich text, mathematics, plots, and rich media. This book will get IPython developers up to date with the latest advancements in IPython and dive deep into interactive computing with IPython. This an advanced guide on interactive and parallel computing with IPython will explore advanced visualizations and high-performance computing with IPython in detail. You will quickly brush up your knowledge of IPython kernels and wrapper kernels, then we'?ll move to advanced concepts such as testing, Sphinx, JS events, interactive work, and the ZMQ cluster. The book will cover topics such as IPython Console Lexer, advanced configuration, and third-party tools. By the end of this book, you will be able to use IPython for interactive and parallel computing in a high-performance computing environment.
Table of Contents (18 chapters)
Mastering IPython 4.0
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
6
Works Well with Others – IPython and Third-Party Tools
Index

Application steering


Application steering is the interactive manipulation of a program with the purpose of affecting its behavior. It allows the user to monitor and control their application during execution. The tools that IPython provides to enable some basic forms of application steering have been laid out in this chapter. This section will limit itself to describing some simple applications.

Debugging

The simplest and oldest form of application steering is using a debugger. Using a debugger provides the ultimate in control over an application – the entire state can be accessed and modified, and execution can proceed in arbitrarily small increments. While using a debugger is well-understood, it has the drawback of requiring an extremely high degree of user interaction. This may seem counterintuitive: after all, if some interactivity is good, should not more be better? But consider running 1500 simultaneous tasks, and trying to debug them all at the same time. If nothing else, this would...