Top Banner
IPython: Python at your fingertips Fernando Pérez [email protected] http://fperez.org Brian E. Granger (Cal Poly San Luis Obispo), Min Ragan-Kelley (UC Berkeley) Thomas Kluyver (U Sheffield), Evan Patterson (Enthought). PyCon 2012 March 9, 2012
34
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1203 ipython pycon

IPython: Python at your fingertips

Fernando Pé[email protected]

http://fperez.org

Brian E. Granger (Cal Poly San Luis Obispo), Min Ragan-Kelley (UC Berkeley)Thomas Kluyver (U Sheffield), Evan Patterson (Enthought).

PyCon 2012March 9, 2012

Page 2: 1203 ipython pycon

Why IPython?

I is for interactive...

In scientific computing,we typically don’t know what we’re doing.

Exploratory computing is not just for scientists

Page 3: 1203 ipython pycon

Why IPython?

I is for interactive...

In scientific computing,we typically don’t know what we’re doing.

Exploratory computing is not just for scientists

Page 4: 1203 ipython pycon

Why IPython?

I is for interactive...

In scientific computing,we typically don’t know what we’re doing.

Exploratory computing is not just for scientists

Page 5: 1203 ipython pycon

Why IPython?

I is for interactive...

In scientific computing,we typically don’t know what we’re doing.

Exploratory computing is not just for scientists

Page 6: 1203 ipython pycon

Python: an excellent base for aninteractive environment

Page 7: 1203 ipython pycon

I said a base...

Page 8: 1203 ipython pycon

Mmh, introspection?

Page 9: 1203 ipython pycon

Basic comforts?

Page 10: 1203 ipython pycon

Useful error info

Page 11: 1203 ipython pycon

We can do better...

Page 12: 1203 ipython pycon

My files, thankyouverymuch

Page 13: 1203 ipython pycon

Some object details?

Page 14: 1203 ipython pycon

More info??

Page 15: 1203 ipython pycon

When things go wrong

Page 16: 1203 ipython pycon

Interactive architecture

FP (UC Berkeley) IPython: Python at your fingertips 3/9/2012 13 / 26

Page 17: 1203 ipython pycon

Terminal console with visualization

Page 18: 1203 ipython pycon

Qt console: inline plots, html, multiline editing, ...Evan Patterson (Enthought)

Page 19: 1203 ipython pycon

Microsoft Visual Studio 2010 integrated consoleDino Viehland and Shahrokh Mortazavi; http://pytools.codeplex.com

Page 20: 1203 ipython pycon

Browser-based notebook: rich text, code, plots, ...Brian Granger, James Gao (Berkeley), rest of the team

Page 21: 1203 ipython pycon

Interactive and high-level parallel APIsMin Ragan-Kelley, Brian Granger

Page 22: 1203 ipython pycon

How did we get here?A brief history of IPython

October/November 2001: “just a little afternoon hack“$PYTHONSTARTUP: ipython-0.0.1.py (259 lines)IPP (Interactive Python Prompt) by Janko Hauser (Oceanography)LazyPython by Nathan Gray (CalTech)

2002: Drop John Hunter’s Gnuplot patches: matplotlib2004: Brian Granger, Min Ragan-Kelley: Parallel on Twisted...2005-2009: Mayavi, Wx support, refactoring; slow period.2010: discover ØMQ, Enthought support.

Move to Git/Github.Build Qt console (Evan Patterson).Rewrite parallel support with ZeroMQ.Python 3 port (Thomas Kluyver).

2011: Web Notebook.

FP (UC Berkeley) IPython: Python at your fingertips 3/9/2012 19 / 26

Page 23: 1203 ipython pycon

How did we get here?A brief history of IPython

October/November 2001: “just a little afternoon hack“$PYTHONSTARTUP: ipython-0.0.1.py (259 lines)IPP (Interactive Python Prompt) by Janko Hauser (Oceanography)LazyPython by Nathan Gray (CalTech)

2002: Drop John Hunter’s Gnuplot patches: matplotlib2004: Brian Granger, Min Ragan-Kelley: Parallel on Twisted...2005-2009: Mayavi, Wx support, refactoring; slow period.2010: discover ØMQ, Enthought support.

Move to Git/Github.Build Qt console (Evan Patterson).Rewrite parallel support with ZeroMQ.Python 3 port (Thomas Kluyver).

2011: Web Notebook.

FP (UC Berkeley) IPython: Python at your fingertips 3/9/2012 19 / 26

Page 24: 1203 ipython pycon

How did we get here?A brief history of IPython

October/November 2001: “just a little afternoon hack“$PYTHONSTARTUP: ipython-0.0.1.py (259 lines)IPP (Interactive Python Prompt) by Janko Hauser (Oceanography)LazyPython by Nathan Gray (CalTech)

2002: Drop John Hunter’s Gnuplot patches: matplotlib2004: Brian Granger, Min Ragan-Kelley: Parallel on Twisted...2005-2009: Mayavi, Wx support, refactoring; slow period.2010: discover ØMQ, Enthought support.

Move to Git/Github.Build Qt console (Evan Patterson).Rewrite parallel support with ZeroMQ.Python 3 port (Thomas Kluyver).

2011: Web Notebook.

FP (UC Berkeley) IPython: Python at your fingertips 3/9/2012 19 / 26

Page 25: 1203 ipython pycon

How did we get here?A brief history of IPython

October/November 2001: “just a little afternoon hack“$PYTHONSTARTUP: ipython-0.0.1.py (259 lines)IPP (Interactive Python Prompt) by Janko Hauser (Oceanography)LazyPython by Nathan Gray (CalTech)

2002: Drop John Hunter’s Gnuplot patches: matplotlib2004: Brian Granger, Min Ragan-Kelley: Parallel on Twisted...2005-2009: Mayavi, Wx support, refactoring; slow period.2010: discover ØMQ, Enthought support.

Move to Git/Github.Build Qt console (Evan Patterson).Rewrite parallel support with ZeroMQ.Python 3 port (Thomas Kluyver).

2011: Web Notebook.

FP (UC Berkeley) IPython: Python at your fingertips 3/9/2012 19 / 26

Page 26: 1203 ipython pycon

How did we get here?A brief history of IPython

October/November 2001: “just a little afternoon hack“$PYTHONSTARTUP: ipython-0.0.1.py (259 lines)IPP (Interactive Python Prompt) by Janko Hauser (Oceanography)LazyPython by Nathan Gray (CalTech)

2002: Drop John Hunter’s Gnuplot patches: matplotlib2004: Brian Granger, Min Ragan-Kelley: Parallel on Twisted...2005-2009: Mayavi, Wx support, refactoring; slow period.2010: discover ØMQ, Enthought support.

Move to Git/Github.Build Qt console (Evan Patterson).Rewrite parallel support with ZeroMQ.Python 3 port (Thomas Kluyver).

2011: Web Notebook.

FP (UC Berkeley) IPython: Python at your fingertips 3/9/2012 19 / 26

Page 27: 1203 ipython pycon

How did we get here?A brief history of IPython

October/November 2001: “just a little afternoon hack“$PYTHONSTARTUP: ipython-0.0.1.py (259 lines)IPP (Interactive Python Prompt) by Janko Hauser (Oceanography)LazyPython by Nathan Gray (CalTech)

2002: Drop John Hunter’s Gnuplot patches: matplotlib2004: Brian Granger, Min Ragan-Kelley: Parallel on Twisted...2005-2009: Mayavi, Wx support, refactoring; slow period.2010: discover ØMQ, Enthought support.

Move to Git/Github.Build Qt console (Evan Patterson).Rewrite parallel support with ZeroMQ.Python 3 port (Thomas Kluyver).

2011: Web Notebook.

FP (UC Berkeley) IPython: Python at your fingertips 3/9/2012 19 / 26

Page 28: 1203 ipython pycon

(Incomplete) Cast of CharactersBrian Granger - Physics, Cal State San Luis ObispoMin Ragan-Kelley - UC BerkeleyThomas Kluyver - U. SheffieldJörgen Stenarson - SP Technical Research Institute of SwedenPaul Ivanov - UC BerkeleyRobert Kern - EnthoughtEvan Patterson - Caltech/EnthoughtStefan van der Walt - UC BerkeleyJohn Hunter - TradeLink Securities, Chicago.Prabhu Ramachandran - Aerospace Engineering, IIT BombaySatra Ghosh- MIT NeuroscienceGaël Varoquaux - Neurospin (Orsay, France)Ville Vainio - CS, Tampere University of Technology, FinlandBarry Wark - Neuroscience, U. Washington.Ondrej Certik - Physics, U Nevada RenoDarren Dale - CornellJustin Riley - MITMark Voorhies - UC San FranciscoNicholas Rougier - INRIA Nancy Grand EstThomas Spura - Fedora projectJulian Taylor - Debian/UbuntuMany more! (~140 commit authors)

Page 29: 1203 ipython pycon

Some quick stats. http://www/ohloh.net/p/ipython

Page 30: 1203 ipython pycon

Other projects using IPython

ScientificEPD: Enthought Python Distribution.Sage: open source mathematics.PyRAF: Space Telescope Science InstituteCASA: Nat. Radio Astronomy ObservatoryGanga: CERNPyMAD: neutron spectrom., Laue LangevinSardana: European Synchrotron RadiationASCEND: eng. modeling (Carnegie Mellon).JModelica: dynamical systems.DASH: Denver Aerosol Sources and Health.Trilinos: Sandia National Lab.DoD: baseline configuration.Mayavi: 3d visualization, Enthought.NiPype: computational pipelines, MIT.PyIMSL Studio, by Visual Numerics.

...

Web/OtherVisual Studio 2010: MS.Django.Turbo Gears.Pylons web frameworkZope and Plone CMS.Axon Shell, BBCKamaelia.Schevo database.Pitz: distributedtask/bug tracking.iVR (interactive VirtualReality).Movable Python(portable Pythonenvironment)....

Page 31: 1203 ipython pycon

SupportThank you!

Enthought, Austin, TX: Lots!Tech-X Corporation, Boulder, CO: Parallel/notebook (previousversions)Microsoft: WinHPC support, Visual Studio integrationNIH: via NiPy grantNSF: via Sage compmath grantGoogle: summer of code 2005, 2010.DoD/HPTi: funding through Sept. 2012 (thanks to Jose Unpingco!).

Page 32: 1203 ipython pycon

IPython in brief1 A better Python shell2 Embeddable Kernel and powerful interactive clients

1 Terminal2 Qt console3 Web notebook

3 Flexible parallel computing

http://ipython.org

http://github.com/ipython

Page 33: 1203 ipython pycon

Demo time!

Page 34: 1203 ipython pycon