Skip to content
[DEPRECATED] See the new edition:
Branch: master
Clone or download
Latest commit 90c3134 Jun 11, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
notebooks Show effects and no deprecation Apr 29, 2017
references Added recipes from chapter 12 and 14. Jul 23, 2014
tools WIP: updating featured recipes. Feb 27, 2015
.gitignore Ignoring __pycache__ directories for version control. Feb 15, 2016
LICENSE.txt Added gentoc script. Jun 8, 2014 Fixed links. Sep 29, 2014 Minor fixes in errata page. Sep 29, 2014 Updated recipe 1.1. Sep 8, 2014 Updated TOC. Sep 15, 2014

IPython Cookbook

This repository contains the recipes of the IPython Cookbook, the definitive guide to high-performance scientific computing and data science in Python, by Dr. Cyrille Rossant, Packt Publishing, 500 pages, September 2014.

Follow me on Twitter to get all updates

Featured recipes

A selection of free recipes from the book:

  1. Getting the best performance out of NumPy
  2. Simulating a physical system by minimizing an energy
  3. Creating a route planner for road network
  4. Introduction to machine learning in Python with scikit-learn
  5. Simulating a partial differential equation: reaction-diffusion systems and Turing patterns
  6. Getting started with Vispy
  • more coming soon...

Table of contents


You can report inaccuracies or errors in the GitHub issue tracker. Even better, propose your own corrections by submitting a pull request!

Example data

You will find the data used in the recipes here.

Structure of the repository

The structure of the repo is the following:

notebooks/                      all notebooks with the code of all examples
    extra/                      extra code example that didn't make it in the book
    guests/                     guest recipes
featured/                       a selection of complete recipes with all text, figures and code
references/                     a curated list of references about scientific Python programming
tools/                          various building Python scripts


You need Python 3 (or 2) and a bunch of scientific modules for the code examples, mainly IPython 2.0+, NumPy, SciPy, Pandas, and matplotlib. Many recipes that require other modules come with the appropriate installation instructions.

We highly recommend that you use an all-in-one Python distribution like Anaconda. This distribution comes with an excellent package manager named conda. It lets you install easily many modules on most platforms (Windows, Linux, Mac OS X), in 64-bit (recommended if you have a 64-bit OS) or 32-bit.

The recipes are written for Python 3 first, but they also work with Python 2. Please favor Python 3 over Python 2 if you can.

Cloning the repository

You need git, a distributed versioning system, to download a local copy of this repository. Open a terminal and type:

git clone

This will copy the repository in a local folder named cookbook-code.

Running the examples

Launch the IPython notebook server with:

ipython notebook

In your browser, go to You can navigate in the repository and open the notebooks.


You are welcome to contribute to this repository. You can use the issue tracker to report any problem. You can also propose a pull request (PR) to fix an error, to add some information, or even propose a brand new recipe in the guests/ folder!

You can’t perform that action at this time.