diff --git a/builds/runtimes/download_python b/builds/runtimes/download_python
new file mode 100644
index 0000000000000000000000000000000000000000..af5a68ce350273f55f17196d900a199c789f70c5
--- /dev/null
+++ b/builds/runtimes/download_python
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+# Build Path: /app/.heroku/python/
+# Build Deps: libraries/sqlite
+
+# download_python(PYTHON_VERSION)
+# Example usage: download_python "2.7.8"
+download_python()
+{
+    local PYTHON_VERSION=${1:-2.7.8}
+    echo "Building Python $PYTHON_VERSION..."
+    SOURCE_TARBALL="http://python.org/ftp/python/$PYTHON_VERSION/Python-$PYTHON_VERSION.tgz"
+    curl -L $SOURCE_TARBALL | tar xz
+    mv Python-$PYTHON_VERSION src
+}
diff --git a/builds/runtimes/python-2.4.4 b/builds/runtimes/python-2.4.4
index 84addd6f76dffc44011cdf0ceb00b0b278f36cda..ada1ea7723f4485365aebd09315ffa615affd0c8 100755
--- a/builds/runtimes/python-2.4.4
+++ b/builds/runtimes/python-2.4.4
@@ -4,15 +4,13 @@
 
 OUT_PREFIX=$1
 
+source ./download_python
+download_python "2.4.4"
+
 # Protect 2.4 builds from parent Python (causes segfault during build).
 unset LANG PYTHONHOME PYTHONPATH
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.4.4/Python-2.4.4.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.4.4 src
 cd src
-
 ./configure --prefix=$OUT_PREFIX
 make
 make install
diff --git a/builds/runtimes/python-2.4.5 b/builds/runtimes/python-2.4.5
index b4555d0e115c18506347bf4ff721fa5603e3d315..4f20297604ac5d521264b966fa3256451110bbfe 100755
--- a/builds/runtimes/python-2.4.5
+++ b/builds/runtimes/python-2.4.5
@@ -4,15 +4,13 @@
 
 OUT_PREFIX=$1
 
+source ./download_python
+download_python "2.4.5"
+
 # Protect 2.4 builds from parent Python (causes segfault during build).
 unset LANG PYTHONHOME PYTHONPATH
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.4.5/Python-2.4.5.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.4.5 src
 cd src
-
 ./configure --prefix=$OUT_PREFIX
 make
 make install
diff --git a/builds/runtimes/python-2.4.6 b/builds/runtimes/python-2.4.6
index ffebad19ffdc29ef25e97516776be4ddf923f5f3..8412e80ce204a589dfd463eb6927034da9bb044f 100755
--- a/builds/runtimes/python-2.4.6
+++ b/builds/runtimes/python-2.4.6
@@ -4,15 +4,13 @@
 
 OUT_PREFIX=$1
 
+source ./download_python
+download_python "2.4.6"
+
 # Protect 2.4 builds from parent Python (causes segfault during build).
 unset LANG PYTHONHOME PYTHONPATH
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.4.6/Python-2.4.6.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.4.6 src
 cd src
-
 ./configure --prefix=$OUT_PREFIX
 make
 make install
diff --git a/builds/runtimes/python-2.5.0 b/builds/runtimes/python-2.5.0
index 2b31b96077efa5934a0c69190d9bad59a37741c1..70fab97500338a48d2ac036ea4ee52190d22c743 100755
--- a/builds/runtimes/python-2.5.0
+++ b/builds/runtimes/python-2.5.0
@@ -4,15 +4,13 @@
 
 OUT_PREFIX=$1
 
+source ./download_python
+download_python "2.5"
+
 # Protect 2.5 builds from parent Python (causes segfault during build).
 unset LANG PYTHONHOME PYTHONPATH
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.5/Python-2.5.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.5 src
 cd src
-
 ./configure --prefix=$OUT_PREFIX
 make
 make install
diff --git a/builds/runtimes/python-2.5.1 b/builds/runtimes/python-2.5.1
index 775b6130def8a6707f1f71dfa1203f2d94e9c38b..d507cfd5a4d2dedcb8e02e9a6f70ff9e1639a10f 100755
--- a/builds/runtimes/python-2.5.1
+++ b/builds/runtimes/python-2.5.1
@@ -4,15 +4,13 @@
 
 OUT_PREFIX=$1
 
+source ./download_python
+download_python "2.5.1"
+
 # Protect 2.5 builds from parent Python (causes segfault during build).
 unset LANG PYTHONHOME PYTHONPATH
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.5.1/Python-2.5.1.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.5.1 src
 cd src
-
 ./configure --prefix=$OUT_PREFIX
 make
 make install
diff --git a/builds/runtimes/python-2.5.2 b/builds/runtimes/python-2.5.2
index 84bb09422fd442fd9ed7dd7f0ba3f211eb0a8f86..bc99b2afcc6fea8e4e0a0623e80c955230147409 100755
--- a/builds/runtimes/python-2.5.2
+++ b/builds/runtimes/python-2.5.2
@@ -4,15 +4,13 @@
 
 OUT_PREFIX=$1
 
+source ./download_python
+download_python "2.5.2"
+
 # Protect 2.5 builds from parent Python (causes segfault during build).
 unset LANG PYTHONHOME PYTHONPATH
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.5.2/Python-2.5.2.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.5.2 src
 cd src
-
 ./configure --prefix=$OUT_PREFIX
 make
 make install
diff --git a/builds/runtimes/python-2.5.3 b/builds/runtimes/python-2.5.3
index 7ff33b445767ab516ba58baaf57f2415e7b22e42..6479240bff9ac744069ac5dbbcb904d9568cd15d 100755
--- a/builds/runtimes/python-2.5.3
+++ b/builds/runtimes/python-2.5.3
@@ -4,15 +4,13 @@
 
 OUT_PREFIX=$1
 
+source ./download_python
+download_python "2.5.3"
+
 # Protect 2.5 builds from parent Python (causes segfault during build).
 unset LANG PYTHONHOME PYTHONPATH
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.5.3/Python-2.5.3.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.5.3 src
 cd src
-
 ./configure --prefix=$OUT_PREFIX
 make
 make install
diff --git a/builds/runtimes/python-2.5.4 b/builds/runtimes/python-2.5.4
index 063c4f628a334d8f0bb17be40286a47017fcb9b7..1a421f79424274f88f3aa500a2be9c9582f021c7 100755
--- a/builds/runtimes/python-2.5.4
+++ b/builds/runtimes/python-2.5.4
@@ -4,15 +4,13 @@
 
 OUT_PREFIX=$1
 
+source ./download_python
+download_python "2.5.4"
+
 # Protect 2.5 builds from parent Python (causes segfault during build).
 unset LANG PYTHONHOME PYTHONPATH
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.5.4/Python-2.5.4.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.5.4 src
 cd src
-
 ./configure --prefix=$OUT_PREFIX
 make
 make install
diff --git a/builds/runtimes/python-2.5.5 b/builds/runtimes/python-2.5.5
index 9c9ee091fae9ef9de44c8bc48b72561c941badc1..11e560a308033886f3087be0e3a73d0e2cd98830 100755
--- a/builds/runtimes/python-2.5.5
+++ b/builds/runtimes/python-2.5.5
@@ -4,15 +4,13 @@
 
 OUT_PREFIX=$1
 
+source ./download_python
+download_python "2.5.5"
+
 # Protect 2.6 builds from parent Python (causes segfault during build).
 unset LANG PYTHONHOME PYTHONPATH
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.5.5/Python-2.5.5.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.5.5 src
 cd src
-
 ./configure --prefix=$OUT_PREFIX
 make
 make install
diff --git a/builds/runtimes/python-2.5.6 b/builds/runtimes/python-2.5.6
index 6da7ca45b86833de07596b42dd213060fd265d58..8af9bcc8ff9ef071825805d70ea8e0192e94435d 100755
--- a/builds/runtimes/python-2.5.6
+++ b/builds/runtimes/python-2.5.6
@@ -4,15 +4,13 @@
 
 OUT_PREFIX=$1
 
+source ./download_python
+download_python "2.5.6"
+
 # Protect 2.5 builds from parent Python (causes segfault during build).
 unset LANG PYTHONHOME PYTHONPATH
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.5.6/Python-2.5.6.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.5.6 src
 cd src
-
 ./configure --prefix=$OUT_PREFIX
 make
 make install
diff --git a/builds/runtimes/python-2.6.0 b/builds/runtimes/python-2.6.0
index 353abc6a7fc69aac02affb854b161cec25eaa3da..1e2d815d97d05bf76883bffa3f8312f3e9c8d01b 100755
--- a/builds/runtimes/python-2.6.0
+++ b/builds/runtimes/python-2.6.0
@@ -6,15 +6,13 @@
 
 OUT_PREFIX=$1
 
+source ./download_python
+download_python "2.6"
+
 # Protect 2.6 builds from parent Python (causes segfault during build).
 unset LANG PYTHONHOME PYTHONPATH
 
-echo "Building Python..."
-SOURCE_TARBALL='http://www.python.org/ftp/python/2.6/Python-2.6.tar.bz2'
-curl -L $SOURCE_TARBALL | tar jx
-mv Python-2.6 src
 cd src
-
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-2.6.1 b/builds/runtimes/python-2.6.1
index e32cdffac20e52615410b998327c00c22bb85bc2..657eb16e39c81c67f78d0adbb3c74a2342917ba3 100755
--- a/builds/runtimes/python-2.6.1
+++ b/builds/runtimes/python-2.6.1
@@ -6,15 +6,13 @@
 
 OUT_PREFIX=$1
 
+source ./download_python
+download_python "2.6.1"
+
 # Protect 2.6 builds from parent Python (causes segfault during build).
 unset LANG PYTHONHOME PYTHONPATH
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.6.1/Python-2.6.1.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.6.1 src
 cd src
-
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-2.6.2 b/builds/runtimes/python-2.6.2
index dcce19c97989db69eb93dd4e1760cdc5c13b764d..ba1ba0f048d1a407aa97b597648151c4b2ba2ba8 100755
--- a/builds/runtimes/python-2.6.2
+++ b/builds/runtimes/python-2.6.2
@@ -4,15 +4,13 @@
 
 OUT_PREFIX=$1
 
+source ./download_python
+download_python "2.6.2"
+
 # Protect 2.6 builds from parent Python (causes segfault during build).
 unset LANG PYTHONHOME PYTHONPATH
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.6.2/Python-2.6.2.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.6.2 src
 cd src
-
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-2.6.3 b/builds/runtimes/python-2.6.3
index 71839b0a89a7a7ffdb61cb8c2f4404cd43608b69..be9eadf438226bc967c88248502acf7eb30a29b7 100755
--- a/builds/runtimes/python-2.6.3
+++ b/builds/runtimes/python-2.6.3
@@ -4,15 +4,13 @@
 
 OUT_PREFIX=$1
 
+source ./download_python
+download_python "2.6.3"
+
 # Protect 2.6 builds from parent Python (causes segfault during build).
 unset LANG PYTHONHOME PYTHONPATH
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.6.3/Python-2.6.3.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.6.3 src
 cd src
-
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-2.6.4 b/builds/runtimes/python-2.6.4
index c1b4f89c50a94b42799a0e165f1a60023f0023eb..2b8bcf3684ccae8cebfa46ed1e87592ab30c895a 100755
--- a/builds/runtimes/python-2.6.4
+++ b/builds/runtimes/python-2.6.4
@@ -4,15 +4,13 @@
 
 OUT_PREFIX=$1
 
+source ./download_python
+download_python "2.6.4"
+
 # Protect 2.6 builds from parent Python (causes segfault during build).
 unset LANG PYTHONHOME PYTHONPATH
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.6.4/Python-2.6.4.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.6.4 src
 cd src
-
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-2.6.5 b/builds/runtimes/python-2.6.5
index c681bffa5c366b59e470f13ea65a90ce7fe7d614..90e1c39c688568efcc96affb40dfea315352fb1f 100755
--- a/builds/runtimes/python-2.6.5
+++ b/builds/runtimes/python-2.6.5
@@ -4,15 +4,13 @@
 
 OUT_PREFIX=$1
 
+source ./download_python
+download_python "2.6.5"
+
 # Protect 2.6 builds from parent Python (causes segfault during build).
 unset LANG PYTHONHOME PYTHONPATH
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.6.5/Python-2.6.5.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.6.5 src
 cd src
-
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-2.6.6 b/builds/runtimes/python-2.6.6
index b5cb8ecfcb49f03d154251fa6c6278d71079b4ba..213fb9fb6c2c0cb6814b69f3e5858e3fbf0038fe 100755
--- a/builds/runtimes/python-2.6.6
+++ b/builds/runtimes/python-2.6.6
@@ -4,15 +4,13 @@
 
 OUT_PREFIX=$1
 
+source ./download_python
+download_python "2.6.6"
+
 # Protect 2.6 builds from parent Python (causes segfault during build).
 unset LANG PYTHONHOME PYTHONPATH
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.6.6/Python-2.6.6.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.6.6 src
 cd src
-
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-2.6.7 b/builds/runtimes/python-2.6.7
index 0eb587b2b2c9a69c35b6ce899582dd1490b17d7f..8eee5d2c35960be633f4e29dcc6d74a1b35b7967 100755
--- a/builds/runtimes/python-2.6.7
+++ b/builds/runtimes/python-2.6.7
@@ -4,15 +4,13 @@
 
 OUT_PREFIX=$1
 
+source ./download_python
+download_python "2.6.7"
+
 # Protect 2.6 builds from parent Python (causes segfault during build).
 unset LANG PYTHONHOME PYTHONPATH
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.6.7/Python-2.6.7.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.6.7 src
 cd src
-
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-2.6.8 b/builds/runtimes/python-2.6.8
index ed071fc977314a1d81c94b504f15af43a609450b..6ecbe7bf952710e36ab0d0ff67510cfedd41f8fd 100755
--- a/builds/runtimes/python-2.6.8
+++ b/builds/runtimes/python-2.6.8
@@ -4,15 +4,13 @@
 
 OUT_PREFIX=$1
 
+source ./download_python
+download_python "2.6.8"
+
 # Protect 2.6 builds from parent Python (causes segfault during build).
 unset LANG PYTHONHOME PYTHONPATH
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.6.8/Python-2.6.8.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.6.8 src
 cd src
-
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-2.6.9 b/builds/runtimes/python-2.6.9
index dfa52839203c671fee5ab585a5893c32e4f72b5f..b825405fa782c961ee6652f2cc1db4dfdfd046b1 100755
--- a/builds/runtimes/python-2.6.9
+++ b/builds/runtimes/python-2.6.9
@@ -4,15 +4,13 @@
 
 OUT_PREFIX=$1
 
+source ./download_python
+download_python "2.6.9"
+
 # Protect 2.6 builds from parent Python (causes segfault during build).
 unset LANG PYTHONHOME PYTHONPATH
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.6.9/Python-2.6.9.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.6.9 src
 cd src
-
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-2.7.0 b/builds/runtimes/python-2.7.0
index 17559ec88623d1e63536201733bd4c5dce55ae32..5e762c09cc7759afca8101409a59e9cb6df360ca 100755
--- a/builds/runtimes/python-2.7.0
+++ b/builds/runtimes/python-2.7.0
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.7/Python-2.7.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.7 src
-cd src
+source ./download_python
+download_python "2.7"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-2.7.1 b/builds/runtimes/python-2.7.1
index 06b03af48b7027752c820408b49457b3d62921af..3e5520222c10c10c61e5293b22f3c9c24b4b6e0d 100755
--- a/builds/runtimes/python-2.7.1
+++ b/builds/runtimes/python-2.7.1
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.7.1/Python-2.7.1.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.7.1 src
-cd src
+source ./download_python
+download_python "2.7.1"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-2.7.2 b/builds/runtimes/python-2.7.2
index f89af12a162769225772f98835f4205963f57aac..f638b0508536e242365be509c8e5055c4f01e2e1 100755
--- a/builds/runtimes/python-2.7.2
+++ b/builds/runtimes/python-2.7.2
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.7.2/Python-2.7.2.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.7.2 src
-cd src
+source ./download_python
+download_python "2.7.2"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-2.7.3 b/builds/runtimes/python-2.7.3
index d139ca38d9ab559f1d9650548575c630863484ad..220cddc4955af734df1684e306954ec08526cd29 100755
--- a/builds/runtimes/python-2.7.3
+++ b/builds/runtimes/python-2.7.3
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.7.3/Python-2.7.3.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.7.3 src
-cd src
+source ./download_python
+download_python "2.7.3"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-2.7.4 b/builds/runtimes/python-2.7.4
index 08b04e0ed4dab8f7b99a7eb9291787ce957fb492..c91efcbbe96fab01151b381e4ad9590d3aef9797 100755
--- a/builds/runtimes/python-2.7.4
+++ b/builds/runtimes/python-2.7.4
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.7.4/Python-2.7.4.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.7.4 src
-cd src
+source ./download_python
+download_python "2.7.4"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-2.7.5 b/builds/runtimes/python-2.7.5
index 520ec0131723a2b7e8999c69607932d03cc6212e..8615ca1a9f41b1f92e022309ec0ae463982b4468 100755
--- a/builds/runtimes/python-2.7.5
+++ b/builds/runtimes/python-2.7.5
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.7.5/Python-2.7.5.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.7.5 src
-cd src
+source ./download_python
+download_python "2.7.5"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-2.7.6 b/builds/runtimes/python-2.7.6
index 098ea0f58f31e85c01528eed9b07d3e906dbca48..664c1bb9d258cd79a4377e4cc81c8b5b5897e4b9 100755
--- a/builds/runtimes/python-2.7.6
+++ b/builds/runtimes/python-2.7.6
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.7.6/Python-2.7.6.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.7.6 src
-cd src
+source ./download_python
+download_python "2.7.6"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-2.7.7 b/builds/runtimes/python-2.7.7
index 7ff982fd4decc917af4876b6a545789a54910eb2..06ef9032c22d00b45764807534d4bff2014cf92e 100755
--- a/builds/runtimes/python-2.7.7
+++ b/builds/runtimes/python-2.7.7
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.7.7/Python-2.7.7.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.7.7 src
-cd src
+source ./download_python
+download_python "2.7.7"
 
+cd src
 ./configure --prefix=$OUT_PREFIX
 make
 make install
diff --git a/builds/runtimes/python-2.7.7-shared b/builds/runtimes/python-2.7.7-shared
index 2c6a60e1fa271749a98113e5033d2353d6433e7d..fc3d7ef4ecd43c9969a720a7b84084978ce59768 100755
--- a/builds/runtimes/python-2.7.7-shared
+++ b/builds/runtimes/python-2.7.7-shared
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.7.7/Python-2.7.7.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.7.7 src
-cd src
+source ./download_python
+download_python "2.7.7"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-2.7.8 b/builds/runtimes/python-2.7.8
index 070098911eb115d3a882aaa6cf1fac7c560ce4b3..50eb1ccfd58e7ccd025d56da580d28ecaa5a7ef6 100755
--- a/builds/runtimes/python-2.7.8
+++ b/builds/runtimes/python-2.7.8
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.7.8/Python-2.7.8.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.7.8 src
-cd src
+source ./download_python
+download_python "2.7.8"
 
+cd src
 ./configure --prefix=$OUT_PREFIX
 make
 make install
diff --git a/builds/runtimes/python-2.7.8-shared b/builds/runtimes/python-2.7.8-shared
index 070098911eb115d3a882aaa6cf1fac7c560ce4b3..50eb1ccfd58e7ccd025d56da580d28ecaa5a7ef6 100755
--- a/builds/runtimes/python-2.7.8-shared
+++ b/builds/runtimes/python-2.7.8-shared
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/2.7.8/Python-2.7.8.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-2.7.8 src
-cd src
+source ./download_python
+download_python "2.7.8"
 
+cd src
 ./configure --prefix=$OUT_PREFIX
 make
 make install
diff --git a/builds/runtimes/python-3.1.0 b/builds/runtimes/python-3.1.0
index effbf441491fb51b34ebd51f2b87fd582fee8d6a..a167649fa5a16b01497c1aef3027cb7ca068614f 100755
--- a/builds/runtimes/python-3.1.0
+++ b/builds/runtimes/python-3.1.0
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/3.1/Python-3.1.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-3.1 src
-cd src
+source ./download_python
+download_python "3.1"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-3.1.1 b/builds/runtimes/python-3.1.1
index bf5698af4e7c77d0fc37a78341892ffe0ad8b07e..6f884dc04308471ae8e8c9d8c7e8c73aa6cda3a9 100755
--- a/builds/runtimes/python-3.1.1
+++ b/builds/runtimes/python-3.1.1
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/3.1.1/Python-3.1.1.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-3.1.1 src
-cd src
+source ./download_python
+download_python "3.1.1"
 
+cd src
 ./configure --prefix=$OUT_PREFIX  --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-3.1.2 b/builds/runtimes/python-3.1.2
index 2544ba2688eb0bee5748172cc2bac8c89fc89e33..0fdf4c9754f6baa3ec864086df6ef88786c6a4fc 100755
--- a/builds/runtimes/python-3.1.2
+++ b/builds/runtimes/python-3.1.2
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/3.1.2/Python-3.1.2.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-3.1.2 src
-cd src
+source ./download_python
+download_python "3.1.2"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-3.1.3 b/builds/runtimes/python-3.1.3
index 7af8e662f6ae3fb7c560e5adc7db51c5141458d4..29e3b56ad99d9c9c08a8dd262368bc25fa43c165 100755
--- a/builds/runtimes/python-3.1.3
+++ b/builds/runtimes/python-3.1.3
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/3.1.3/Python-3.1.3.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-3.1.3 src
-cd src
+source ./download_python
+download_python "3.1.3"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-3.1.4 b/builds/runtimes/python-3.1.4
index e1050d97f1fff568df27ce94b43da5510c3d128c..db4878e1901105f895b6f1c2c929df53905a82bc 100755
--- a/builds/runtimes/python-3.1.4
+++ b/builds/runtimes/python-3.1.4
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/3.1.4/Python-3.1.4.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-3.1.4 src
-cd src
+source ./download_python
+download_python "3.1.4"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-3.1.5 b/builds/runtimes/python-3.1.5
index f538d93c445df51c31369a5688e36ac5fb726aa0..2a74e789856d586f8a513aa0c744d5bcf9d3a2e7 100755
--- a/builds/runtimes/python-3.1.5
+++ b/builds/runtimes/python-3.1.5
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/3.1.5/Python-3.1.5.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-3.1.5 src
-cd src
+source ./download_python
+download_python "3.1.5"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-3.2.0 b/builds/runtimes/python-3.2.0
index f4c5ce231632191e0db8b7330e25089bef8d1d0f..bee64e58d7e5ed9ff80f4efe835ca9f32a9a8252 100755
--- a/builds/runtimes/python-3.2.0
+++ b/builds/runtimes/python-3.2.0
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/3.2/Python-3.2.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-3.2 src
-cd src
+source ./download_python
+download_python "3.2"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-3.2.1 b/builds/runtimes/python-3.2.1
index 68392d09fcdc9c822f7fa78497744c8b8daafbf7..46eaae8ecfe9b0a227beab9289c1aefad473ed69 100755
--- a/builds/runtimes/python-3.2.1
+++ b/builds/runtimes/python-3.2.1
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/3.2.1/Python-3.2.1.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-3.2.1 src
-cd src
+source ./download_python
+download_python "3.2.1"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-3.2.2 b/builds/runtimes/python-3.2.2
index dd22cab778d52bf3d5bed79b5bbed5a5e58bc452..2bc4c134d918afa4b5ad28889e41463ca9da1ee2 100755
--- a/builds/runtimes/python-3.2.2
+++ b/builds/runtimes/python-3.2.2
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/3.2.2/Python-3.2.2.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-3.2.2 src
-cd src
+source ./download_python
+download_python "3.2.2"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-3.2.3 b/builds/runtimes/python-3.2.3
index 9d887e6e40f79c4c68b0da00759374ea32d97d47..6f26cd8e13299708729b02481c87673af31e17dd 100755
--- a/builds/runtimes/python-3.2.3
+++ b/builds/runtimes/python-3.2.3
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/3.2.3/Python-3.2.3.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-3.2.3 src
-cd src
+source ./download_python
+download_python "3.2.3"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-3.2.4 b/builds/runtimes/python-3.2.4
index 20d2050d7ab29ddef29601c5c461726cacfcf712..89d5d36ca893aa62729abc60c1d697462c17ac3a 100755
--- a/builds/runtimes/python-3.2.4
+++ b/builds/runtimes/python-3.2.4
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/3.2.4/Python-3.2.4.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-3.2.4 src
-cd src
+source ./download_python
+download_python "3.2.4"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-3.2.5 b/builds/runtimes/python-3.2.5
index 1c4b18e68b9227397cc53c8c22401a826266a912..16506c0ed5f75b2721e07b6cd56b9b8ac79a9802 100755
--- a/builds/runtimes/python-3.2.5
+++ b/builds/runtimes/python-3.2.5
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/3.2.5/Python-3.2.5.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-3.2.5 src
-cd src
+source ./download_python
+download_python "3.2.5"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-3.3.0 b/builds/runtimes/python-3.3.0
index 436fd92eef905b6a346658ff8c649dc3f08b373b..6650bb2d0cb2ceb5f3b7e8f03daa460d3f5191ae 100755
--- a/builds/runtimes/python-3.3.0
+++ b/builds/runtimes/python-3.3.0
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/3.3.0/Python-3.3.0.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-3.3.0 src
-cd src
+source ./download_python
+download_python "3.3.0"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-3.3.1 b/builds/runtimes/python-3.3.1
index fcf234e0f1dc4594ca9122b51804dca1dabd832f..e08969ac93041ce61c8e61a6758b1e4d16b8c4b2 100755
--- a/builds/runtimes/python-3.3.1
+++ b/builds/runtimes/python-3.3.1
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/3.3.1/Python-3.3.1.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-3.3.1 src
-cd src
+source ./download_python
+download_python "3.3.1"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-3.3.2 b/builds/runtimes/python-3.3.2
index 076bf757b8aaae0c47d0fd0228e59182249da531..2f0cb48e2354e6f47e1f4c3caeae38710694f377 100755
--- a/builds/runtimes/python-3.3.2
+++ b/builds/runtimes/python-3.3.2
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/3.3.2/Python-3.3.2.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-3.3.2 src
-cd src
+source ./download_python
+download_python "3.3.2"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-3.3.3 b/builds/runtimes/python-3.3.3
index 50fe9b8788d07cc863ae36ac531883a3960c89fc..19a602713cef8321df8619f27a94613981953a3c 100755
--- a/builds/runtimes/python-3.3.3
+++ b/builds/runtimes/python-3.3.3
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/3.3.3/Python-3.3.3.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-3.3.3 src
-cd src
+source ./download_python
+download_python "3.3.3"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-3.3.4 b/builds/runtimes/python-3.3.4
index d07a5c6b36884fb37022326439614fbceb7d7ed0..10e465de70f990189b8b2ed18bed70634a073a58 100755
--- a/builds/runtimes/python-3.3.4
+++ b/builds/runtimes/python-3.3.4
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/3.3.4/Python-3.3.4.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-3.3.4 src
-cd src
+source ./download_python
+download_python "3.3.4"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-3.3.5 b/builds/runtimes/python-3.3.5
index df64fd8b2fdee6350e75788d6a9f1a92d6377ec7..682e847e651a123e22d636387581fbb07f9453b9 100755
--- a/builds/runtimes/python-3.3.5
+++ b/builds/runtimes/python-3.3.5
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/3.3.5/Python-3.3.5.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-3.3.5 src
-cd src
+source ./download_python
+download_python "3.3.5"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-3.4.0 b/builds/runtimes/python-3.4.0
index 8e4d80e34a2dcb359fa708210fe89e3ab4ea3eb2..dbd1a003febcbadb6a7b2313998e1999032fe904 100755
--- a/builds/runtimes/python-3.4.0
+++ b/builds/runtimes/python-3.4.0
@@ -4,12 +4,10 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/3.4.0/Python-3.4.0.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-3.4.0 src
-cd src
+source ./download_python
+download_python "3.4.0"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --with-ensurepip=no --enable-shared
 make
 make install
diff --git a/builds/runtimes/python-3.4.1 b/builds/runtimes/python-3.4.1
index 352245a56b339f0bbd42660781496cdde6ce1dc4..2cabc67c87df3a412494313395310da3c05ae43c 100755
--- a/builds/runtimes/python-3.4.1
+++ b/builds/runtimes/python-3.4.1
@@ -4,15 +4,12 @@
 
 OUT_PREFIX=$1
 
-echo "Building Python..."
-SOURCE_TARBALL='http://python.org/ftp/python/3.4.1/Python-3.4.1.tgz'
-curl -L $SOURCE_TARBALL | tar xz
-mv Python-3.4.1 src
-cd src
+source ./download_python
+download_python "3.4.1"
 
+cd src
 ./configure --prefix=$OUT_PREFIX --with-ensurepip=no --enable-shared
 make
 make install
 
 ln $OUT_PREFIX/bin/python3 $OUT_PREFIX/bin/python
-