{
"metadata": {
"name": "The IPython Project"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[Edit Slideshow Style]\n",
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
"
]
},
{
"cell_type": "heading",
"level": 1,
"metadata": {},
"source": [
"The IPython Project"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The IPython development team"
]
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"History"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* October/November 2001: Fernando's \"afternoon hack\"\n",
" - `$PYTHONSTARTUP`: ipython-0.0.1.py (259 lines)\n",
" - Interactive Python Prompt (IPP), Janko Hauser (Oceanography)\n",
" - LazyPython, Nathan Gray (Caltech)\n",
"* 2002: Fernando rejects John Hunter's Gnuplot patches: John starts matplotlib instead\n",
"* 2004: First version of IPython.parallel (Brian Granger and Min Ragan-Kelley)\n",
"* 2005-2009: Wayavi, Wx support, refactoring, slow period\n",
"* 2010: Discover ZeroMQ\n",
" - PyZMQ Created (Brian Granger and Min Ragan-Kelley)\n",
" - Build Qt Console and IPython Kernel (Granger, Perez, Evan Patterson)\n",
" - Rewrite IPython.parallel with ZeroMQ (Min Ragan-Kelley)\n",
" - Move to Git/GitHub\n",
" - Python 3 port (Thomas Kluyver)\n",
"* 2011: IPython Notebook (Brian Granger)\n",
"* 2012: Development continues to accelerate"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ohloh Statistics:\n",
"\n",
"
"
]
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Components"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The modern IPython consists of two types of processes:\n",
"\n",
"* IPython Kernel: runs code and sends output over ZeroMQ/JSON based message protocol\n",
"* Frontends: User Interface that talks to a Kernel\n",
" - Terminal Console\n",
" - QT Console\n",
" - Web-based Notebook"
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Terminal Console"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The classic terminal based IPython with Pylab+Matplotlib for interactive plotting."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"
"
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Qt Console"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Inline plotting, multiline editing, rich output display, two process Kernel model."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
"
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Web Notebook"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Code, text, plots, equations, images, video, open document format."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
"
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Fast, high-level parallel computing"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
"
]
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"A growing ecosystem of third party applications"
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Microsoft: Python Tools for Visual Studio"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
"
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"A Vim Frontend"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
"
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Notebooks on Windows Azure Cloud"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
"
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"StarCluster: IPython Notebook and Parallel on Amazon EC2"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
"
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"NotebookCloud: one-click Notebook instances on Amazon EC2"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
"
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Enthought's Canopy"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
"
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Emacs Notebook client"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
"
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"vIPer: a dedicated Notebook client"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
"
]
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Contributors"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* Fernando Perez: Neuroscience, UC Berkeley (BDFL)\n",
"* Brian Granger: Physics, California Polytechnic State University\n",
"* Min Ragan-Kelley: Nuclear Engineering, UC Berkeley\n",
"* Matthias Bussonnier: Physics, Institut Curie, Paris\n",
"* Jonathan March: Enthought\n",
"* Thomas Kluyver: Biology, U. Sheffield\n",
"* J\u00f6rgen Stenarson: EE, Sweden\n",
"* Paul Ivanov: Neuroscience, UC Berkeley\n",
"* Robert Kern: Enthought\n",
"* Evan Patterson: Physics, Caltech/Enthought\n",
"* Brad Froehle: Mathematics, UC Berkeley\n",
"* Stefan van der Walt: Neuroscience, UC Berkeley\n",
"* John Hunter: Tradelink Securities, Chicago\n",
"* Prabhu Ramachandran: Aerospace Engineering, ITT Bombay\n",
"* Satra Ghosh: Neuroscience, MIT\n",
"* Ga\u00ebl Varoquaux: Neurospin, Orsay, France\n",
"* Ville Vainio: CS, Tampere University of Technology, Finland\n",
"* Barry Wark: Physion Consulting\n",
"* Ondrej Certik: Physics, University Nevada, Reno\n",
"* Daren Dale: Cornell\n",
"* Justin Riley: MIT\n",
"* Mark Voorhies: UC San Francisco\n",
"* Nicholas Rougier: INRIA Nancy Grand Est\n",
"* Thomas Spura: Fedora Project\n",
"* Many more (~150 committers)\n"
]
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Support"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* Enthought: Qt Console, hosting, lots of other things\n",
"* Microsoft: Windows HPC Server support, Visual Studio, Azure (thanks to Wenming Ye and Shahrokh Mortazavi)\n",
"* DoD/DRC Inc: funding in 2012 to integrate Notebook and Parallel support (thanks to Jose Unpingco and Chris Kees)\n",
"* NIH: via NiPy grant\n",
"* NSF: via Sage compmath grant\n",
"* Google: summer of code, 2005, 2010\n",
"* Tech-X Corporation: previous versions of Notebook and Parallel "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}