<!DOCTYPE html>
<!-- saved from url=(0064)http://localhost:8888/b18a12ed-d659-4b9b-b8d3-57838e88f88d/print -->
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<title>IPython Notebook</title>
<link rel="stylesheet" href="./a_brief_tour_files/jquery-ui.min.css" type="text/css">
<link rel="stylesheet" href="./a_brief_tour_files/boilerplate.css" type="text/css">
<link rel="stylesheet" href="./a_brief_tour_files/fbm.css" type="text/css">
<link rel="stylesheet" href="./a_brief_tour_files/page.css" type="text/css">


<script type="text/javascript" src="./a_brief_tour_files/MathJax.js" charset="utf-8"></script>

<script type="text/javascript">
// MathJax disabled, set as null to distingish from *missing* MathJax,
// where it will be undefined, and should prompt a dialog later.
window.mathjax_url = "http://cdn.mathjax.org/mathjax/latest/MathJax.js";
</script>
<link rel="stylesheet" href="http://localhost:8888/static/codemirror/lib/codemirror.css?v=46875">
<link rel="stylesheet" href="http://localhost:8888/static/codemirror/theme/ipython.css?v=fa49d">
<link rel="stylesheet" href="http://localhost:8888/static/prettify/prettify.css?v=83f40">
<link rel="stylesheet" href="./a_brief_tour_files/notebook.css" type="text/css">
<link rel="stylesheet" href="./a_brief_tour_files/printnotebook.css" type="text/css">
<link rel="stylesheet" href="./a_brief_tour_files/renderedhtml.css" type="text/css">

<link rel="stylesheet" href="./a_brief_tour_files/custom.css" type="text/css">


<style type="text/css">.MathJax_Hover_Frame {border-radius: .25em; -webkit-border-radius: .25em; -moz-border-radius: .25em; -khtml-border-radius: .25em; box-shadow: 0px 0px 15px #83A; -webkit-box-shadow: 0px 0px 15px #83A; -moz-box-shadow: 0px 0px 15px #83A; -khtml-box-shadow: 0px 0px 15px #83A; border: 1px solid #A6D ! important; display: inline-block; position: absolute}
.MathJax_Hover_Arrow {position: absolute; width: 15px; height: 11px; cursor: pointer}
</style><style type="text/css">#MathJax_About {position: fixed; left: 50%; width: auto; text-align: center; border: 3px outset; padding: 1em 2em; background-color: #DDDDDD; color: black; cursor: default; font-family: message-box; font-size: 120%; font-style: normal; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; border-radius: 15px; -webkit-border-radius: 15px; -moz-border-radius: 15px; -khtml-border-radius: 15px; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
.MathJax_Menu {position: absolute; background-color: white; color: black; width: auto; padding: 5px 0px; border: 1px solid #CCCCCC; margin: 0; cursor: default; font: menu; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; -khtml-border-radius: 5px; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
.MathJax_MenuItem {padding: 1px 2em; background: transparent}
.MathJax_MenuTitle {background-color: #CCCCCC; margin: -5px 0 0 0; text-align: center; font-style: italic; font-size: 80%; color: #444444; padding: 2px 0; overflow: hidden}
.MathJax_MenuArrow {position: absolute; right: .5em; color: #666666}
.MathJax_MenuActive .MathJax_MenuArrow {color: white}
.MathJax_MenuCheck {position: absolute; left: .7em}
.MathJax_MenuRadioCheck {position: absolute; left: .7em}
.MathJax_MenuLabel {padding: 1px 2em 3px 1.33em; font-style: italic}
.MathJax_MenuRule {border-top: 1px solid #DDDDDD; margin: 4px 3px}
.MathJax_MenuDisabled {color: GrayText}
.MathJax_MenuActive {background-color: #606872; color: white}
.MathJax_Menu_Close {position: absolute; width: 31px; height: 31px; top: -15px; left: -15px}
</style><style type="text/css">#MathJax_Zoom {position: absolute; background-color: #F0F0F0; overflow: auto; display: block; z-index: 301; padding: .5em; border: 1px solid black; margin: 0; font-weight: normal; font-style: normal; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; box-shadow: 5px 5px 15px #AAAAAA; -webkit-box-shadow: 5px 5px 15px #AAAAAA; -moz-box-shadow: 5px 5px 15px #AAAAAA; -khtml-box-shadow: 5px 5px 15px #AAAAAA; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
#MathJax_ZoomOverlay {position: absolute; left: 0; top: 0; z-index: 300; display: inline-block; width: 100%; height: 100%; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)}
#MathJax_ZoomEventTrap {position: absolute; left: 0; top: 0; z-index: 302; display: inline-block; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)}
</style><style type="text/css">.MathJax_Preview {color: #888}
#MathJax_Message {position: fixed; left: 1em; bottom: 1.5em; background-color: #E6E6E6; border: 1px solid #959595; margin: 0px; padding: 2px 8px; z-index: 102; color: black; font-size: 80%; width: auto; white-space: nowrap}
#MathJax_MSIE_Frame {position: absolute; top: 0; left: 0; width: 0px; z-index: 101; border: 0px; margin: 0px; padding: 0px}
.MathJax_Error {color: #CC0000; font-style: italic}
</style><style type="text/css">.MathJax_Display {text-align: center; margin: 0; position: relative; display: block; width: 100%}
.MathJax .merror {background-color: #FFFF88; color: #CC0000; border: 1px solid #CC0000; padding: 1px 3px; font-style: normal; font-size: 90%}
#MathJax_Tooltip {background-color: InfoBackground; color: InfoText; border: 1px solid black; box-shadow: 2px 2px 5px #AAAAAA; -webkit-box-shadow: 2px 2px 5px #AAAAAA; -moz-box-shadow: 2px 2px 5px #AAAAAA; -khtml-box-shadow: 2px 2px 5px #AAAAAA; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true'); padding: 3px 4px; position: absolute; left: 0; top: 0; width: auto; height: auto; display: none}
.MathJax {display: inline; font-style: normal; font-weight: normal; line-height: normal; font-size: 100%; font-size-adjust: none; text-indent: 0; text-align: left; text-transform: none; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; direction: ltr; border: 0; padding: 0; margin: 0}
.MathJax img, .MathJax nobr, .MathJax a {border: 0; padding: 0; margin: 0; max-width: none; max-height: none; vertical-align: 0; line-height: normal; text-decoration: none}
img.MathJax_strut {border: 0 !important; padding: 0 !important; margin: 0 !important; vertical-align: 0 !important}
.MathJax span {display: inline; position: static; border: 0; padding: 0; margin: 0; vertical-align: 0; line-height: normal; text-decoration: none}
.MathJax nobr {white-space: nowrap ! important}
.MathJax img {display: inline ! important; float: none ! important}
.MathJax_Processing {visibility: hidden; position: fixed; width: 0; height: 0; overflow: hidden}
.MathJax_Processed {display: none!important}
.MathJax_ExBox {display: block; overflow: hidden; width: 1px; height: 60ex}
.MathJax .MathJax_EmBox {display: block; overflow: hidden; width: 1px; height: 60em}
.MathJax .MathJax_HitBox {cursor: text; background: white; opacity: 0; filter: alpha(opacity=0)}
.MathJax .MathJax_HitBox * {filter: none; opacity: 1; background: transparent}
#MathJax_Tooltip * {filter: none; opacity: 1; background: transparent}
@font-face {font-family: MathJax_Main; src: url('http://cdn.mathjax.org/mathjax/latest/fonts/HTML-CSS/TeX/woff/MathJax_Main-Regular.woff') format('woff'), url('http://cdn.mathjax.org/mathjax/latest/fonts/HTML-CSS/TeX/otf/MathJax_Main-Regular.otf') format('opentype')}
@font-face {font-family: MathJax_Main; src: url('http://cdn.mathjax.org/mathjax/latest/fonts/HTML-CSS/TeX/woff/MathJax_Main-Bold.woff') format('woff'), url('http://cdn.mathjax.org/mathjax/latest/fonts/HTML-CSS/TeX/otf/MathJax_Main-Bold.otf') format('opentype'); font-weight: bold}
@font-face {font-family: MathJax_Main; src: url('http://cdn.mathjax.org/mathjax/latest/fonts/HTML-CSS/TeX/woff/MathJax_Main-Italic.woff') format('woff'), url('http://cdn.mathjax.org/mathjax/latest/fonts/HTML-CSS/TeX/otf/MathJax_Main-Italic.otf') format('opentype'); font-style: italic}
@font-face {font-family: MathJax_Math; src: url('http://cdn.mathjax.org/mathjax/latest/fonts/HTML-CSS/TeX/woff/MathJax_Math-Italic.woff') format('woff'), url('http://cdn.mathjax.org/mathjax/latest/fonts/HTML-CSS/TeX/otf/MathJax_Math-Italic.otf') format('opentype'); font-style: italic}
@font-face {font-family: MathJax_Caligraphic; src: url('http://cdn.mathjax.org/mathjax/latest/fonts/HTML-CSS/TeX/woff/MathJax_Caligraphic-Regular.woff') format('woff'), url('http://cdn.mathjax.org/mathjax/latest/fonts/HTML-CSS/TeX/otf/MathJax_Caligraphic-Regular.otf') format('opentype')}
@font-face {font-family: MathJax_Size1; src: url('http://cdn.mathjax.org/mathjax/latest/fonts/HTML-CSS/TeX/woff/MathJax_Size1-Regular.woff') format('woff'), url('http://cdn.mathjax.org/mathjax/latest/fonts/HTML-CSS/TeX/otf/MathJax_Size1-Regular.otf') format('opentype')}
@font-face {font-family: MathJax_Size2; src: url('http://cdn.mathjax.org/mathjax/latest/fonts/HTML-CSS/TeX/woff/MathJax_Size2-Regular.woff') format('woff'), url('http://cdn.mathjax.org/mathjax/latest/fonts/HTML-CSS/TeX/otf/MathJax_Size2-Regular.otf') format('opentype')}
@font-face {font-family: MathJax_Size3; src: url('http://cdn.mathjax.org/mathjax/latest/fonts/HTML-CSS/TeX/woff/MathJax_Size3-Regular.woff') format('woff'), url('http://cdn.mathjax.org/mathjax/latest/fonts/HTML-CSS/TeX/otf/MathJax_Size3-Regular.otf') format('opentype')}
@font-face {font-family: MathJax_Size4; src: url('http://cdn.mathjax.org/mathjax/latest/fonts/HTML-CSS/TeX/woff/MathJax_Size4-Regular.woff') format('woff'), url('http://cdn.mathjax.org/mathjax/latest/fonts/HTML-CSS/TeX/otf/MathJax_Size4-Regular.otf') format('opentype')}
.MathJax .noError {vertical-align: ; font-size: 90%; text-align: left; color: black; padding: 1px 3px; border: 1px solid}
</style></head>
<body data-project="/home/carl/nblib" data-base-project-url="/" data-base-kernel-url="/" data-read-only="False" data-notebook-id="b18a12ed-d659-4b9b-b8d3-57838e88f88d"><div style="visibility: hidden; overflow: hidden; position: absolute; top: 0px; height: 1px; width: auto; padding: 0px; border: 0px; margin: 0px; text-align: left; text-indent: 0px; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; "><div id="MathJax_Hidden"></div></div><div id="MathJax_Message" style="display: none; "></div>
<div id="header" class="border-box-sizing ui-widget ui-widget-content" style="border-top-style: none; border-left-style: none; border-right-style: none; ">
<span id="ipython_notebook"><h1><a href="http://localhost:8888/" alt="dashboard"><img src="./a_brief_tour_files/ipynblogo.png" alt="IPython Notebook"></a></h1></span>

<span id="login_widget">

</span>



</div>
<div id="site" class="border-box-sizing" style="display: block; ">

<div id="main_app" class="border-box-sizing ui-widget">
<div id="notebook_panel" class="border-box-sizing ui-widget">
<div id="notebook" class="border-box-sizing"><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><p><style>
    .text_cell h1 {
        font-family: serif;
        color:#444;
        padding: 10px;
        padding-left: 20px;
        border: 1px solid white;
        box-shadow: 0px 0px 0px 1px #BBB;
        text-shadow: 0px 1px 0px white;
        background: #DFDFDF;</p>

<pre><code>}
.text_cell h2 {
    border: 1px solid #BBB;
    background: #F9F9F9;
    padding:6px;
    padding-left: 20px;
    color: #4A4A4A;
    box-shadow: 0px 8px 10px -10px #888;
}
.text_cell h3 {
    border-bottom: 1px solid #DDD;
    border-top: 1px solid #DDD;
    padding: 4px;
    margin-top: 10px;
    margin-bottom: 9px;
    padding-left: 12px;

    color: #4E4E4E;
}
.text_cell h6 {
    border-top: 1px solid #DDD;
    color: #555;
    text-align: center;
    padding: 8px;
}
.text_cell hr {
    height: 0px;
}
.text_cell p {
    font-size: 16px;
    color: #111;
    line-height: 1.2em;
    padding-left: 20px;
    padding-right: 20px;
}
.text_cell code {
    color: #009;
    font-size: 15px;
}
.text_cell a {
    color: #262;
}
</code></pre>

<p></style></p>

<h1>IPython Notebook: A Brief Tour</h1>

<p>This notebook gives a brief tour of the IPython Notebook's features. Other notebooks cover various aspects of IPython and the Notebook interface in detail, so don't worry if you don't learn much about how the Notebook works here. It's just a demo.</p>

<p>You can navigate a notebook by scrolling around with the mouse or using the arrow keys, like any simple text editor. You execute a cell by holding <code>Shift</code> and hitting <code>Enter</code>.</p></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><h2>Code Cells</h2>

<p>When working interactively, we've classically had to use a command line interface. You enter a line of code, it's evaluated, something gets printed out, then you repeat the process over with another line. In a notebook, we have code cells, which are used to enter little blocks of code, which can still be simple one line statements if you wish.</p></div></div><div class="cell border-box-sizing code_cell vbox" tabindex="2"><div class="input hbox"><div class="prompt input_prompt">In&nbsp;[&nbsp;]:</div><div class="input_area box-flex1"><div class="CodeMirror"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 5.716796875px; left: 5.7166595458984375px; "><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar" style="display: none; "><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-ipython" tabindex="-1"><div style="position: relative"><div style="position: relative; top: 0px; "><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; min-width: 172px; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>print 'Hello World'</span></pre></div><pre class="CodeMirror-cursor" style="top: 0px; left: 0px; ">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden; left: 171px; ">&nbsp;</pre><div style="position: relative; z-index: -1; display: none; "></div><div style=""><pre><span class="cm-keyword">print</span> <span class="cm-string">'Hello World'</span></pre></div></div></div></div></div></div></div></div></div><div class="output_wrapper"><div style="" class="out_prompt_overlay prompt" title="click to expand outout; double click to hide output"></div><div class="output vbox" style=""></div><div style="display: none; " class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only output_collapsed vbox" role="button" title="click to expand outout">. . .</div></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><p>As well as executing statements, you can enter an expression and the interpreter will evaluate it. You can also end a cell with an expression to get the same effect.</p></div></div><div class="cell border-box-sizing code_cell vbox" tabindex="2"><div class="input hbox"><div class="prompt input_prompt">In&nbsp;[&nbsp;]:</div><div class="input_area box-flex1"><div class="CodeMirror"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 5.716796875px; left: 5.7166595458984375px; "><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar" style="display: none; "><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-ipython" tabindex="-1"><div style="position: relative"><div style="position: relative; top: 0px; "><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; min-width: 343px; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"></div><pre class="CodeMirror-cursor" style="top: 0px; left: 0px; ">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden; left: 342px; ">&nbsp;</pre><div style="position: relative; z-index: -1; display: none; "></div><div style=""><pre><span class="cm-variable">hi</span> = <span class="cm-string">'Welcome to the IPython Notebook'</span></pre><pre><span class="cm-variable">hi</span>.<span class="cm-variable">upper</span>()</pre></div></div></div></div></div></div></div></div></div><div class="output_wrapper"><div style="" class="out_prompt_overlay prompt" title="click to expand outout; double click to hide output"></div><div class="output vbox" style=""></div><div style="display: none; " class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only output_collapsed vbox" role="button" title="click to expand outout">. . .</div></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><h2>IPython Magic</h2>

<p>The Notebook is still IPython at heart, so, if you've used IPython before, you'll be glad to know that all the classic features, like shell commands, magic functions and lazy calls, work the same as ever.</p></div></div><div class="cell border-box-sizing code_cell vbox" tabindex="2"><div class="input hbox"><div class="prompt input_prompt">In&nbsp;[&nbsp;]:</div><div class="input_area box-flex1"><div class="CodeMirror"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 5.716552734375px; left: 5.7166595458984375px; "><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar" style="display: none; "><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-ipython" tabindex="-1"><div style="position: relative"><div style="position: relative; top: 0px; "><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; min-width: 505px; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"></div><pre class="CodeMirror-cursor" style="top: 0px; left: 0px; ">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden; left: 504px; ">&nbsp;</pre><div style="position: relative; z-index: -1; display: none; "></div><div style=""><pre><span class="cm-keyword">def</span> <span class="cm-variable">list_notebooks</span>(<span class="cm-variable">path</span>):</pre><pre>    <span class="cm-variable">nbs</span> =<span class="cm-operator">!</span> <span class="cm-variable">ls</span> <span class="cm-error">$</span><span class="cm-variable">path</span></pre><pre>    <span class="cm-keyword">return</span> [ <span class="cm-variable">nb</span> <span class="cm-keyword">for</span> <span class="cm-variable">nb</span> <span class="cm-operator">in</span> <span class="cm-variable">nbs</span> <span class="cm-keyword">if</span> <span class="cm-variable">nb</span>.<span class="cm-variable">endswith</span>(<span class="cm-string">'.ipynb'</span>) ]</pre><pre> </pre><pre>,<span class="cm-variable">list_notebooks</span> <span class="cm-error">.</span><span class="cm-operator">/</span></pre></div></div></div></div></div></div></div></div></div><div class="output_wrapper"><div style="" class="out_prompt_overlay prompt" title="click to expand outout; double click to hide output"></div><div class="output vbox" style=""></div><div style="display: none; " class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only output_collapsed vbox" role="button" title="click to expand outout">. . .</div></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><p>You also have cell magics, which act on the contents of the cell.</p></div></div><div class="cell border-box-sizing code_cell vbox" tabindex="2"><div class="input hbox"><div class="prompt input_prompt">In&nbsp;[&nbsp;]:</div><div class="input_area box-flex1"><div class="CodeMirror"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 5.716796875px; left: 5.7166595458984375px; "><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar" style="display: none; "><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-ipython" tabindex="-1"><div style="position: relative"><div style="position: relative; top: 0px; "><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; min-width: 226px; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"></div><pre class="CodeMirror-cursor" style="top: 0px; left: 0px; ">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden; left: 225px; ">&nbsp;</pre><div style="position: relative; z-index: -1; display: none; "></div><div style=""><pre><span class="cm-operator">%%</span><span class="cm-variable">timeit</span> <span class="cm-operator">-</span><span class="cm-variable">n</span> <span class="cm-number">50</span></pre><pre> </pre><pre><span class="cm-keyword">for</span> <span class="cm-variable">path</span> <span class="cm-operator">in</span> (<span class="cm-string">'./'</span>, <span class="cm-string">'~/'</span>):</pre><pre>    <span class="cm-variable">list_notebooks</span>(<span class="cm-variable">path</span>)</pre></div></div></div></div></div></div></div></div></div><div class="output_wrapper"><div style="" class="out_prompt_overlay prompt" title="click to expand outout; double click to hide output"></div><div class="output vbox" style=""></div><div style="display: none; " class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only output_collapsed vbox" role="button" title="click to expand outout">. . .</div></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><p>You can also still use IPython's smart tab completion, but, in the Notebook, it has a little menu too. </p></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><h2>Plotting</h2>

<p>The Notebook integrates a matplotlib backend, so you can view matplotlib figures in your notebooks.</p></div></div><div class="cell border-box-sizing code_cell vbox" tabindex="2"><div class="input hbox"><div class="prompt input_prompt">In&nbsp;[&nbsp;]:</div><div class="input_area box-flex1"><div class="CodeMirror"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 5.716552734375px; left: 5.7166595458984375px; "><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar" style="display: none; "><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-ipython" tabindex="-1"><div style="position: relative"><div style="position: relative; top: 0px; "><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; min-width: 235px; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"></div><pre class="CodeMirror-cursor" style="top: 0px; left: 0px; ">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden; left: 234px; ">&nbsp;</pre><div style="position: relative; z-index: -1; display: none; "></div><div style=""><pre><span class="cm-variable">x</span> = <span class="cm-variable">linspace</span>(<span class="cm-number">0</span>, <span class="cm-number">3</span><span class="cm-operator">*</span><span class="cm-variable">pi</span>, <span class="cm-number">500</span>)</pre><pre><span class="cm-variable">plot</span>(<span class="cm-variable">x</span>, <span class="cm-variable">sin</span>(<span class="cm-variable">x</span><span class="cm-operator">**</span><span class="cm-number">2</span>))</pre><pre><span class="cm-variable">title</span>(<span class="cm-string">'A simple chirp'</span>);</pre></div></div></div></div></div></div></div></div></div><div class="output_wrapper"><div style="" class="out_prompt_overlay prompt" title="click to expand outout; double click to hide output"></div><div class="output vbox" style=""></div><div style="display: none; " class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only output_collapsed vbox" role="button" title="click to expand outout">. . .</div></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><h2>Errors</h2>

<p>Error messages are informative and easy to read.</p></div></div><div class="cell border-box-sizing code_cell vbox" tabindex="2"><div class="input hbox"><div class="prompt input_prompt">In&nbsp;[&nbsp;]:</div><div class="input_area box-flex1"><div class="CodeMirror"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 5.716796875px; left: 5.7166595458984375px; "><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar" style="display: none; "><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-ipython" tabindex="-1"><div style="position: relative"><div style="position: relative; top: 0px; "><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; min-width: 199px; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>%run non_existent_file</span></pre></div><pre class="CodeMirror-cursor" style="top: 0px; left: 0px; ">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden; left: 198px; ">&nbsp;</pre><div style="position: relative; z-index: -1; display: none; "></div><div style=""><pre><span class="cm-operator">%</span><span class="cm-variable">run</span> <span class="cm-variable">non_existent_file</span></pre></div></div></div></div></div></div></div></div></div><div class="output_wrapper"><div style="" class="out_prompt_overlay prompt" title="click to expand outout; double click to hide output"></div><div class="output vbox" style=""></div><div style="display: none; " class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only output_collapsed vbox" role="button" title="click to expand outout">. . .</div></div></div><div class="cell border-box-sizing code_cell vbox" tabindex="2"><div class="input hbox"><div class="prompt input_prompt">In&nbsp;[&nbsp;]:</div><div class="input_area box-flex1"><div class="CodeMirror"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 5.716552734375px; left: 5.7166595458984375px; "><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar" style="display: none; "><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-ipython" tabindex="-1"><div style="position: relative"><div style="position: relative; top: 0px; "><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; min-width: 100px; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"></div><pre class="CodeMirror-cursor" style="top: 0px; left: 0px; ">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden; left: 99px; ">&nbsp;</pre><div style="position: relative; z-index: -1; display: none; "></div><div style=""><pre><span class="cm-variable">x</span> = <span class="cm-number">1</span></pre><pre><span class="cm-variable">y</span> = <span class="cm-number">4</span></pre><pre><span class="cm-variable">z</span> = <span class="cm-variable">y</span><span class="cm-operator">/</span>(<span class="cm-number">1</span><span class="cm-operator">-</span><span class="cm-variable">x</span>)</pre></div></div></div></div></div></div></div></div></div><div class="output_wrapper"><div style="" class="out_prompt_overlay prompt" title="click to expand outout; double click to hide output"></div><div class="output vbox" style=""></div><div style="display: none; " class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only output_collapsed vbox" role="button" title="click to expand outout">. . .</div></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><h2>Pager</h2>

<p>When IPython needs to display additional information, such as providing details on an object through the help system, it will automatically invoke a pager at the bottom of the screen. You can expand and shrink the pager by dragging its divider.</p></div></div><div class="cell border-box-sizing code_cell vbox" tabindex="2"><div class="input hbox"><div class="prompt input_prompt">In&nbsp;[&nbsp;]:</div><div class="input_area box-flex1"><div class="CodeMirror"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 5.716796875px; left: 5.7166595458984375px; "><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar" style="display: none; "><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-ipython" tabindex="-1"><div style="position: relative"><div style="position: relative; top: 0px; "><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; min-width: 100px; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"></div><pre class="CodeMirror-cursor" style="top: 0px; left: 0px; ">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden; left: 99px; ">&nbsp;</pre><div style="position: relative; z-index: -1; display: none; "></div><div style=""><pre><span class="cm-keyword">import</span> <span class="cm-variable">math</span></pre><pre><span class="cm-variable">math</span><span class="cm-operator">?</span></pre></div></div></div></div></div></div></div></div></div><div class="output_wrapper"><div style="" class="out_prompt_overlay prompt" title="click to expand outout; double click to hide output"></div><div class="output vbox" style=""></div><div style="display: none; " class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only output_collapsed vbox" role="button" title="click to expand outout">. . .</div></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><h2>Asynchrony</h2>

<p>If you execute the next cell, you will see the output arriving as it's generated, not all at the end.</p></div></div><div class="cell border-box-sizing code_cell vbox" tabindex="2"><div class="input hbox"><div class="prompt input_prompt">In&nbsp;[&nbsp;]:</div><div class="input_area box-flex1"><div class="CodeMirror"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 5.716552734375px; left: 5.7166595458984375px; "><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar" style="display: none; "><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-ipython" tabindex="-1"><div style="position: relative"><div style="position: relative; top: 0px; "><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; min-width: 172px; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"></div><pre class="CodeMirror-cursor" style="top: 0px; left: 0px; ">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden; left: 171px; ">&nbsp;</pre><div style="position: relative; z-index: -1; display: none; "></div><div style=""><pre><span class="cm-keyword">import</span> <span class="cm-variable">time</span></pre><pre> </pre><pre><span class="cm-keyword">for</span> <span class="cm-variable">i</span> <span class="cm-operator">in</span> <span class="cm-builtin">range</span>(<span class="cm-number">30</span>):</pre><pre>    <span class="cm-keyword">print</span> <span class="cm-variable">i</span></pre><pre>    <span class="cm-variable">time</span>.<span class="cm-variable">sleep</span>(<span class="cm-number">0.2</span>)</pre></div></div></div></div></div></div></div></div></div><div class="output_wrapper"><div style="" class="out_prompt_overlay prompt" title="click to expand outout; double click to hide output"></div><div class="output vbox" style=""></div><div style="display: none; " class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only output_collapsed vbox" role="button" title="click to expand outout">. . .</div></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><p>Note that you can collapse lengthy output by clicking the space to the left-hand side of it. Clicking there once, will embed the content inside a scrollable viewer, double clicking will collapse it entirely. Click again to reverse either effect.</p></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><h2>Rich Text</h2>

<p>Using Markdown, you can easily add much more than plain text to your notebooks, including...</p>

<ul>
<li><em>italics</em></li>
<li><strong>boldfaced</strong></li>
<li><code>monospaced</code></li>
<li><a href="http://ipython.org/" target="_blank">anchors</a></li>
<li>lists like this one
<ul><li>which can be nested
<ul><li>arbitrarily</li></ul></li></ul></li>
<li>a range of headers</li>
<li>horizontal rules</li>
</ul>

<hr>

<p>You can open a Markdown cell, like this one, by just hitting <code>Enter</code>. You use <code>Shift-Enter</code> to close the cell and have it rendered.</p></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><h2>Code Illustrations</h2>

<p>You can also easily embed code for illustration in a Markdown cell.</p>

<pre><code class="prettyprint"><span class="kwd">def</span><span class="pln">&nbsp;f</span><span class="pun">(</span><span class="pln">x</span><span class="pun">):</span><br><span class="pln">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="str">"""a&nbsp;docstring"""</span><br><span class="pln">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="kwd">return</span><span class="pln">&nbsp;x</span><span class="pun">**</span><span class="lit">2</span><br></code></pre>

<p>This feature supports languages other than Python.</p>

<pre><code class="prettyprint"><span class="kwd">if</span><span class="pln">&nbsp;</span><span class="pun">(</span><span class="pln">i</span><span class="pun">=</span><span class="lit">0</span><span class="pun">;</span><span class="pln">&nbsp;i</span><span class="pun">&lt;</span><span class="pln">n</span><span class="pun">;</span><span class="pln">&nbsp;i</span><span class="pun">++)</span><span class="pln">&nbsp;</span><span class="pun">{</span><br><span class="pln">&nbsp;&nbsp;printf</span><span class="pun">(</span><span class="str">"hello&nbsp;%d\n"</span><span class="pun">,</span><span class="pln">&nbsp;i</span><span class="pun">);</span><br><span class="pln">&nbsp;&nbsp;x&nbsp;</span><span class="pun">+=</span><span class="pln">&nbsp;</span><span class="lit">4</span><span class="pun">;</span><br><span class="pun">}</span><br></code></pre>

<hr>

<p><strong>Note:</strong> <em>Markdown is essentially shorthand HTML. It just allows you to quickly and easily define common HTML elements. You can still use regular HTML markup in a Markdown cell, which allows for very rich cells if you need to go beyond marking up plain text.</em></p></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><h2>MathJax</h2>

<p>Using MathJax, Markdown cells can also include beautifully rendered mathematical expressions, both inline, for example (<span class="MathJax_Preview"></span><span class="MathJax" id="MathJax-Element-2-Frame" role="textbox" aria-readonly="true" style=""><nobr><span class="math" id="MathJax-Span-6"><span style="display: inline-block; position: relative; width: 93px; height: 0px; font-size: 122%; "><span style="position: absolute; clip: rect(37.8px 19520px 61.6px -8.2px); top: -57px; left: 0px; "><span class="mrow" id="MathJax-Span-7"><span class="msubsup" id="MathJax-Span-8"><span style="display: inline-block; position: relative; width: 23.5px; height: 0px; "><span style="position: absolute; clip: rect(40.4px 19520px 55.2px -8.2px); top: -52px; left: 0px; "><span class="mi" id="MathJax-Span-9" style="font-family: MathJax_Math; font-style: italic; ">e</span><span style="display: inline-block; width: 0px; height: 52px; "></span></span><span style="position: absolute; top: -53.1px; left: 9px; "><span class="texatom" id="MathJax-Span-10"><span class="mrow" id="MathJax-Span-11"><span class="mi" id="MathJax-Span-12" style="font-size: 70.7%; font-family: MathJax_Math; font-style: italic; ">i</span><span class="mi" id="MathJax-Span-13" style="font-size: 70.7%; font-family: MathJax_Math; font-style: italic; ">π<span style="display: inline-block; overflow: hidden; height: 1px; width: 0px; "></span></span></span></span><span style="display: inline-block; width: 0px; height: 46px; "></span></span></span></span><span class="mo" id="MathJax-Span-14" style="font-family: MathJax_Main; padding-left: 4.3px; ">+</span><span class="mn" id="MathJax-Span-15" style="font-family: MathJax_Main; padding-left: 4.3px; ">1</span><span class="mo" id="MathJax-Span-16" style="font-family: MathJax_Main; padding-left: 5.4px; ">=</span><span class="mn" id="MathJax-Span-17" style="font-family: MathJax_Main; padding-left: 5.4px; ">0</span></span><span style="display: inline-block; width: 0px; height: 57px; "></span></span></span><span style="border-left-width: 0px; border-left-style: solid; display: inline-block; overflow: hidden; width: 0px; height: 19.8px; vertical-align: -2.6px; "></span></span></nobr></span><script type="math/tex" id="MathJax-Element-2">e^{i\pi} + 1 = 0</script>), and free floating.</p>

<p><span class="MathJax_Preview"></span><div class="MathJax_Display" role="textbox" aria-readonly="true" style="text-align: left; "><span class="MathJax" id="MathJax-Element-3-Frame" style=""><nobr><span class="math" id="MathJax-Span-18" style="margin-left: 0px; "><span style="display: inline-block; position: relative; width: 117px; height: 0px; font-size: 122%; "><span style="position: absolute; clip: rect(23.5px 19520px 83.5px -8.2px); top: -57px; left: 0px; "><span class="mrow" id="MathJax-Span-19"><span class="msubsup" id="MathJax-Span-20"><span style="display: inline-block; position: relative; width: 18.5px; height: 0px; "><span style="position: absolute; clip: rect(40.4px 19520px 55.2px -8.2px); top: -52px; left: 0px; "><span class="mi" id="MathJax-Span-21" style="font-family: MathJax_Math; font-style: italic; ">e</span><span style="display: inline-block; width: 0px; height: 52px; "></span></span><span style="position: absolute; top: -54.1px; left: 9px; "><span class="mi" id="MathJax-Span-22" style="font-size: 70.7%; font-family: MathJax_Math; font-style: italic; ">x</span><span style="display: inline-block; width: 0px; height: 46px; "></span></span></span></span><span class="mo" id="MathJax-Span-23" style="font-family: MathJax_Main; padding-left: 5.4px; ">=</span><span class="munderover" id="MathJax-Span-24" style="padding-left: 5.4px; "><span style="display: inline-block; position: relative; width: 29px; height: 0px; "><span style="position: absolute; clip: rect(56.5px 19520px 89.8px -7.9px); top: -78px; left: 0px; "><span class="mo" id="MathJax-Span-25" style="font-family: MathJax_Size2; vertical-align: 0px; ">∑</span><span style="display: inline-block; width: 0px; height: 78px; "></span></span><span style="position: absolute; clip: rect(34.8px 19520px 52.3px -8.7px); top: -25.8px; left: 3px; "><span class="texatom" id="MathJax-Span-26"><span class="mrow" id="MathJax-Span-27"><span class="mi" id="MathJax-Span-28" style="font-size: 70.7%; font-family: MathJax_Math; font-style: italic; ">i</span><span class="mo" id="MathJax-Span-29" style="font-size: 70.7%; font-family: MathJax_Main; ">=</span><span class="mn" id="MathJax-Span-30" style="font-size: 70.7%; font-family: MathJax_Main; ">0</span></span></span><span style="display: inline-block; width: 0px; height: 47px; "></span></span><span style="position: absolute; clip: rect(35.9px 19520px 50.2px -8.2px); top: -69.4px; left: 7.5px; "><span class="mi" id="MathJax-Span-31" style="font-size: 70.7%; font-family: MathJax_Main; ">∞</span><span style="display: inline-block; width: 0px; height: 47px; "></span></span></span></span><span class="mfrac" id="MathJax-Span-32" style="padding-left: 5.6px; padding-right: 2.3px; "><span style="display: inline-block; position: relative; width: 15.3px; height: 0px; "><span style="position: absolute; clip: rect(41px 19520px 60px -7.4px); top: -70.2px; left: 50%; margin-left: -5px; "><span class="mn" id="MathJax-Span-33" style="font-family: MathJax_Main; ">1</span><span style="display: inline-block; width: 0px; height: 57px; "></span></span><span style="position: absolute; clip: rect(40px 19520px 60.2px -8.6px); top: -43.6px; left: 50%; margin-left: -6.5px; "><span class="mrow" id="MathJax-Span-34"><span class="mi" id="MathJax-Span-35" style="font-family: MathJax_Math; font-style: italic; ">i</span><span class="mo" id="MathJax-Span-36" style="font-family: MathJax_Main; ">!</span></span><span style="display: inline-block; width: 0px; height: 57px; "></span></span><span style="position: absolute; clip: rect(16.8px 19520px 24px -9px); top: -25.3px; left: 0px; "><span style="border-left-width: 15.3px; border-left-style: solid; display: inline-block; overflow: hidden; width: 0px; height: 1.25px; vertical-align: 0px; "></span><span style="display: inline-block; width: 0px; height: 21px; "></span></span></span></span><span class="msubsup" id="MathJax-Span-37" style="padding-left: 3.3px; "><span style="display: inline-block; position: relative; width: 17.5px; height: 0px; "><span style="position: absolute; clip: rect(40.4px 19520px 55.2px -8.3px); top: -52px; left: 0px; "><span class="mi" id="MathJax-Span-38" style="font-family: MathJax_Math; font-style: italic; ">x</span><span style="display: inline-block; width: 0px; height: 52px; "></span></span><span style="position: absolute; top: -54.1px; left: 11px; "><span class="mi" id="MathJax-Span-39" style="font-size: 70.7%; font-family: MathJax_Math; font-style: italic; ">i</span><span style="display: inline-block; width: 0px; height: 46px; "></span></span></span></span></span><span style="display: inline-block; width: 0px; height: 57px; "></span></span></span><span style="border-left-width: 0px; border-left-style: solid; display: inline-block; overflow: hidden; width: 0px; height: 56px; vertical-align: -24.5px; "></span></span></nobr></span></div><script type="math/tex; mode=display" id="MathJax-Element-3">e^x=\sum_{i=0}^\infty \frac{1}{i!}x^i</script></p></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><h2>Multimedia</h2>

<p>IPython provides a display system that makes it easy to render data, such as imagery. Below is a cell which displays a remote gif from a URL.</p></div></div><div class="cell border-box-sizing code_cell vbox" tabindex="2"><div class="input hbox"><div class="prompt input_prompt">In&nbsp;[&nbsp;]:</div><div class="input_area box-flex1"><div class="CodeMirror"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 5.716796875px; left: 5.7166595458984375px; "><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar" style="display: none; "><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-ipython" tabindex="-1"><div style="position: relative"><div style="position: relative; top: 0px; "><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; min-width: 478px; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"></div><pre class="CodeMirror-cursor" style="top: 0px; left: 0px; ">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden; left: 477px; ">&nbsp;</pre><div style="position: relative; z-index: -1; display: none; "></div><div style=""><pre><span class="cm-keyword">from</span> <span class="cm-variable">IPython</span>.<span class="cm-variable">display</span> <span class="cm-keyword">import</span> <span class="cm-variable">Image</span></pre><pre> </pre><pre><span class="cm-variable">Image</span>(<span class="cm-variable">url</span>=<span class="cm-string">'http://python.org/images/python-logo.gif'</span>)</pre></div></div></div></div></div></div></div></div></div><div class="output_wrapper"><div style="" class="out_prompt_overlay prompt" title="click to expand outout; double click to hide output"></div><div class="output vbox" style=""></div><div style="display: none; " class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only output_collapsed vbox" role="button" title="click to expand outout">. . .</div></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><p>SVG images are also supported out the box, since modern browsers do a good job of rendering them. The following cell displays a local SVG file.</p></div></div><div class="cell border-box-sizing code_cell vbox" tabindex="2"><div class="input hbox"><div class="prompt input_prompt">In&nbsp;[&nbsp;]:</div><div class="input_area box-flex1"><div class="CodeMirror"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 5.716796875px; left: 5.7166595458984375px; "><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar" style="display: none; "><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-ipython" tabindex="-1"><div style="position: relative"><div style="position: relative; top: 0px; "><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; min-width: 280px; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"></div><pre class="CodeMirror-cursor" style="top: 0px; left: 0px; ">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden; left: 279px; ">&nbsp;</pre><div style="position: relative; z-index: -1; display: none; "></div><div style=""><pre><span class="cm-keyword">from</span> <span class="cm-variable">IPython</span>.<span class="cm-variable">display</span> <span class="cm-keyword">import</span> <span class="cm-variable">SVG</span></pre><pre> </pre><pre><span class="cm-variable">SVG</span>(<span class="cm-variable">filename</span>=<span class="cm-string">'python_logo.svg'</span>)</pre></div></div></div></div></div></div></div></div></div><div class="output_wrapper"><div style="" class="out_prompt_overlay prompt" title="click to expand outout; double click to hide output"></div><div class="output vbox" style=""></div><div style="display: none; " class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only output_collapsed vbox" role="button" title="click to expand outout">. . .</div></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><p>Video, whether hosted locally or remotely, can also be displayed. True to IPython philosophy, the display system used by the Notebook is designed to be trivial for users to extend. The following code uses the included, canonical example of this extensibility, and displays a YouTube video.</p></div></div><div class="cell border-box-sizing code_cell vbox" tabindex="2"><div class="input hbox"><div class="prompt input_prompt">In&nbsp;[&nbsp;]:</div><div class="input_area box-flex1"><div class="CodeMirror"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 5.716796875px; left: 5.7166595458984375px; "><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar" style="display: none; "><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-ipython" tabindex="-1"><div style="position: relative"><div style="position: relative; top: 0px; "><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; min-width: 415px; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"></div><pre class="CodeMirror-cursor" style="top: 0px; left: 0px; ">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden; left: 414px; ">&nbsp;</pre><div style="position: relative; z-index: -1; display: none; "></div><div style=""><pre><span class="cm-keyword">from</span> <span class="cm-variable">IPython</span>.<span class="cm-variable">display</span> <span class="cm-keyword">import</span> <span class="cm-variable">YouTubeVideo</span></pre><pre> </pre><pre><span class="cm-comment"># A Talk About IPython</span></pre><pre><span class="cm-comment"># Given at Sage Days at U. Washington, Seattle</span></pre><pre><span class="cm-comment"># Video credit: William Stein</span></pre><pre><span class="cm-variable">YouTubeVideo</span>(<span class="cm-string">'1j_HxD4iLn8'</span>)</pre></div></div></div></div></div></div></div></div></div><div class="output_wrapper"><div style="" class="out_prompt_overlay prompt" title="click to expand outout; double click to hide output"></div><div class="output vbox" style=""></div><div style="display: none; " class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only output_collapsed vbox" role="button" title="click to expand outout">. . .</div></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><h2>Frames</h2>

<p>As Markdown cells are just HTML, they can actually contain an entire page from another site, using an iframe. For example, the following code displays Wikipedia's mobile optimized page for their IPython article.</p></div></div><div class="cell border-box-sizing code_cell vbox" tabindex="2"><div class="input hbox"><div class="prompt input_prompt">In&nbsp;[&nbsp;]:</div><div class="input_area box-flex1"><div class="CodeMirror"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 5.716796875px; left: 5.7166595458984375px; "><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar" style="display: none; "><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-ipython" tabindex="-1"><div style="position: relative"><div style="position: relative; top: 0px; "><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; min-width: 856px; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"></div><pre class="CodeMirror-cursor" style="top: 0px; left: 0px; ">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden; left: 855px; ">&nbsp;</pre><div style="position: relative; z-index: -1; display: none; "></div><div style=""><pre><span class="cm-keyword">from</span> <span class="cm-variable">IPython</span>.<span class="cm-variable">display</span> <span class="cm-keyword">import</span> <span class="cm-variable">HTML</span></pre><pre> </pre><pre><span class="cm-variable">HTML</span>(<span class="cm-string">'&lt;iframe src=http://en.wikipedia.org/wiki/IPython?useformat=mobile width=800 height=600&gt;'</span>)</pre></div></div></div></div></div></div></div></div></div><div class="output_wrapper"><div style="" class="out_prompt_overlay prompt" title="click to expand outout; double click to hide output"></div><div class="output vbox" style=""></div><div style="display: none; " class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only output_collapsed vbox" role="button" title="click to expand outout">. . .</div></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><p><strong>Note:</strong> <em>This Wikipedia article desperately needs some work if anyone's got an appetite for some low hanging fruit.</em></p></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><h2>Mathematics</h2>

<p>As well as being able to render mathematical expressions within Markdown cells, the IPython Notebook can also use Mathjax to display the output of Python computations as LaTeX expressions.</p></div></div><div class="cell border-box-sizing code_cell vbox" tabindex="2"><div class="input hbox"><div class="prompt input_prompt">In&nbsp;[&nbsp;]:</div><div class="input_area box-flex1"><div class="CodeMirror"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 5.716796875px; left: 5.7166595458984375px; "><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar" style="display: none; "><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-ipython" tabindex="-1"><div style="position: relative"><div style="position: relative; top: 0px; "><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; min-width: 541px; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"></div><pre class="CodeMirror-cursor" style="top: 0px; left: 0px; ">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden; left: 540px; ">&nbsp;</pre><div style="position: relative; z-index: -1; display: none; "></div><div style=""><pre><span class="cm-keyword">from</span> <span class="cm-variable">IPython</span>.<span class="cm-variable">display</span> <span class="cm-keyword">import</span> <span class="cm-variable">Math</span></pre><pre> </pre><pre><span class="cm-variable">Math</span>(<span class="cm-string">r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx'</span>)</pre></div></div></div></div></div></div></div></div></div><div class="output_wrapper"><div style="" class="out_prompt_overlay prompt" title="click to expand outout; double click to hide output"></div><div class="output vbox" style=""></div><div style="display: none; " class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only output_collapsed vbox" role="button" title="click to expand outout">. . .</div></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><p>With the <code>Latex</code> class, you're required to include the delimiters, as this allows you to use other LaTeX modes such as <code>eqnarray</code>.</p></div></div><div class="cell border-box-sizing code_cell vbox" tabindex="2"><div class="input hbox"><div class="prompt input_prompt">In&nbsp;[&nbsp;]:</div><div class="input_area box-flex1"><div class="CodeMirror"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 5.716796875px; left: 5.7166595458984375px; "><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar" style="display: none; "><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-ipython" tabindex="-1"><div style="position: relative"><div style="position: relative; top: 0px; "><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; min-width: 1135px; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"></div><pre class="CodeMirror-cursor" style="top: 0px; left: 0px; ">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden; left: 1134px; ">&nbsp;</pre><div style="position: relative; z-index: -1; display: none; "></div><div style=""><pre><span class="cm-keyword">from</span> <span class="cm-variable">IPython</span>.<span class="cm-variable">display</span> <span class="cm-keyword">import</span> <span class="cm-variable">Latex</span></pre><pre> </pre><pre><span class="cm-variable">Latex</span>(<span class="cm-string">r"""\begin{eqnarray}</span></pre><pre><span class="cm-string">\nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} &amp; = \frac{4\pi}{c}\vec{\mathbf{j}} \\</span></pre><pre><span class="cm-string">\nabla \cdot \vec{\mathbf{E}} &amp; = 4 \pi \rho \\</span></pre><pre><span class="cm-string">\nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} &amp; = \vec{\mathbf{0}} \\</span></pre><pre><span class="cm-string">\nabla \cdot \vec{\mathbf{B}} &amp; = 0 </span></pre><pre><span class="cm-string">\end{eqnarray}"""</span>)</pre></div></div></div></div></div></div></div></div></div><div class="output_wrapper"><div style="" class="out_prompt_overlay prompt" title="click to expand outout; double click to hide output"></div><div class="output vbox" style=""></div><div style="display: none; " class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only output_collapsed vbox" role="button" title="click to expand outout">. . .</div></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><h2>Loading Code</h2>

<p>You can use the <code>load</code> magic, with any local or remote URL, to load a script into a notebook.</p></div></div><div class="cell border-box-sizing code_cell vbox" tabindex="2"><div class="input hbox"><div class="prompt input_prompt">In&nbsp;[&nbsp;]:</div><div class="input_area box-flex1"><div class="CodeMirror"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 5.716552734375px; left: 5.7166595458984375px; "><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar" style="display: none; "><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-ipython" tabindex="-1"><div style="position: relative"><div style="position: relative; top: 0px; "><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; min-width: 757px; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>%load http://matplotlib.sourceforge.net/mpl_examples/pylab_examples/integral_demo.py</span></pre></div><pre class="CodeMirror-cursor" style="top: 0px; left: 0px; ">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden; left: 756px; ">&nbsp;</pre><div style="position: relative; z-index: -1; display: none; "></div><div style=""><pre><span class="cm-operator">%</span><span class="cm-variable">load</span> <span class="cm-variable">http</span>:<span class="cm-operator">//</span><span class="cm-variable">matplotlib</span>.<span class="cm-variable">sourceforge</span>.<span class="cm-variable">net</span><span class="cm-operator">/</span><span class="cm-variable">mpl_examples</span><span class="cm-operator">/</span><span class="cm-variable">pylab_examples</span><span class="cm-operator">/</span><span class="cm-variable">integral_demo</span>.<span class="cm-variable">py</span></pre></div></div></div></div></div></div></div></div></div><div class="output_wrapper"><div style="" class="out_prompt_overlay prompt" title="click to expand outout; double click to hide output"></div><div class="output vbox" style=""></div><div style="display: none; " class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only output_collapsed vbox" role="button" title="click to expand outout">. . .</div></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><p>You can also drag and drop a Python file into the Notebook dashboard to add it to the directory.</p></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><h2>Extensibility</h2>

<p>IPython provides a comprehensive, pure Python configuration system, which makes it straight forward to set options and enables configuration scripting. There's a number of ways to inject code into a session too, allowing you to arbitrarily hack any session's namespace. IPython also allows you to define your own magic commands, as decorated Python functions, and to alias shell commands. All of these modifications can be made during a session and can be easily added to a profile for use in future sessions. Should you need a deeper level of customisation, IPython offers a powerful extension system, enabling you to extend IPython's core features.</p>

<p>These extensibilty options can all take full advantage of the Notebook's features.</p>

<p>There are some core extensions, such as <code>octavemagic</code>, which are bundled with IPython, and there are others available online. Loading an extension is a simple one-liner.</p></div></div><div class="cell border-box-sizing code_cell vbox" tabindex="2"><div class="input hbox"><div class="prompt input_prompt">In&nbsp;[&nbsp;]:</div><div class="input_area box-flex1"><div class="CodeMirror"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 5.716796875px; left: 5.7166595458984375px; "><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar" style="display: none; "><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-ipython" tabindex="-1"><div style="position: relative"><div style="position: relative; top: 0px; "><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; min-width: 190px; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>%load_ext octavemagic</span></pre></div><pre class="CodeMirror-cursor" style="top: 0px; left: 0px; ">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden; left: 189px; ">&nbsp;</pre><div style="position: relative; z-index: -1; display: none; "></div><div style=""><pre><span class="cm-operator">%</span><span class="cm-variable">load_ext</span> <span class="cm-variable">octavemagic</span></pre></div></div></div></div></div></div></div></div></div><div class="output_wrapper"><div style="" class="out_prompt_overlay prompt" title="click to expand outout; double click to hide output"></div><div class="output vbox" style=""></div><div style="display: none; " class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only output_collapsed vbox" role="button" title="click to expand outout">. . .</div></div></div><div class="cell border-box-sizing code_cell vbox" tabindex="2"><div class="input hbox"><div class="prompt input_prompt">In&nbsp;[&nbsp;]:</div><div class="input_area box-flex1"><div class="CodeMirror"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 5.716796875px; left: 5.7166595458984375px; "><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar" style="display: none; "><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-ipython" tabindex="-1"><div style="position: relative"><div style="position: relative; top: 0px; "><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; min-width: 217px; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"></div><pre class="CodeMirror-cursor" style="top: 0px; left: 0px; ">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden; left: 216px; ">&nbsp;</pre><div style="position: relative; z-index: -1; display: none; "></div><div style=""><pre><span class="cm-operator">%%</span><span class="cm-variable">octave</span> <span class="cm-operator">-</span><span class="cm-variable">f</span> <span class="cm-variable">png</span></pre><pre> </pre><pre><span class="cm-variable">p</span> = [<span class="cm-number">12</span> <span class="cm-operator">-</span><span class="cm-number">2.5</span> <span class="cm-operator">-</span><span class="cm-number">8</span> <span class="cm-operator">-</span><span class="cm-number">0.1</span> <span class="cm-number">8</span>];</pre><pre><span class="cm-variable">x</span> = <span class="cm-number">0</span>:<span class="cm-number">0.01</span>:<span class="cm-number">1</span>;</pre><pre> </pre><pre><span class="cm-variable">polyout</span>(<span class="cm-variable">p</span>, <span class="cm-string">'x'</span>)</pre><pre><span class="cm-variable">plot</span>(<span class="cm-variable">x</span>, <span class="cm-variable">polyval</span>(<span class="cm-variable">p</span>, <span class="cm-variable">x</span>));</pre></div></div></div></div></div></div></div></div></div><div class="output_wrapper"><div style="" class="out_prompt_overlay prompt" title="click to expand outout; double click to hide output"></div><div class="output vbox" style=""></div><div style="display: none; " class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only output_collapsed vbox" role="button" title="click to expand outout">. . .</div></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><p>There is also a growing family of projects that use the latest JavaScript libraries to extend the functionality of the Notebook still further. This is allowing the development of extensions that use emergent browser technologies to produce amazing enhancements, such as high definition 3D rendering.</p></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><h2>Scripting</h2>

<p>IPython provides scripting magics to run a block of code in another language and view the output from that interpreter. You can use the base magic, <code>script</code>, with a path to any interpreter you have installed, though some common interpreters have there own cell magics to make life easier.</p></div></div><div class="cell border-box-sizing code_cell vbox" tabindex="2"><div class="input hbox"><div class="prompt input_prompt">In&nbsp;[&nbsp;]:</div><div class="input_area box-flex1"><div class="CodeMirror"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 5.716796875px; left: 5.7166595458984375px; "><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar" style="display: none; "><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-ipython" tabindex="-1"><div style="position: relative"><div style="position: relative; top: 0px; "><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; min-width: 343px; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"></div><pre class="CodeMirror-cursor" style="top: 0px; left: 0px; ">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden; left: 342px; ">&nbsp;</pre><div style="position: relative; z-index: -1; display: none; "></div><div style=""><pre><span class="cm-operator">%%</span><span class="cm-variable">ruby</span></pre><pre> </pre><pre><span class="cm-variable">puts</span> <span class="cm-string">"Hello from Ruby #{RUBY_VERSION}"</span></pre></div></div></div></div></div></div></div></div></div><div class="output_wrapper"><div style="" class="out_prompt_overlay prompt" title="click to expand outout; double click to hide output"></div><div class="output vbox" style=""></div><div style="display: none; " class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only output_collapsed vbox" role="button" title="click to expand outout">. . .</div></div></div><div class="cell text_cell border-box-sizing ui-widget-content ui-corner-all" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><h2>Publishing</h2>

<p>If you have a notebook you'd like to share, there's a wide range of options. A popular choice is pushing the file to GitHub as a gist, then using <a href="http://nbviewer.ipython.org/" target="_blank">nbviewer</a> to render the document online. It's also possible to publish a notebook on websites, such as Blogger and Wordpress, as well as convert it to popular document formats, like PDF.</p>

<p>There are also options for sharing your entire environment, which is useful for publishing reproducible computations.</p></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><h2>Acknowledgment</h2>

<p>In the numerical and scientific Python community, there are only a very small number of developers doing an enourmous percentage of the work. Please consider contributing some of your own code back to the various projects that this community tireless develop and champion. If your company profits from their work, that's excellent, but please remember that many projects could make really good use of some financial support too.</p>

<p>Anyone can make donations, of any size, to the benefit of the community through the <a href="http://numfocus.org/" target="_blank">NumFOCUS Foundation</a>.</p></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><h3>Python</h3>

<p>The Python Programming Language was originally authored by the community's Benevolent Dictator for Life, Guido van Rossum, and is today maintained by the <a href="http://www.python.org/psf/" target="_blank">Python Software Foundation</a>. The list of contributors is huge, and the language has many sponsors and donors. More information can easily be obtained from the PSF.</p></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><h3>IPython</h3>

<p>IPython's orginal author, lead developer and the community's BDFL, is Fernando Perez. Fernando was joined early on by Brian Granger, and the two have worked together on IPython since. Brian has authored many contributions, including the Notebook itself. The team has continued to grow, taking on Benjamin (Min) Ragan-Kelley, amongst many others.</p>

<p>IPython has also received financial support from a number of organisations, notably <a href="http://www.enthought.com/products/epd.php" target="_blank">Enthought</a>. More information is available from the <a href="http://ipython.org/ipython-doc/dev/about/credits.html" target="_blank">IPython</a> website.</p></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><h3>matplotlib</h3>

<p>The <a href="http://matplotlib.org/" target="_blank">matplotlib</a> project was founded, and its community was led, by the late John Hunter (1968-2012). John was the first individual to earn the Python Software Foundation's Distinguished Service Award, a fitting testament to his enourmous impact on the Python world at large. The matplotlib community carries on his work under the leadership of Michael Droettboom.</p></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><h3>MathJax</h3>

<p>The <a href="http://www.mathjax.org/" target="_blank">MathJax</a> project is managed by Design Science. The project receives financial assistance from a number of organisations, including the American Mathematical Society and the Society for Industrial and Applied Mathematics.</p></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><h3>Markdown</h3>

<p>Markdown is a personal project of John Gruber's. More information is available from the project's <a href="http://daringfireball.net/projects/markdown/" target="_blank">website</a>.</p></div></div><div class="cell text_cell border-box-sizing" tabindex="2"><div class="text_cell_input border-box-sizing" style="display: none; "><div class="CodeMirror CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px; height: 1em" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scrollbar"><div class="CodeMirror-scrollbar-inner"></div></div><div class="CodeMirror-scroll cm-s-default" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter" style="display: none; "><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative; z-index: 0; outline: none; "><div style="position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"><pre><span>x</span></pre></div><pre class="CodeMirror-cursor">&nbsp;</pre><pre class="CodeMirror-cursor" style="visibility: hidden">&nbsp;</pre><div style="position: relative; z-index: -1"></div><div></div></div></div></div></div></div></div></div><div class="text_cell_render border-box-sizing rendered_html" tabindex="-1" style=""><h3>The Broader Community</h3>

<p>IPython is only as good as the tools and libraries it is used to interact with, so it's very fortunate that many of these third party projects are awesome, especially <a href="http://scipy.org/more_about_SciPy" target="_blank">NumPy</a> and <a href="http://scipy.org/more_about_SciPy" target="_blank">SciPy</a>. There's a large community of developers behind these efforts, but few are as renowned for their dedication as Travis Oliphant.</p>

<p>The community also receives ongoing contributions and finacial assistance from its corporate members, including <a href="http://www.enthought.com/products/epd.php" target="_blank">Enthought</a>, <a href="http://continuum.io/" target="_blank">Continuum Analytics</a>, <a href="https://github.com/" target="_blank">GitHub</a>, <a href="http://www.google.com/about/company/" target="_blank">Google</a> and <a href="http://www.microsoft.com/about/companyinformation/en/us/default.aspx" target="_blank">Microsoft</a>.</p></div></div><div class="end_space" style="height: 30%; "></div></div>
</div>
</div>

</div>
<script src="./a_brief_tour_files/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
<script src="./a_brief_tour_files/jquery-ui.min.js" type="text/javascript" charset="utf-8"></script>
<script src="./a_brief_tour_files/namespace.js" type="text/javascript" charset="utf-8"></script>
<script src="./a_brief_tour_files/page.js" type="text/javascript" charset="utf-8"></script>
<script src="./a_brief_tour_files/loginwidget.js" type="text/javascript" charset="utf-8"></script>

<script src="./a_brief_tour_files/codemirror.js" charset="utf-8"></script>
<script src="./a_brief_tour_files/python.js" charset="utf-8"></script>
<script src="./a_brief_tour_files/htmlmixed.js" charset="utf-8"></script>
<script src="./a_brief_tour_files/xml.js" charset="utf-8"></script>
<script src="./a_brief_tour_files/javascript.js" charset="utf-8"></script>
<script src="./a_brief_tour_files/css.js" charset="utf-8"></script>
<script src="./a_brief_tour_files/rst.js" charset="utf-8"></script>
<script src="./a_brief_tour_files/markdown.js" charset="utf-8"></script>
<script src="./a_brief_tour_files/Markdown.Converter.js" charset="utf-8"></script>
<script src="./a_brief_tour_files/prettify.js" charset="utf-8"></script>
<script src="./a_brief_tour_files/date.format.js" charset="utf-8"></script>
<script src="./a_brief_tour_files/events.js" type="text/javascript" charset="utf-8"></script>
<script src="./a_brief_tour_files/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="./a_brief_tour_files/initmathjax.js" type="text/javascript" charset="utf-8"></script>
<script src="./a_brief_tour_files/outputarea.js" type="text/javascript" charset="utf-8"></script>
<script src="./a_brief_tour_files/cell.js" type="text/javascript" charset="utf-8"></script>
<script src="./a_brief_tour_files/codecell.js" type="text/javascript" charset="utf-8"></script>
<script src="./a_brief_tour_files/textcell.js" type="text/javascript" charset="utf-8"></script>
<script src="./a_brief_tour_files/kernel.js" type="text/javascript" charset="utf-8"></script>
<script src="./a_brief_tour_files/notebook.js" type="text/javascript" charset="utf-8"></script>
<script src="./a_brief_tour_files/printnotebookmain.js" type="text/javascript" charset="utf-8"></script>

<script src="./a_brief_tour_files/custom.js" type="text/javascript" charset="utf-8"></script>


<div id="MathJax_Font_Test" style="position: absolute; visibility: hidden; top: 0px; left: 0px; width: auto; padding: 0px; border: 0px; margin: 0px; white-space: nowrap; text-align: left; text-indent: 0px; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; font-size: 40px; font-weight: normal; font-style: normal; font-family: MathJax_Size2, monospace; "></div></body></html>