{ "metadata": { "name": "", "signature": "sha256:8e2a85a6e882f9bcc5a329144e73c0e9df15d64a5bfc07f024327bcf820a0aab" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "IPython Notebook Introduction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An EAST Knowledge presentation on 2014-06-14 by Charles Stanhope\n", "![Personal Card](cds-biz-card-2013-scaled.jpg \"Personal Card\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Table of Contents:**\n", "\n", "* [What is it?](#What-is-it?)\n", "* [Interface Basics](#Interface-Basics)\n", "* [Theory of Operation](#Theory-of-Operation)\n", "* [More Thorough Example](#More-Thorough-Example)\n", "* [How to Get Help](#How-to-Get-Help)\n", "* [Other Nice Features](#Other-Nice-Features)\n", "* [Motivation](#Motivation)\n", "* [Resources](#Resources)\n", "* [Thank You!](#Thank-You!)\n", "* [Copyright Notice](#Copyright-Notice)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---------" ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "What is it?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From the home page:\n", "> The IPython Notebook is a web-based interactive computational environment where you can combine code execution, text, mathematics, plots and rich media into a single document." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## I would add that IPython Notebook enables you to:\n", "* Rapidly prototype and explore algorithmic ideas\n", "* Easily share results\n", "* Replicate work\n", "* Freely collaborate\n", "* Leverage a large body of existing libraries\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-----" ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Interface Basics" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Uses the web browser\n", "* A scrolling document interface\n", "* Multiple cells per document\n", "* Each cell is one of a few types:\n", " * _Markdown_ - for expository content\n", " * _Code_ - for actual computing\n", " * _Headings_ - for providing linkable sections\n", " * _Raw_ - for just raw text\n", "* Code cells produce output that appears inline with the document" ] }, { "cell_type": "heading", "level": 4, "metadata": {}, "source": [ "Quick Code Cell Examples" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Enter our data\n", "# I get two tip payments per month.\n", "tips_for_the_year = [30.0, 40.0, # Jan.\n", " 25.0, 36.0, # Feb.\n", " 50.0, 23.0, # Mar.\n", " 33.0, 54.0, # April\n", " 41.0, 32.0, # May\n", " 36.0, 66.0, # June\n", " 70.0, 40.0, # July\n", " 33.0, 52.0, # August\n", " 54.0, 33.0, # Sept.\n", " 44.0, 23.0, # Oct.\n", " 53.0, 44.0, # Nov.\n", " 80.0, 98.0 # Dec.\n", " ]\n", "print tips_for_the_year" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[30.0, 40.0, 25.0, 36.0, 50.0, 23.0, 33.0, 54.0, 41.0, 32.0, 36.0, 66.0, 70.0, 40.0, 33.0, 52.0, 54.0, 33.0, 44.0, 23.0, 53.0, 44.0, 80.0, 98.0]\n" ] } ], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "# Do some calculations\n", "# What is my total tips?\n", "total_tips = sum(tips_for_the_year)\n", "print \"Total: $%.2f\" % total_tips\n", "\n", "# What is my average tip?\n", "average_monthly = total_tips / len(tips_for_the_year)\n", "print \"Average: $%.2f\" % average_monthly\n", "\n", "# What was my best tip?\n", "print \"Best: $%.2f\" % max(tips_for_the_year)\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Total: $1090.00\n", "Average: $45.42\n", "Best: $98.00\n" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "# Plot some graphs using our data\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "# Let's gather our tips into a single list of monthly tips.\n", "# I can continue to use the tips that I entered above as long\n", "# as I have executed the cell previous to this one.\n", "per_month = []\n", "for x in range(0, len(tips_for_the_year)/2):\n", " per_month.append(tips_for_the_year[x] + tips_for_the_year[x + 1])\n", "\n", "# Altnerate:\n", "# per_month = [sum(n) for n in zip(tips_for_year[0::2], tips_for_the_year[1::2])]\n", "\n", "plt.plot(range(1, len(per_month)+1), per_month)\n", "plt.title(\"2013 Tip Performance\")\n", "plt.grid()\n", "plt.xlabel(\"Month\")\n", "plt.ylabel(\"Tips ($)\")" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 3, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "----------------" ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Theory of Operation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Briefly:\n", "\n", "* Two Process Model\n", " * The language \"kernel\" (Python) runs in one process\n", " * The interface (Notebook) runs in another process\n", " * You can use other interfaces with IPython e.g. console or qtconsole.\n", "* Communication occurs over a messaging passing interface\n", "* The two process do _not_ have to run on the same machine\n", " * (In fact, I am running this demo with two machines.)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![IPython Two Process Model](ipython-two-process.png \"IPython's Two Process Model\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-----------" ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "More Thorough Example" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Karplus-Strong String Synthesis](Karplus-Strong String Synthesis.ipynb)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---------" ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "How to Get Help" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Use the Menu bar above\n", "* The interactive help of IPython \n", " * ?\n", " * %quickref\n", " * object?\n", "* help() function for Python\n", "* The internet (but you already knew that)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# IPython help\n", "?" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "# IPython quick reference\n", "%quickref" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "# The object? IPython provides\n", "help?" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "# Call help() to get Python documentation for an object.\n", "# Python often (not always) has extensive documentation for its modules\n", "help(help)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Help on _Helper in module site object:\n", "\n", "class _Helper(__builtin__.object)\n", " | Define the builtin 'help'.\n", " | This is a wrapper around pydoc.help (with a twist).\n", " | \n", " | Methods defined here:\n", " | \n", " | __call__(self, *args, **kwds)\n", " | \n", " | __repr__(self)\n", " | \n", " | ----------------------------------------------------------------------\n", " | Data descriptors defined here:\n", " | \n", " | __dict__\n", " | dictionary for instance variables (if defined)\n", " | \n", " | __weakref__\n", " | list of weak references to the object (if defined)\n", "\n" ] } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "# Or you can call help() by itself to get an interactive help.\n", "help()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\n", "Welcome to Python 2.7! This is the online help utility.\n", "\n", "If this is your first time using Python, you should definitely check out\n", "the tutorial on the Internet at http://docs.python.org/2.7/tutorial/.\n", "\n", "Enter the name of any module, keyword, or topic to get help on writing\n", "Python programs and using Python modules. To quit this help utility and\n", "return to the interpreter, just type \"quit\".\n", "\n", "To get a list of available modules, keywords, or topics, type \"modules\",\n", "\"keywords\", or \"topics\". Each module also comes with a one-line summary\n", "of what it does; to list the modules whose summaries contain a given word\n", "such as \"spam\", type \"modules spam\".\n", "\n" ] }, { "name": "stdout", "output_type": "stream", "stream": "stdout", "text": [ "help> quit\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "You are now leaving help and returning to the Python interpreter.\n", "If you want to ask for help on a particular object directly from the\n", "interpreter, you can type \"help(object)\". Executing \"help('string')\"\n", "has the same effect as typing a particular string at the help> prompt.\n" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "---------" ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Other Nice Features" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* HTML Export\n", " * Version 2.0: available directly from the browser interface!\n", " * But you still have to have pandoc installed\n", "* The \"magic\" functions which provide easy access to various system level functions\n", "* Support for other programming languages\n", "* Supports rich inline output for:\n", " * Graphics\n", " * HTML\n", "* Interactive widgets\n", "* Latex support for great looking math!\n", " * Unfortunately I don't have any examples. :-/\n", "* Support for multiprocessing" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------------" ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Motivation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "####What drew me to use IPython Notebook\n", "(Story time about the issues I've run into for development.)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Why I like IPython Notebook:**\n", "\n", "* Getting answers fast\n", " * No compile link cycle\n", " * Work incrementally and quickly\n", " * Runtime is preserved while you work\n", " * Allowing you to build as you go\n", "* Documenting work is easy\n", " * HTML export! Readers only need a browser. \n", " * (So awesome...)\n", "* Replicating work or collaboration\n", " * Freely licensed so no purchasing issues\n", " * IPython works cross-platform\n", "* A mind boggling amount of libraries and modules that are available to be used\n", " * _And this is counting only Python. Other languages can be used too!_\n", "* Actively being developed" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----------" ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Resources" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "1. [IPython Notebook Home Page](http://ipython.org/notebook.html)\n", "2. [Anaconda environment works with Windows, Mac, and Linux](http://continuum.io/downloads)\n", "3. [Pandoc for HTML Export Support](http://johnmacfarlane.net/pandoc/installing.html)\n", "4. [Gallery of Interesting IPython Notebooks](https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks)\n", "5. [IPython Notebook Viewer](http://nbviewer.ipython.org/) for publically sharing notebooks\n", "6. [EAST Knowledge](http://eastknow.org) - to contact the group\n", "7. [Charles Stanhope](http://charles.stanho.pe) - to contact me" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-----------" ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Thank You!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You people are awesome. Let's try a live demo!\n", "\n", "* SSID: **EAST Knowledge**\n", "* Password: **xxxxxxxxxxxxxxxx**\n", "\n", "Once connected to EAST Knowledge WiFi, try:\n", "* http://satellite:8000\n", "\n", "or if that fails, try:\n", "* http://192.168.1.145:8000\n", "\n", "in your browser." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---------------" ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Copyright Notice" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "

\n", " \n", " \"CC0\"\n", " \n", "
\n", " To the extent possible under law,\n", " \n", " Charles Stanhope\n", " has waived all copyright and related or neighboring rights to\n", " IPython Notebook Introduction.\n", "This work is published from:\n", "\n", " United States.\n", "

\n", "" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 8 } ], "metadata": {} } ] }