Introduction to IPython- Fernando Perez started IPython in 2001, hewanted 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 100contributors 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 IPythonhttp://ipython.org/ipython-doc/stable/install/install.html$ mkvirtualenv testipython$ pip install ipython- You could also use easy_install, but do youwant 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
Integration with your IDE- Vim https://github.com/ivanov/vim-ipython- Sublime Text https://github.com/iambus/SublimeIPython- TextMate http://wiki.ipython.org/Cookbook/Using_IPython_with_TextMate
What is Notebook?A web-based application that can execute code and also containrich 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”
Notebook - Django ExtensionNotebook is not only for Physicists !!!- Use it with Django: https://github.com/django-extensions/django-extensions/pull/234$ ./manage.py shell_plus --notebookThere is a little bug with the last IPython, that you can fix easily:export PYTHONPATH=/home/areski/public_html/django/MyProjects/newfies-dialerAdd this in your settings.py:IPYTHON_ARGUMENTS = [--ext, django_extensions.management.notebook_extension,--debug]
Conclusion- IPythonIntrospection, additional shell, tab completion, rich history,parallel computer, etc...- NotebookAll the benefits of IPython on the webIPython received a Grant Sloan 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 !!!
References- IPython : Python at your fingertips:http://www.youtube.com/watch?v=26wgEsg9Mcc- Using IPython Notebook with Django:http://andrewbrookins.com/python/using-ipython-notebook-with-django/- IPython Docs:http://ipython.org/documentation.html- IPython Notebook Viewer:http://nbviewer.ipython.org/
Hope you enjoyed it! slideshare.net/areski github.com/areski twitter.com/areskib