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

IPython beyond Python


No one would use IPython if it were not more powerful than the standard terminal. Much of IPython's power comes from two features:

  • Shell integration

  • Magic commands

Shell integration

Any command starting with ! is passed directly to the operating system to be executed, and the result is returned. By default, the output is then printed out to the terminal. If desired, the result of the system command can be assigned to a variable. The result is treated as a multiline string, and the variable is a list containing one string element per line of output. Here is an example:

In [22]: myDir = !dir

In [23]: myDir
Out[23]:
[' Volume in drive C has no label.',
 ' Volume Serial Number is 1E95-5694',
 '',
 ' Directory of C:\\Program Files\\Python 3.5',
 '',
 '10/04/2015  08:43 AM    <DIR>          .',
 '10/04/2015  08:43 AM    <DIR>          ..',]

While this functionality is not entirely absent in straight Python (the OS and subprocess libraries provide similar abilities...