{
 "metadata": {
  "name": "",
  "signature": "sha256:ae521d31a2ed8eb2f249825915f64611628365cb0ced53ef18be691238c0018e"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "[Sebastian Raschka](http://sebastianraschka.com)  \n",
      "\n",
      "- [Link to the GitHub Repository python_reference](https://github.com/rasbt/python_reference/)\n",
      "\n",
      "<hr>\n",
      "I would be happy to hear your comments and suggestions.  \n",
      "Please feel free to drop me a note via\n",
      "[twitter](https://twitter.com/rasbt), [email](mailto:bluewoodtree@gmail.com), or [google+](https://plus.google.com/+SebastianRaschka).\n",
      "<hr>"
     ]
    },
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "IPython magic function documentation - `%watermark`"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "I wrote this simple `watermark` IPython magic function to conveniently add date- and time-stamps to my IPython notebooks. Also, I often want to document various system information, e.g., for my [Python benchmarks](https://github.com/rasbt/One-Python-benchmark-per-day) series.\n"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "<br>\n",
      "<br>"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Installation"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "The `watermark` line magic can be directly installed from my GitHub repository via"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%install_ext https://raw.githubusercontent.com/rasbt/python_reference/master/ipython_magic/watermark.py"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Installed watermark.py. To use it, type:\n",
        "  %load_ext watermark\n"
       ]
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "<br>\n",
      "<br>"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Loading the `%watermark` magic"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "To load the `date` magic, execute the following line in your IPython notebook or current IPython shell"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%load_ext watermark"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 2
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "<br>\n",
      "<br>"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Usage"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "In order to display the optional `watermark` arguments, type"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%watermark?"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 3
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "<pre>  %watermark [-a AUTHOR] [-d] [-n] [-t] [-z] [-u] [-c CUSTOM_TIME] [-v]\n",
      "                 [-p PACKAGES] [-h] [-m] [-g]\n",
      "\n",
      " \n",
      "IPython magic function to print date/time stamps \n",
      "and various system information.\n",
      "\n",
      "watermark version 1.1.0\n",
      "\n",
      "optional arguments:\n",
      "  -a AUTHOR, --author AUTHOR\n",
      "                        prints author name\n",
      "  -d, --date            prints current date\n",
      "  -n, --datename        prints date with abbrv. day and month names\n",
      "  -t, --time            prints current time\n",
      "  -z, --timezone        appends the local time zone\n",
      "  -u, --updated         appends a string \"Last updated: \"\n",
      "  -c CUSTOM_TIME, --custom_time CUSTOM_TIME\n",
      "                        prints a valid strftime() string\n",
      "  -v, --python          prints Python and IPython version\n",
      "  -p PACKAGES, --packages PACKAGES\n",
      "                        prints versions of specified Python modules and\n",
      "                        packages\n",
      "  -h, --hostname        prints the host name\n",
      "  -m, --machine         prints system and machine info\n",
      "  -g, --githash         prints current Git commit hash\n",
      "</pre>"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "<br>\n",
      "<br>"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Examples"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%watermark"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "29/06/2014 01:19:10\n",
        "\n",
        "CPython 3.4.1\n",
        "IPython 2.1.0\n",
        "\n",
        "compiler   : GCC 4.2.1 (Apple Inc. build 5577)\n",
        "system     : Darwin\n",
        "release    : 13.2.0\n",
        "machine    : x86_64\n",
        "processor  : i386\n",
        "CPU cores  : 2\n",
        "interpreter: 64bit\n"
       ]
      }
     ],
     "prompt_number": 3
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "<br>"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%watermark -d -t"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "29/06/2014 01:19:11 \n"
       ]
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "<br>"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%watermark -u -n -t -z"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Last updated: Sun Jun 19 2014 01:19:12 EDT\n"
       ]
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "<br>"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%watermark -v"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "CPython 3.4.1\n",
        "IPython 2.1.0\n"
       ]
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "<br>"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%watermark -m"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "compiler   : GCC 4.2.1 (Apple Inc. build 5577)\n",
        "system     : Darwin\n",
        "release    : 13.2.0\n",
        "machine    : x86_64\n",
        "processor  : i386\n",
        "CPU cores  : 2\n",
        "interpreter: 64bit\n"
       ]
      }
     ],
     "prompt_number": 7
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "<br>"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%watermark -v -m -p numpy,scipy"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "CPython 3.4.1\n",
        "IPython 2.1.0\n",
        "\n",
        "numpy 1.8.1\n",
        "scipy 0.14.0\n",
        "\n",
        "compiler   : GCC 4.2.1 (Apple Inc. build 5577)\n",
        "system     : Darwin\n",
        "release    : 13.2.0\n",
        "machine    : x86_64\n",
        "processor  : i386\n",
        "CPU cores  : 2\n",
        "interpreter: 64bit\n"
       ]
      }
     ],
     "prompt_number": 8
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "<br>"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%watermark -a \"John Doe\" -d -v -m -g"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "John Doe 29/06/2014 01:20:48 EDT\n",
        "\n",
        "CPython 3.4.1\n",
        "IPython 2.1.0\n",
        "\n",
        "compiler   : GCC 4.2.1 (Apple Inc. build 5577)\n",
        "system     : Darwin\n",
        "release    : 13.2.0\n",
        "machine    : x86_64\n",
        "processor  : i386\n",
        "CPU cores  : 2\n",
        "interpreter: 64bit\n",
        "Git hash   : fbe7759fd7e0298bf0bd05ea4aac01b87aa8ed25\n"
       ]
      }
     ],
     "prompt_number": 16
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "<br>"
     ]
    }
   ],
   "metadata": {}
  }
 ]
}