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

The IPython parallel architecture


The IPython.parallel package has moved to the ipyparallel project. While not a major change, this has introduced a dependency on the ZeroMQ messaging library.

Overview

The ipyparallel architecture is a natural extension of the serial IPython architecture. The decoupling of the client from the interpreter lends itself to an architecture in which multiple interpreters and clients can run in parallel.

Components

The IPython architecture consists of four components:

  • The IPython Engine

  • The IPython Controller/Client

  • The IPython Hub

  • The IPython Scheduler

The IPython Engine

An IPython Engine is a Python instance that accepts Python commands and objects over a network connection. The ability to run engines on different processors is what makes distributed computing in IPython possible.

The IPython Controller

The IPython Controller provides an interface for working with a set of engines. It consists of a hub and a set of schedulers. The Controller provides the single point of...