{ "metadata": { "name": "", "signature": "sha256:2e034a055c4364d5ae110bb9da9494b9bdac4859197b6270c471b5128b7f6463" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "
The IPython Notebook Ecosystem
" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%pylab inline\n", "%run talktools" ], "language": "python", "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] }, { "html": [ "\n" ], "metadata": {}, "output_type": "display_data", "text": [ "" ] } ], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Reproducible research..." ] }, { "cell_type": "code", "collapsed": false, "input": [ "website('http://www.nature.com/ismej/journal/v7/n3/full/ismej2012123a.html', None)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "" ], "metadata": {}, "output_type": "pyout", "prompt_number": 21, "text": [ "" ] } ], "prompt_number": 21 }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Notebooks and AMIs" ] }, { "cell_type": "code", "collapsed": false, "input": [ "website('http://qiime.org/home_static/nih-cloud-apr2012', None)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "" ], "metadata": {}, "output_type": "pyout", "prompt_number": 18, "text": [ "" ] } ], "prompt_number": 18 }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "
Notebook-based technical blogs
\n", "## Jake VanderPlas (astronomy/ML at UW)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "website('http://jakevdp.github.io/blog/2013/12/05/static-interactive-widgets', None)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "" ], "metadata": {}, "output_type": "pyout", "prompt_number": 15, "text": [ "" ] } ], "prompt_number": 15 }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "
Books: \"Literate Computing\"
\n", "\n", "Python for Signal Processing, By [Jose Unpingco](https://github.com/unpingco/Python-for-Signal-Processing)\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
\n", "\n", "\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "
... \"Mining the Social Web\"
\n", "By [Matthew Russell](https://github.com/ptwobrussell).\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
\n", "
    \n", "
  • O'Reilly book
  • \n", "
  • Companion Notebook collection
  • \n", "
  • All available as a Github repo
  • \n", "
\n", "
\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "
NBViewer: Share notebooks online
\n", "## Matthias Bussonnier, 2012" ] }, { "cell_type": "code", "collapsed": false, "input": [ "website('nbviewer.ipython.org', None)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "" ], "metadata": {}, "output_type": "pyout", "prompt_number": 22, "text": [ "" ] } ], "prompt_number": 22 }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Opening up science \n", "### Brian Keegan and 538" ] }, { "cell_type": "code", "collapsed": false, "input": [ "website('http://fivethirtyeight.com/features/the-dollar-and-cents-case-against-hollywoods-exclusion-of-women/', None)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "" ], "metadata": {}, "output_type": "pyout", "prompt_number": 13, "text": [ "" ] } ], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Brian Keegan's amazing notebook\n", "\n", "* [The Need for Openness in Data Journalism](http://nbviewer.ipython.org/github/brianckeegan/Bechdel/blob/master/Bechdel_test.ipynb)\n", "\n", "* [Reply from 538 team](http://fivethirtyeight.com/datalab/the-bechdel-test-checking-our-work/) (emph. mine):\n", "\n", "Keegan also made a larger point: *FiveThirtyEight and similar sites should make their data available. We couldn\u2019t agree more*. We\u2019re exploring ways of making our raw code and data available to readers, including through FiveThirtyEight\u2019s GitHub account." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "

\n", "# Others building atop IPython\n", "## OSS and commercial players" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Enthought Canopy\n", "
\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Continuum Analytics: Wakari.io\n", "
\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Microsoft Python Tools for Visual Studio\n", "### Shahrokh Mortazavi, Dino Viehland, Wenming Ye, Dennis Gannon. Thanks!!\n", "
\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "
Microsoft Azure (S. Mortazavi, W. Ye)
\n", "\n", "
\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# StarCluster\n", "## Justin Riley @ MIT\n", "
\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# IBM Watson\n", "
\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Authorea: collaborative academic writing" ] }, { "cell_type": "code", "collapsed": false, "input": [ "website('https://www.authorea.com/users/3/articles/3904/_show_article', None)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "" ], "metadata": {}, "output_type": "pyout", "prompt_number": 14, "text": [ "" ] } ], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Plotly: d3, server-side plots with data" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import plotly\n", "from pldemo import boxes, layout\n", "py = plotly.plotly('IPython.Demo', '1fw3zw2o13')\n", "py.iplot(boxes, layout = layout, filename='Distributions', fileopt='overwrite', \n", " width=700, height=400)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "" ], "metadata": {}, "output_type": "pyout", "prompt_number": 8, "text": [ "" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# NBDiff\n", "\n", "### U. Toronto students, mentored by Greg Wilson\n", "\n", "Talk to Tavish Armstrong!" ] }, { "cell_type": "code", "collapsed": false, "input": [ "website('nbdiff.org', None)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "" ], "metadata": {}, "output_type": "pyout", "prompt_number": 10, "text": [ "" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Wrapping up\n", "\n", "* **Python and Science**\n", " - The **language** lured me in...\n", " - But I stayed for the **community**!\n", " - This conversation is only getting better!\n", "\n", "* **IPython**\n", " - Language-agnostic **protocols** for interactive computing.\n", " - **Open format** for sharing, collaboration, publication.\n", " - Tools for **all** Pythonistas, *not just scientists*.\n", " \n", "* **Thank you!**\n", " - **Guido van Rossum**, Python-dev.\n", " - **Diana Clarke**, **Dave Wolever**, PyCon'14 team!" ] } ], "metadata": {} } ] }