From 4bf466aa4c1cb5371537621282931b5eb2625a3c Mon Sep 17 00:00:00 2001 From: dlab-berkeley Date: Thu, 18 Apr 2013 17:23:45 -0700 Subject: [PATCH 01/13] Initial commit --- README.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..1570209 --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +python-berkeley +=============== + +python resources of berkeley curated at a place \ No newline at end of file From 6cf2ec0278d42f7a57c5910949f4ed6dd5ecf934 Mon Sep 17 00:00:00 2001 From: Sonali Sharma Date: Thu, 18 Apr 2013 17:32:27 -0700 Subject: [PATCH 02/13] updated the readme file --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1570209..356c2c2 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,10 @@ python-berkeley =============== -python resources of berkeley curated at a place \ No newline at end of file +python resources of berkeley curated at a place + + +## Coming soon +An initiative by Dlab@Berkeley for collecting and curating all the python resources developed and contributed by the Berkeley community. + +_Go Bears_ ! \ No newline at end of file From d064bbd06e5e124ed4d2ef94ad216391e6acabe3 Mon Sep 17 00:00:00 2001 From: Sonali Sharma Date: Thu, 18 Apr 2013 17:48:15 -0700 Subject: [PATCH 03/13] added the CNAME file for setting up custom domain name --- CNAME | 1 + 1 file changed, 1 insertion(+) create mode 100644 CNAME diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..f491d05 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +python.berkeley.edu \ No newline at end of file From c242dd12b264f5eaead3e713a8da53e3f4a7ca18 Mon Sep 17 00:00:00 2001 From: sonalisharma Date: Sun, 19 May 2013 01:36:32 -0600 Subject: [PATCH 04/13] Update CNAME --- CNAME | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CNAME b/CNAME index f491d05..f0c4859 100644 --- a/CNAME +++ b/CNAME @@ -1 +1 @@ -python.berkeley.edu \ No newline at end of file +http://python.berkeley.edu From 5f29bc0cba9ce8b400edd29429cc11c71cc1e9be Mon Sep 17 00:00:00 2001 From: dlab-berkeley Date: Tue, 21 May 2013 18:59:55 -0600 Subject: [PATCH 05/13] Update CNAME --- CNAME | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CNAME b/CNAME index f0c4859..e4c7849 100644 --- a/CNAME +++ b/CNAME @@ -1 +1 @@ -http://python.berkeley.edu +python.berkeley.edu From 526a2f540aae4d419fff6a559f6d5c7b05611945 Mon Sep 17 00:00:00 2001 From: Dav Clark Date: Fri, 13 Sep 2013 13:45:22 -0700 Subject: [PATCH 06/13] Updated master to explain github pages --- .gitignore | 2 ++ CNAME | 1 - README.md | 8 ++++---- 3 files changed, 6 insertions(+), 5 deletions(-) create mode 100644 .gitignore delete mode 100644 CNAME diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b90cb7d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +_site +.*.sw[op] diff --git a/CNAME b/CNAME deleted file mode 100644 index e4c7849..0000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -python.berkeley.edu diff --git a/README.md b/README.md index 356c2c2..d4db7c9 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ python-berkeley =============== -python resources of berkeley curated at a place +A repo that exists to host GitHub Pages for: +http://python.berkeley.edu -## Coming soon -An initiative by Dlab@Berkeley for collecting and curating all the python resources developed and contributed by the Berkeley community. +Check the gh-pages branch for the Jekyll code! -_Go Bears_ ! \ No newline at end of file +_Go Bears_ ! From faabf1bc2b76822e9cb424907ce095a1f1712c5e Mon Sep 17 00:00:00 2001 From: debbiejong Date: Thu, 10 Oct 2013 15:22:47 -0700 Subject: [PATCH 07/13] Added files from @takluyver --- python3_overview/Unicode demo Python 2.ipynb | 151 ++++++++++++++++ python3_overview/Unicode demo Python 3.ipynb | 170 ++++++++++++++++++ python3_overview/fib.py | 15 ++ python3_overview/find_file.py | 23 +++ .../python3_presentation_py4science.odp | Bin 0 -> 58421 bytes 5 files changed, 359 insertions(+) create mode 100644 python3_overview/Unicode demo Python 2.ipynb create mode 100644 python3_overview/Unicode demo Python 3.ipynb create mode 100644 python3_overview/fib.py create mode 100644 python3_overview/find_file.py create mode 100644 python3_overview/python3_presentation_py4science.odp diff --git a/python3_overview/Unicode demo Python 2.ipynb b/python3_overview/Unicode demo Python 2.ipynb new file mode 100644 index 0000000..d53e974 --- /dev/null +++ b/python3_overview/Unicode demo Python 2.ipynb @@ -0,0 +1,151 @@ +{ + "metadata": { + "name": "Unicode demo Python 2" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "code", + "collapsed": false, + "input": [ + "ustr = u\"cafe\" #\u00e9\n", + "bstr = ustr.encode('utf-8')\n", + "bstr" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "So long as we're working with pure ASCII, everything in this notebook runs. But as soon as there's a non-ascii character in there (like \u00e9), it all falls apart." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "ustr + bstr" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "u''.join([ustr, bstr])" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "bstr.split(u'f')" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Write unicode to a file" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "with open('foo.txt', 'wb') as f:\n", + " f.write(bstr)\n", + " f.write(ustr)\n", + "\n", + "open('foo.txt', 'rb').read()" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Encode and decode: right" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "ustr.encode('utf-8')" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "a = bstr.decode('utf-8') \n", + "print(a)\n", + "a" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Encode and decode: wrong!" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "ustr.decode('utf-8')" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "bstr.encode('utf-8')" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/python3_overview/Unicode demo Python 3.ipynb b/python3_overview/Unicode demo Python 3.ipynb new file mode 100644 index 0000000..2900700 --- /dev/null +++ b/python3_overview/Unicode demo Python 3.ipynb @@ -0,0 +1,170 @@ +{ + "metadata": { + "name": "Unicode demo Python 3" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "code", + "collapsed": false, + "input": [ + "ustr = \"cafe\" #\u00e9\n", + "bstr = ustr.encode('utf-8')\n", + "bstr" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In Python 3, you can't mix unicode and bytes, even if they're pure ASCII." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "ustr + bstr" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "''.join([ustr, bstr])" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "bstr.split('f')" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Write unicode to a (bytes mode) file" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "with open('foo.txt', 'wb') as f:\n", + " f.write(bstr)\n", + " f.write(ustr)\n", + "\n", + "open('foo.txt', 'rb').read()" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "But we can use text mode files" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "with open('foo2.txt', 'w', encoding='utf-8') as f:\n", + " f.write(ustr)\n", + " #f.write(bstr) # Writing bytes to this won't work\n", + "\n", + "open('foo2.txt', 'rb').read()" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Encode and decode: right" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "ustr.encode('utf-8')" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "bstr.decode('utf-8')" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Encode and decode: wrong" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "`unicode` objects only have an `encode()` method, and `bytes` objects only have a `decode()` method. So you can't get them the wrong way round." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "ustr." + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "bstr." + ], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/python3_overview/fib.py b/python3_overview/fib.py new file mode 100644 index 0000000..d1b50c5 --- /dev/null +++ b/python3_overview/fib.py @@ -0,0 +1,15 @@ +"""Function annotations demo using MyPy (http://www.mypy-lang.org/) + +This code will run under either MyPy or vanilla Python 3, but MyPy can give +a clearer error when we call the function with the wrong type of input. +""" +import typing + +def fib(n: int) -> None: + a, b = 0, 1 + while a < n: + print(a) + a, b = b, a+b + +fib(1000) +#fib('1000') diff --git a/python3_overview/find_file.py b/python3_overview/find_file.py new file mode 100644 index 0000000..fe55dda --- /dev/null +++ b/python3_overview/find_file.py @@ -0,0 +1,23 @@ +"""Function annotations demo using plac +https://pypi.python.org/pypi/plac + +Command line arguments are specified in function annotations. Try: + + python find_file.py -h +""" +import os +from fnmatch import filter + +def main(pattern: "File pattern to match, e.g. '*.py'", + sort: ("Sort results alphabetically", 'flag', 's'), + directory: ("Directory in which to search", 'option') ='.' + ): + results = [] + for dirpath, dirnames, filenames in os.walk(directory): + results.extend([os.path.join(dirpath, fn) for fn in filter(filenames, pattern)]) + if sort: + results.sort() + print(*results, sep='\n') + +if __name__ == '__main__': + import plac; plac.call(main) diff --git a/python3_overview/python3_presentation_py4science.odp b/python3_overview/python3_presentation_py4science.odp new file mode 100644 index 0000000000000000000000000000000000000000..56b8c17591e8fe245aab11f86aa727ebef3006fe GIT binary patch literal 58421 zcmb@tbCe}bvp2fiwx-?F)7{gyZFAbTZQHhO+qP|+)3$N@dCz$d{?b zMMY#*MMg&aB12XJ1QZnjfCK=_68QxfNGeKb006*0$M+?GrKzQ%gR709u8oa_slKj* zskIf2la&FrwXVIXJ+-xsp_PHPzN4j~l>@bnouU2r|G#Kt{}HZ^6R@FdwR=3_d2md^ zW+xm6O~y`~aM|Rve%38A$=%+#da`19{Bb*0&oMp0$-uGAmi5A!O_S8W%L@q^2Hn(% z?c+0(MgZiKGxLA7xi9^?)qHy&X$&MY|?F^TByU+e~PP6+@KHEToftapRLwzCxi0BSjq$`XU6Bm z$WH55GCQU-dferbaIi7C1a%t)LGxb?=OlB_FFiE8a;3^x(yF-*%i!=o7sjM&vojh6 z7%8rmrSc)MWO)_mxwXAgYj>L#L{{aj#g0ROf&HRj;A~Z{zcf=7js*e4tGc(~r#PHc zGh9UgS9cUFY5+-pH0sa&1?79OGZXXZK@E0nukPGhj*1u!fn&ixug`mjbDj%_!TN1I z4DWa;B&^ICzQI1AAGSShzH#M!bh+5nB0oyA9O!;CdN72CIc)U)qkE57Kvnztqd6s2 z8~14m@8g`7XZ*rdI=IieUB!7X!3bB2xzE(k_I0p!!xXH#e} z8fsUhjZ^BT_woMbXNSI9ar^jj?AzX>#_WJBz7XD4-Syf?3ZRB~VIw86;+zPLTC~b*B{aQ%nU|Jo?4i4RhNr;Y9mlxP~6O=rnER3=z&f4-ji`gF2_P=>Kv zXgpgOA8z;Nsji*xz@6d6R=KC~^z0|JXK}3}8l2)J-jI{7EhlE_2KRpHfNi5NJHZvDzJyOiwiIf5Pq5-CPXGlYCCy zv1VWUBYQj=?=h?h9;Y9L=Oo>%x&sx2gA4<-u zta@Zs$9+}S=Lv8bt81yQ1Z|F)Yi%A+xaf2u@)hApZlwE*r(9j&A^z$dH9Q1DL4QdZ z{5#P@O?}BK)DQn7h7bZ!`YSX|$n$-ByFW_g4qxO22vIw=#w%)nOVr~cmF4Z+IG=8_ z2eY1#o;_lJQ-6ZfAq5Kb?nRxGHoz?sEL2 zBzl+#g9L0#|993EsRbT*;|1capujr>Kx&-WM#>7NeKMT0)X;=( z>q6%Wfx*J(4YT17Pd3y?4%GbDYo8Yc!Nltne;XZK{ z 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 literal 0 HcmV?d00001 From ed65cce4eaac48c062f80dd3760f2028957ec85b Mon Sep 17 00:00:00 2001 From: Dav Clark Date: Wed, 16 Oct 2013 16:17:41 -0700 Subject: [PATCH 08/13] Added files for gedit presentation --- editor_setup/gedit/Vagrantfile | 55 +++++++++++++++++++++ editor_setup/gedit/bootstrap.sh | 12 +++++ editor_setup/gedit/installation-with-apt.md | 35 +++++++++++++ 3 files changed, 102 insertions(+) create mode 100644 editor_setup/gedit/Vagrantfile create mode 100644 editor_setup/gedit/bootstrap.sh create mode 100644 editor_setup/gedit/installation-with-apt.md diff --git a/editor_setup/gedit/Vagrantfile b/editor_setup/gedit/Vagrantfile new file mode 100644 index 0000000..a93c76e --- /dev/null +++ b/editor_setup/gedit/Vagrantfile @@ -0,0 +1,55 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# Vagrantfile API/syntax version. Don't touch unless you know what you're doing! +VAGRANTFILE_API_VERSION = "2" + +Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| + # All Vagrant configuration is done here. The most common configuration + # options are documented and commented below. For a complete reference, + # please see the online documentation at vagrantup.com. + + # Every Vagrant virtual environment requires a box to build off of. + config.vm.box = "precise32" + + # The simplest way to provision a vagrant vm + config.vm.provision :shell, :path => "bootstrap.sh" + + # The url from where the 'config.vm.box' box will be fetched if it + # doesn't already exist on the user's system. + config.vm.box_url = "http://files.vagrantup.com/precise32.box" + + # If true, then any SSH connections made will enable agent forwarding. + # Default value: false + # config.ssh.forward_agent = true + config.ssh.forward_x11 = true + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine. In the example below, + # accessing "localhost:8080" will access port 80 on the guest machine. + # config.vm.network :forwarded_port, guest: 80, host: 8080 + + # Create a private network, which allows host-only access to the machine + # using a specific IP. + # config.vm.network :private_network, ip: "192.168.33.10" + + # Create a public network, which generally matched to bridged network. + # Bridged networks make the machine appear as another physical device on + # your network. + # config.vm.network :public_network + + # Provider-specific configuration so you can fine-tune various + # backing providers for Vagrant. These expose provider-specific options. + # Example for VirtualBox: + # + # config.vm.provider :virtualbox do |vb| + # # Don't boot with headless mode + # vb.gui = true + # + # # Use VBoxManage to customize the VM. For example to change memory: + # vb.customize ["modifyvm", :id, "--memory", "1024"] + # end + # + # View the documentation for the provider you're using for more + # information on available options. +end diff --git a/editor_setup/gedit/bootstrap.sh b/editor_setup/gedit/bootstrap.sh new file mode 100644 index 0000000..7547949 --- /dev/null +++ b/editor_setup/gedit/bootstrap.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +apt-get update +apt-get install -y gedit gedit-plugins gedit-developer-plugins rabbitvcs-gedit + +# Another example: Apache install +# You'll also want to enable port forwarding (currently commented) in the +# Vagrantfile! + +# apt-get install -y apache2 +# rm -rf /var/www +# ln -fs /vagrant /var/www diff --git a/editor_setup/gedit/installation-with-apt.md b/editor_setup/gedit/installation-with-apt.md new file mode 100644 index 0000000..fb335ce --- /dev/null +++ b/editor_setup/gedit/installation-with-apt.md @@ -0,0 +1,35 @@ +## Installing gedit + useful plugins with apt-get + +I'm basing this on Ubuntu 12.04.3, as that seems like a reasonable minimum level +of being up-to-date. It should be clear how to adapt this to other distros with +comparable packages. *See below for instructions on how to bootstrap this with +Vagrant!* + +After the standard `apt-get update`, run `apt-get install` for the following: + +- **gedit** Of course! +- **gedit-plugins** A set of plugins for managing text better, includes things + like smart tabs/spaces, multi edit, code comment, etc. +- **gedit-developer-plugins** syntax completion, python completion from imports, + syntax/style checking for python, +- **rabbitvcs-gedit** GUI-ish thing for git, svn, bzr + +Not relevant to python, but you might also include gedit-latex-plugin and +gedit-r-plugin for completeness for a beginning user. + +## Installing gedit with Vagrant + +By default, this uses [VirtualBox](https://google.com/search?q=virtualbox). +You'll also need to install [Vagrant](http://vagrantup.com). You will likely +prefer VMware if you have it (setting that up is an exercise for the +reader). + +There should be a `Vagrantfile` and a `bootstrap.sh` in the same folder as this +file. From the command line, just type `vagrant up`. See those files for more +info, and the [Vagrant website](http://vagrantup.com) for the full +documentation. + +In this case, unusual for vagrant, I've enabled X11 forwarding (and installed +XQuartz). You can find the x11 config setting in the Vagrant file, and XQuartz +is installable via a [Google search](https://www.google.com/search?q=XQuartz). + From d67f14e5d2cec826cd38555dceed45041821cf7c Mon Sep 17 00:00:00 2001 From: Dav Clark Date: Thu, 17 Oct 2013 11:58:46 -0700 Subject: [PATCH 09/13] Ignoring .DS_Store here also --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index b90cb7d..30517b9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ _site .*.sw[op] +.DS_Store From 338c186124747d83480710c29827eea5effaf958 Mon Sep 17 00:00:00 2001 From: Dav Clark Date: Fri, 25 Oct 2013 12:10:44 -0700 Subject: [PATCH 10/13] Simple ipynb for graphing stocks --- py4data/Stock Price Graphs.ipynb | 236 +++++++++++++++++++++++++++++++ 1 file changed, 236 insertions(+) create mode 100644 py4data/Stock Price Graphs.ipynb diff --git a/py4data/Stock Price Graphs.ipynb b/py4data/Stock Price Graphs.ipynb new file mode 100644 index 0000000..2437b14 --- /dev/null +++ b/py4data/Stock Price Graphs.ipynb @@ -0,0 +1,236 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from datetime import date\n", + "import pandas as pd\n", + "import pandas.io.data as web\n", + "\n", + "%matplotlib inline" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 1 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Here's how you specify an arbitrary Date\n", + "date(2010, 1, 1)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 2, + "text": [ + "datetime.date(2010, 1, 1)" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# How do we get today?\n", + "today = date.today()\n", + "today" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 3, + "text": [ + "datetime.date(2013, 10, 25)" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# So, this is the first of *this* year\n", + "beginning_of_year = date(today.year, 1, 1)\n", + "beginning_of_year" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 4, + "text": [ + "datetime.date(2013, 1, 1)" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "web.DataReader?" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 5 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As per usual, pandas has amazing tools that are poorly documented. You can find out a little more about DataReader on the pandas docs, under IO Tools." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "goog_from_goog = web.DataReader(\"GOOG\", \"google\", beginning_of_year, today)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 6 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "goog_from_goog" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "html": [ + "
\n",
+        "<class 'pandas.core.frame.DataFrame'>\n",
+        "DatetimeIndex: 205 entries, 2013-01-02 00:00:00 to 2013-10-24 00:00:00\n",
+        "Data columns (total 5 columns):\n",
+        "Open      205  non-null values\n",
+        "High      205  non-null values\n",
+        "Low       205  non-null values\n",
+        "Close     205  non-null values\n",
+        "Volume    205  non-null values\n",
+        "dtypes: float64(4), int64(1)\n",
+        "
" + ], + "metadata": {}, + "output_type": "pyout", + "prompt_number": 12, + "text": [ + "\n", + "DatetimeIndex: 205 entries, 2013-01-02 00:00:00 to 2013-10-24 00:00:00\n", + "Data columns (total 5 columns):\n", + "Open 205 non-null values\n", + "High 205 non-null values\n", + "Low 205 non-null values\n", + "Close 205 non-null values\n", + "Volume 205 non-null values\n", + "dtypes: float64(4), int64(1)" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "goog_from_goog.plot()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 14, + "text": [ + "" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "goog_from_goog.plot(subplots=True)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 13, + "text": [ + "array([,\n", + " ,\n", + " ,\n", + " ,\n", + " ], dtype=object)" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n5g25uLiQkpIS/fDDDxQfH0/l5eU0ePBg2rBhAz158oRiYmLo+fPn9OrVK0pLS6P8/Px6ed68eZOO\nHDlC7u7uxOFwKC8vj0xMTMjCwoK0tbXJ2NiY3N3d6e+//+a5js1m1yurH374oV7lWsuxY8fIwsKC\n2Gw2ERFFRUXRhw8fuOebWsGnpKSQvLw8SUlJ0cKFC+s950mTJtVbmxAXF0fa2tpUUVFBI0aMoE6d\nOvFtWNTVwlTwbUtt+e7atYuMjIwIAN28ebPtKvimzKKpy65du8jV1bVhMQD98ccflJycTF27duXp\nlrh//z5P62jJkiXk5OREHA6HOBwOqaqqUufOnenkyZON6nVzc6P+/ftTcHBwvXM7d+4kd3d3nmM7\nduygyZMnk6WlJV26dIl7PCkpifr160dOTk70/v17IiLy8fGhkSNH8rVdVVVFSkpK5OTkRNra2qSu\nrk46OjpkbGxMM2bMIElJSZKRkSEbGxsKDAzk+fG4ePEiAaDw8HC6fPky6ejoUFJSEr17945iY2OJ\nqKa76syZM1RaWkqDBg2ixYsX08WLF+nKlSuNlklISAipqKiQkpIS9ezZk9asWUMPHz6k6upqCgsL\noydPntD48eNp586dPNdVV1eTjY0NzZ07l3x8fOj+/ftERBQeHk6GhobUq1cvmj59Oh0/fpwmTpzY\noO0ZM2bQnDlzKD4+nrS0tOjQoUO0c+dOcnFxoUGDBpGOjg4dP36cnjx5QmpqanTixAmaO3cuqaqq\nkrW1Nbm7u1O3bt2oW7du5OrqSiUlJTz5u7m51esSzM7Opo0bN5K6ujrZ2trS2LFjadKkSdSrVy+y\ntLTkjt3o6emRnJwcubq6kouLC3l5edGyZctIVVWVJk6cSFZWVrRlyxaytbWlFStWEFHND3dMTAxt\n3bqV1NTU6Pbt22RhYUETJkwgdXV1EhMTI3V1dTIzM6N+/fqRqqoq9+/nYzgcDg0aNIhOnjxJvr6+\npKysTGpqauTp6dnoWA6Hw6HExEQKDAykly9f0k8//UQrV66k3NxcWrFiBamoqNDPP/9MQUFB9ObN\nG+rWrVuDCw9Hjx5NkyZNIk1NTfLw8KAFCxbwPHsOh0OnT5+m3r17k6urK1VWVjIVfBtTW77x8fHU\nuXNn+u2330hXV7ftgm5fvnwZt2/fxm+//QYA8Pb2xt9//41Dhw7VSxsSEoLFixfjwYMHUFZWrnde\n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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "goog_from_goog.plot?\n", + "# Same as pd.DataFrame.plot?" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 15 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file From 6c9b703914ed08890242294313acefe5318f1f1e Mon Sep 17 00:00:00 2001 From: Dav Clark Date: Wed, 30 Oct 2013 10:26:23 -0700 Subject: [PATCH 11/13] Updated gitignore for ipynb checkpoints --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 30517b9..6c1a8dd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ _site .*.sw[op] .DS_Store +.ipynb_checkpoints/ From a6794cef25bdd50e706049da6cf0bc58553401ae Mon Sep 17 00:00:00 2001 From: "Jessica B. Hamrick" Date: Wed, 30 Oct 2013 20:48:02 -0700 Subject: [PATCH 12/13] Add py4science emacs overview files --- editor_setup/emacs/emacs-presentation.ipynb | 242 ++++++++++++++++++++ editor_setup/emacs/latex-demo.tex | 17 ++ editor_setup/emacs/python-demo.py | 6 + editor_setup/emacs/style-demo.py | 13 ++ 4 files changed, 278 insertions(+) create mode 100644 editor_setup/emacs/emacs-presentation.ipynb create mode 100644 editor_setup/emacs/latex-demo.tex create mode 100644 editor_setup/emacs/python-demo.py create mode 100644 editor_setup/emacs/style-demo.py diff --git a/editor_setup/emacs/emacs-presentation.ipynb b/editor_setup/emacs/emacs-presentation.ipynb new file mode 100644 index 0000000..86b95c2 --- /dev/null +++ b/editor_setup/emacs/emacs-presentation.ipynb @@ -0,0 +1,242 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# p4science emacs presentation\n", + "\n", + "Jess Hamrick \n", + "jhamrick@berkeley.edu" + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Why Emacs?\n", + "\n", + "* Flexible and highly customizable\n", + "* Lots of resources\n", + "* If you want a plugin, it probably already exists\n", + "* You can use it for pretty much everything\n", + "* A lot of the keyboard shortcuts work in other programs, like `C-a`\n", + " and `C-e`" + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Why not Emacs?\n", + "\n", + "* High learning curve\n", + "* Plugins can be buggy or not well-maintained\n", + "* Package management for plugins is a pain (but! it is getting\n", + " better!)\n", + "* If you want to do your own customization, you have to learn elisp" + ] + }, + { + "cell_type": "markdown", + "source": [ + "## What do I use Emacs for?\n", + "\n", + "* Python (`python-mode`)\n", + "* IPython (shell + notebook!) (`emacs-ipython-mode`)\n", + "* LaTeX (`auctex`)\n", + "* Git (`magit`)\n", + "* Markdown (`markdown-mode`)\n", + "* Terminal... though not always (`ansi-term`)\n", + "* Basically any other text editing or coding that I need to do" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Emacs IPython Notebook" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "1+1" + ], + "language": "python", + "outputs": [ + { + "output_type": "pyout", + "prompt_number": 1, + "text": [ + "2" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "markdown", + "source": [ + "Look, you can have a scratch buffer! -->" + ] + }, + { + "cell_type": "markdown", + "source": [ + "And, matplotlib images are displayed inline, just like in the web\n", + "notebook:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "plt.plot([1,2,3,4])\n", + "plt.ylabel('some numbers')\n", + "plt.show()" + ], + "language": "python", + "outputs": [ + { + "output_type": "display_data", + "png": "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\nY6NUaR8AAAAASUVORK5CYII=\n", + "text": [ + "" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "markdown", + "source": [ + "But, not all parts of the notebook work. EIN hasn't been updated in a\n", + "few months, and so it's a bit behind the cutting edge of IPython.\n", + "\n", + "* LaTeX rendering of equations doesn't work yet: $x=4x-2$\n", + "* Cell metadata isn't exposed\n", + "* Some cell magics don't work properly (e.g. `%load`, anything with\n", + " `raw_input`)\n", + "* Indenting is sometimes weird\n", + "* Text wrapping (e.g. in comments/docstrings) is also sometimes weird\n" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Python shell demo" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Jedi\n", + "\n", + "Jedi.el is a Python completion library for emacs. I have it installed\n", + "(it's requried by EIN), but it's not currently working in my setup, so\n", + "I unfortunately can't demo it." + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Style/syntax checking\n", + "\n", + "I have a script which runs pyflakes and pep8, and highlights lines\n", + "that have syntax or style errors. It doesn't currently work inside\n", + "EIN, though." + ] + }, + { + "cell_type": "markdown", + "source": [ + "### LaTeX demo\n", + "\n", + "`M-x tex-pdf-mode`\n", + "\n", + "(Wow, look, emacs can even open PDFs!)" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Magit demo\n", + "\n", + "`M-x magit-status`" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Terminal demo\n", + "\n", + "`M-x ansi-term`" + ] + }, + { + "cell_type": "markdown", + "source": [ + "## My recommendations\n", + "\n", + "I <3 Emacs. But...\n", + "\n", + "If you are new to programming, Emacs is probably not your best bet\n", + "because of the learning curve, and if you're also learning\n", + "programming, it may be a bit overwhelming.\n", + "\n", + "Don't start off trying to use too many plugins all at once. Get used\n", + "to the shortcuts and stuff first.\n", + "\n", + "Rebind your caps lock to another control key.\n", + "\n", + "Document your .emacs configuration well, and keep it under version\n", + "control.\n", + "\n", + "You will never be able to use conventional text editors (or any\n", + "editor) again. I hate when I have to type stuff in the browser because\n", + "I work about 2-3 times more slowly than when I'm in Emacs." + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Resources\n", + "\n", + "* A [beginner's\n", + " tutorial](http://www.jesshamrick.com/2012/09/10/absolute-beginners-guide-to-emacs)\n", + " that I wrote.\n", + "\n", + "* [My emacs configuration](https://github.com/jhamrick/emacs).\n", + "\n", + "* A [rather outdated\n", + " guide](http://www.jesshamrick.com/2012/09/18/emacs-as-a-python-ide)\n", + " to using Python in Emacs, which I also wrote.\n", + "\n", + "* A [somewhat less outdated\n", + " guide](http://caisah.info/emacs-for-python/) to using Python in\n", + " Emacs\n", + "\n", + "* [EmacsWiki](http://www.emacswiki.org/emacs/) is a great site to\n", + " search if you're looking for how to do something, though it can\n", + " sometimes be a bit out of date. Especially check out the\n", + " [Python+Emacs\n", + " page](http://www.emacswiki.org/emacs/PythonProgrammingInEmacs).\n", + "\n", + "* The [Emacs subreddit](http://www.reddit.com/r/emacs) also has some\n", + " useful links.\n", + "\n", + "* A blog post on [Jedi completion for\n", + " Emacs](http://www.masteringemacs.org/articles/2013/01/10/jedi-completion-library-python/)." + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/editor_setup/emacs/latex-demo.tex b/editor_setup/emacs/latex-demo.tex new file mode 100644 index 0000000..b7548c9 --- /dev/null +++ b/editor_setup/emacs/latex-demo.tex @@ -0,0 +1,17 @@ +\documentclass[12pt]{article} + +\usepackage{fancyhdr} +\usepackage[in,myheadings]{fullpage} +\usepackage{amsmath, amsthm, amssymb} + +\pagestyle{plain} + +\headheight 42pt + +\begin{document} + +\section{The first section} + +This is a \LaTeX{} document! + +\end{document} diff --git a/editor_setup/emacs/python-demo.py b/editor_setup/emacs/python-demo.py new file mode 100644 index 0000000..e48e766 --- /dev/null +++ b/editor_setup/emacs/python-demo.py @@ -0,0 +1,6 @@ +import numpy as np + +print "Generating some data..." +arr = np.random.rand(100, 100) + +print "The mean of the data is:", arr.mean() diff --git a/editor_setup/emacs/style-demo.py b/editor_setup/emacs/style-demo.py new file mode 100644 index 0000000..0af5a30 --- /dev/null +++ b/editor_setup/emacs/style-demo.py @@ -0,0 +1,13 @@ +# the following line is highlighted because it's an unused import +import numpy as np + +# this next line is highlighted because `n` doesn't exist (fixing this +# line would actually also fix the previous line) +arr = n.ones(10) + +# this line is highlighted because it's really long, and long lines in python are bad if you're working in a fixed-width terminal + + +def foo(): + # the next line is highlighted because it uses tabs, eww + pass From a26de9fd9bcae600514b55db3db95e54979cd651 Mon Sep 17 00:00:00 2001 From: Dav Clark Date: Sun, 24 Nov 2013 10:47:18 -0800 Subject: [PATCH 13/13] Added pytest notebook from Thomas --- testing/Test frameworks.ipynb | 86 +++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 testing/Test frameworks.ipynb diff --git a/testing/Test frameworks.ipynb b/testing/Test frameworks.ipynb new file mode 100644 index 0000000..eae3a63 --- /dev/null +++ b/testing/Test frameworks.ipynb @@ -0,0 +1,86 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import sqrt" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Unittest" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from unittest import TestCase\n", + "\n", + "class SqrtTestCase(TestCase):\n", + " def test_sqrt(self):\n", + " self.assertEqual(sqrt(36), 6)" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Nose" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import nose.tools as nt\n", + "\n", + "def test_sqrt():\n", + " nt.assert_equal(sqrt(36), 6)" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "py.test" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "def test_sqrt():\n", + " assert sqrt(36) == 6" + ], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +} \ No newline at end of file