Skip to content

A gallery of interesting IPython Notebooks

Ryan Gao edited this page Apr 17, 2014 · 144 revisions

This page is a curated collection of IPython notebooks that are notable for some reason. Feel free to add new content here, but please try to only include links to notebooks that include interesting visual or technical content; this should not simply be a dump of a Google search on every ipynb file out there.

Important contribution instructions: If you add new content, please ensure that for any notebook you link to, the link is to the rendered version using nbviewer, rather than the raw file. Simply paste the notebook URL in the nbviewer box and copy the resulting URL of the rendered version. This will make it much easier for visitors to be able to immediately access the new content.

Note that Matt Davis has conveniently written a set of bookmarklets and extensions to make it a one-click affair to load a Notebook URL into your browser of choice, directly opening into nbviewer.

Table of Contents

  1. Entire books or other large collections of notebooks on a topic
  1. Scientific computing and data analysis with the SciPy Stack
  1. General Python Programming
  2. Julia notebooks
  3. Haskell notebooks
  4. Ruby notebooks
  5. Miscellaneous topics about doing various things with the Notebook itself
  6. Reproducible academic publications
  7. Whimsical notebooks
  8. Videos of IPython being used in the wild

Entire books or other large collections of notebooks on a topic

Introductory Tutorials

Programming and Computer Science

Statistics, Machine Learning and Data Science

Physics, Chemistry, Biology

Earth Science and Geo-Spatial data

Linguistics and Text Mining

Signal Processing

Scientific computing and data analysis with the SciPy Stack

General topics in scientific computing

Social data

Psychology and Neuroscience

Machine Learning

Physics, Chemistry and Biology

Economics

Earth science and geo-spatial data

Data visualization and plotting

Mathematics

Signal and Sound Processing

Natural Language Processing

Pandas for data analysis

Note that in the 'collections' section above there are also pandas-related links, such as the one for an 11-lesson tutorial.

General Python Programming

Julia notebooks

The IPython protocols to communicate between kernels and clients are language agnostic, and other programming language communities have started to build support for this protocol in their language. The Julia team has created IJulia, and these are some Julia notebooks:

Haskell notebooks

There exists a Haskell kernel for IPython in the IHaskell project.

Ruby notebooks

Similar to the Julia kernel there exists also a Ruby kernel for IPython.

Miscellaneous topics about doing various things with the Notebook itself

Reproducible academic publications

This section contains academic papers that have been published in the peer-reviewed literature or pre-print sites such as the ArXiv that include one or more notebooks that enable (even if only partially) readers to reproduce the results of the publication. If you include a publication here, please link to the journal article as well as providing the nbviewer notebook link (and any other relevant resources associated with the paper).

Whimsical notebooks

Videos of IPython being used in the wild

Of course the first thing you might try is searching for videos about IPython (1900 or so by last count on Youtube) but there are demonstrations of other applications using the power of IPython but are not mentioned is the descriptions. Below are a few such:

Clone this wiki locally