introduction to ipython & notebook

Post on 27-Jan-2015

131 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

IPython is an interactive Python shell, it provides tools for interactive and parallel computing that are widely used in the scientific world. It can also benefit any other Python developer.

TRANSCRIPT

Introduction to IPython & Notebook

Areski Belaid <areski@gmail.com>

github.com/areski

twitter.com/areskib

Introduction to IPython

- Fernando Perez started IPython in 2001, he wanted a better interactive Python interpreter

- 259 lines of code, written in few hourshttps://gist.github.com/1579699

- Today: 78,481 lines of code & more than 100 contributors in the last 12 monthshttp://www.ohloh.net/p/ipython

What is IPython?

IPython is an interactive shell for Python

● additional shell syntax● introspection● tab completion● rich history● better debugging● parallel computing

Install IPython

http://ipython.org/ipython-doc/stable/install/install.html

$ mkvirtualenv testipython$ pip install ipython

- You could also use easy_install, but do you want to, really?

Hands On IPython- Shell

$ ls, pwd, !vim

- Code completion$ import os$ os.[press tab]

- Introspection$ os?$ os??

- History> use the key up and down

- Execute previous command$ _i, _ii, _iii : Previous, next previous, next next previous input

- Load Code > %loadpy- Traceback and Debugger %pdb

NOTEBOOK

What is Notebook?A web-based application that can execute code and also contain

rich text and figures, mathematical equations and arbitrary HTML

- a web-based shell to an IPython

- a mix of notes, code, html, images, video, ...

- a great tool for debugging, teaching

- has ability to save, edit and delete

“notebooks”

Install Notebook

Let's forget about easy_install, seriously?$ pip install ipython$ pip install pyzmq$ pip install tornado

$ ipython notebook

For some of the online examples :$ pip install numpy$ apt-get install libatlas-base-dev gfortran$ pip install scipy$ pip install matplotlib

Hands on Notebook

$ ipython notebook

- Cell-based execution workflow

- Load previous code

- Share IPython Notebook

http://nbviewer.ipython.org/

Notebook - Django Extension

Notebook is not only for Physicists !!!

- Use it with Django: https://github.com/django-extensions/django-extensions/pull/234

$ ./manage.py shell_plus --notebook

There is a little bug with the last IPython, that you can fix easily:export PYTHONPATH=/home/areski/public_html/django/MyProjects/newfies-dialer

Add this in your settings.py:IPYTHON_ARGUMENTS = ['--ext', 'django_extensions.management.notebook_extension','--debug']

Conclusion- IPython Introspection, additional shell, tab completion, rich history,parallel computer, etc...

- NotebookAll the benefits of IPython on the web

IPython received a GrantSloan Foundation grant: IPython has been awarded a $1.15 million grant from the Alfred P. Sloan Foundation. This will support several core developers, allowing them to focus on building the IPython Notebook into a tool for open, collaborative, reproducible scientific computing.

The Future is Bright !!!

Hope you enjoyed it!

slideshare.net/areski

github.com/areski

twitter.com/areskib

top related