This book is a beginner-level introduction to IPython for interactive Python programming, high-performance numerical computing, and data visualization. It assumes nothing more than familiarity with Python. It targets developers, students, teachers, hobbyists who know Python a bit, and who want to learn IPython for the extended console, the Notebook, and for more advanced scientific applications.
The book first introduces IPython for interactive Python and shell programming. It shows how IPython can considerably improve the productivity of a developer who creates, debugs, benchmarks and profiles Python code.
Then, the reader learns the very basics of vector computing, and discovers how to load and analyze numerical and tabular data with NumPy and Pandas. The book shows the interactive visualization capabilities of the platform with Matplotlib, SciPy and PIL. It also contains a few image processing examples.
Some techniques to accelerate Python code are also demonstrated, using either interactive parallel computing features from IPython (using MPI or not), or Cython to compile a portion of the code in C for really interesting speedups.
Finally, the book shows how IPython can be customized for advanced uses, notably with the creation of new extensions and magic commands.
Increase your productivity when you create, debug, benchmark and profile Python code in an interactive session.
Learn how to use the Notebook as a modern tool for reproducible interactive programming with Python.
Learn how to profile and benchmark your code with IPython to find where to optimize.
Accelerate your code using IPython's interactive parallel computing features, and compile a portion of your code in C with Cython for really interesting speedups.
Excellent introduction to IPython workflows for scientific computation.Dan Goodman
Great introduction to IPython. (...) Definitely worth buying.Amit Saha
This book is a must for who would like to use Python for scientific applications.Francesco Grigoli