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

Summary


The single most important property a running program can have is being correct. Too often, testing is left until the end of development, where it is either skipped entirely or rushed through because the project is late. This is especially true for scientific and engineering code, where lives might be at stake. Even exploratory code needs to be tested so that sound decisions can be based on it. No code should be accepted into the project repository without its associated unit tests. As such, testing should be made as easy as possible for developers.

While IPython supports many wonderful visualization tools that can provide visual feedback on results, there is no replacement for thorough unit testing. This chapter outlined the basics of unit testing—setup, test, and teardown—and showed how three different frameworks implemented these concepts. The decision of which framework to use is up to the project team.

In the next chapter, we will look at support for another often neglected component...