summary refs log tree commit diff
path: root/pkgs/top-level/python-packages.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/top-level/python-packages.nix')
-rw-r--r--pkgs/top-level/python-packages.nix763
1 files changed, 721 insertions, 42 deletions
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 877d2d3ed7c2..6dc8d0298217 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -49,7 +49,7 @@ pythonPackages = python.modules // rec {
   # packages defined elsewhere
 
   ipython = import ../shells/ipython {
-    inherit (pkgs) stdenv fetchurl;
+    inherit (pkgs) stdenv fetchurl sip pyqt4;
     inherit buildPythonPackage pythonPackages;
   };
 
@@ -58,6 +58,11 @@ pythonPackages = python.modules // rec {
     inherit python buildPythonPackage;
   };
 
+  pitz = import ../applications/misc/pitz {
+    inherit (pkgs) stdenv fetchurl;
+    inherit buildPythonPackage tempita jinja2 pyyaml clepy mock nose decorator docutils;
+  };
+
   pycairo = import ../development/python-modules/pycairo {
     inherit (pkgs) stdenv fetchurl pkgconfig cairo x11;
     inherit python;
@@ -123,14 +128,69 @@ pythonPackages = python.modules // rec {
   };
 
 
+  almir = buildPythonPackage rec {
+    name = "almir-0.1.7";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/a/almir/${name}.zip";
+      md5 = "daea15c898487a2bded1ae6ef78633e5";
+    };
+
+    buildInputs = [
+      pkgs.which
+      pkgs.unzip
+      coverage
+      mock
+      tissue
+      unittest2
+      webtest
+    ];
+
+    propagatedBuildInputs = [ 
+      pkgs.makeWrapper
+      pkgs.bacula
+      colander
+      deform
+      deform_bootstrap
+      docutils
+      nose
+      mysql_connector_repackaged
+      pg8000
+      pyramid
+      pyramid_beaker
+      pyramid_exclog
+      pyramid_jinja2
+      pyramid_tm
+      pytz
+      sqlalchemy
+      transaction
+      waitress
+      webhelpers
+      zope_sqlalchemy
+    ];
+
+    postInstall = ''
+      ln -s ${pyramid}/bin/pserve $out/bin
+      ln -s ${pkgs.bacula}/bin/bconsole $out/bin
+      wrapProgram "$out/bin/pserve" \
+        --suffix PYTHONPATH : "$out/lib/python2.7/site-packages"
+    '';
+
+    meta = {
+      maintainers = [ stdenv.lib.maintainers.iElectric ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
+
   alot = buildPythonPackage rec {
-    rev = "c765ebd6041a845a800cc9fd30705102ae2d040f";
-    name = "alot-0.3.3_${rev}";
+    rev = "d3c1880a60ddd8ded397d92cddf310a948b97fdc";
+    name = "alot-0.3.4_${rev}";
 
     src = fetchurl {
       url = "https://github.com/pazz/alot/tarball/${rev}";
       name = "${name}.tar.bz";
-      sha256 = "0yyp3nz5n1zfwf0l4rkkphq5l6prd988b57ighnmi2samzqa9yv4";
+      sha256 = "049fzxs83zry5xr3al5wjvh7bcjq63wilf9wxh2c6sjmg96kpvvl";
     };
 
     # error: invalid command 'test'
@@ -534,6 +594,24 @@ pythonPackages = python.modules // rec {
     };
   });
 
+
+  clepy = buildPythonPackage rec {
+    name = "clepy-0.3.20";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/c/clepy/${name}.tar.gz";
+      sha256 = "16vibfxms5z4ld8gbkra6dkhqm2cc3jnn0fwp7mw70nlwxnmm51c";
+    };
+
+    buildInputs = [ mock nose decorator ];
+
+    meta = {
+      homepage = http://code.google.com/p/clepy/;
+      description = "Utilities created by the Cleveland Python users group";
+    };
+  };
+
+
   clientform = buildPythonPackage (rec {
     name = "clientform-0.2.10";
 
@@ -574,6 +652,26 @@ pythonPackages = python.modules // rec {
     };
   });
 
+
+  colander = buildPythonPackage rec {
+    name = "colander-0.9.6";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/c/colander/${name}.tar.gz";
+      md5 = "2d9f65a64cb6b7f35d6a0d7b607ce4c6";
+    };
+
+    propagatedBuildInputs = [ translationstring ];
+
+    meta = {
+      maintainers = [
+        stdenv.lib.maintainers.garbas
+        stdenv.lib.maintainers.iElectric
+      ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
   configobj = buildPythonPackage (rec {
     name = "configobj-4.7.2";
 
@@ -712,6 +810,295 @@ pythonPackages = python.modules // rec {
     };
   };
 
+
+  deform = buildPythonPackage rec {
+    name = "deform-0.9.4";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/d/deform/${name}.tar.gz";
+      md5 = "2ed7b69644a6d8f4e1404e1892329240";
+    };
+
+    propagatedBuildInputs = [ beautifulsoup4 peppercorn colander translationstring chameleon ];
+
+    meta = {
+      maintainers = [
+        stdenv.lib.maintainers.garbas
+        stdenv.lib.maintainers.iElectric
+      ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
+
+  deform_bootstrap = buildPythonPackage rec {
+    name = "deform_bootstrap-0.2";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/d/deform_bootstrap/${name}.tar.gz";
+      md5 = "57812251f327367761f32d49a8286aa4";
+    };
+
+    propagatedBuildInputs = [ deform ];
+
+    meta = {
+      maintainers = [ stdenv.lib.maintainers.iElectric ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
+
+  peppercorn = buildPythonPackage rec {
+    name = "peppercorn-0.4";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/p/peppercorn/${name}.tar.gz";
+      md5 = "464d6f2342eaf704dfb52046c1f5c320";
+    };
+
+    meta = {
+      maintainers = [
+        stdenv.lib.maintainers.garbas
+        stdenv.lib.maintainers.iElectric
+      ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
+
+  pyramid = buildPythonPackage rec {
+    name = "pyramid-1.3.4";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/p/pyramid/${name}.tar.gz";
+      md5 = "967a04fcb2143b31b279c3013a778a2b";
+    };
+
+    buildInputs = [ 
+      docutils 
+      virtualenv 
+      webtest 
+      zope_component 
+      zope_interface 
+    ];
+
+    propagatedBuildInputs = [
+      chameleon
+      Mako
+      paste_deploy
+      repoze_lru
+      repoze_sphinx_autointerface
+      translationstring
+      venusian
+      webob
+      zope_deprecation
+      zope_interface
+    ];
+
+    meta = {
+      maintainers = [
+        stdenv.lib.maintainers.garbas
+        stdenv.lib.maintainers.iElectric
+      ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
+
+  pyramid_jinja2 = buildPythonPackage rec {
+    name = "pyramid_jinja2-1.6";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/p/pyramid_jinja2/${name}.zip";
+      md5 = "b7df1ab97f90f39529d27ba6da1f6b1c";
+    };
+
+    buildInputs = [ pkgs.unzip webtest ];
+    propagatedBuildInputs = [ jinja2 pyramid ];
+
+    meta = {
+      maintainers = [ stdenv.lib.maintainers.iElectric ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
+
+  pyramid_beaker = buildPythonPackage rec {
+    name = "pyramid_beaker-0.7";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/p/pyramid_beaker/${name}.tar.gz";
+      md5 = "acb863517a98b90b5f29648ce55dd563";
+    };
+
+    propagatedBuildInputs = [ beaker pyramid ];
+
+    meta = {
+      maintainers = [ stdenv.lib.maintainers.iElectric ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
+
+  pyramid_tm = buildPythonPackage rec {
+    name = "pyramid_tm-0.7";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/p/pyramid_tm/${name}.tar.gz";
+      md5 = "6dc917d262c69366630c542bd21859a3";
+    };
+
+    propagatedBuildInputs = [ transaction pyramid ];
+    meta = {
+      maintainers = [
+        stdenv.lib.maintainers.garbas
+        stdenv.lib.maintainers.iElectric
+      ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
+
+  pyramid_exclog = buildPythonPackage rec {
+    name = "pyramid_exclog-0.6";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/p/pyramid_exclog/${name}.tar.gz";
+      md5 = "5c18706f5500605416afff311120c933";
+    };
+
+    propagatedBuildInputs = [ pyramid ];
+
+    meta = {
+      maintainers = [
+        stdenv.lib.maintainers.garbas
+        stdenv.lib.maintainers.iElectric
+      ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
+
+  beaker = buildPythonPackage rec {
+    name = "Beaker-1.6.4";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/B/Beaker/${name}.tar.gz";
+      md5 = "c2e102870ed4c53104dec48ceadf8e9d";
+    };
+
+    buildInputs = [ sqlalchemy pycryptopp nose mock webtest ];
+
+    # http://hydra.nixos.org/build/4511591/log/raw
+    doCheck = false;
+
+    meta = {
+      maintainers = [
+        stdenv.lib.maintainers.garbas
+        stdenv.lib.maintainers.iElectric
+      ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
+
+  repoze_sphinx_autointerface = buildPythonPackage rec {
+    name = "repoze.sphinx.autointerface-0.7.1";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/r/repoze.sphinx.autointerface/${name}.tar.gz";
+      md5 = "f2fee996ae28dc16eb48f1a3e8f64801";
+    };
+
+    propagatedBuildInputs = [ zope_interface sphinx ];
+
+    meta = {
+      maintainers = [ stdenv.lib.maintainers.iElectric ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
+
+  repoze_lru = buildPythonPackage rec {
+    name = "repoze.lru-0.4";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/r/repoze.lru/${name}.tar.gz";
+      md5 = "9f6ab7a4ff871ba795cadf56c20fb0f0";
+    };
+
+    meta = {
+      maintainers = [
+        stdenv.lib.maintainers.garbas
+        stdenv.lib.maintainers.iElectric
+      ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
+
+  zope_deprecation = buildPythonPackage rec {
+    name = "zope.deprecation-3.5.0";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zope.deprecation/${name}.tar.gz";
+      md5 = "1e7db82583013127aab3e7e790b1f2b6";
+    };
+
+    buildInputs = [ zope_testing ];
+
+    meta = {
+      maintainers = [
+        stdenv.lib.maintainers.garbas
+        stdenv.lib.maintainers.iElectric
+      ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
+
+  venusian = buildPythonPackage rec {
+    name = "venusian-1.0a7";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/v/venusian/${name}.tar.gz";
+      md5 = "6f67506dd3cf77116f1c01682a6c3f27";
+    };
+
+    # TODO: https://github.com/Pylons/venusian/issues/23
+    doCheck = false;
+
+    meta = {
+      maintainers = [
+        stdenv.lib.maintainers.garbas
+        stdenv.lib.maintainers.iElectric
+      ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
+
+  chameleon = buildPythonPackage rec {
+    name = "Chameleon-2.11";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/C/Chameleon/${name}.tar.gz";
+      md5 = "df72458bf3dd26a744dcff5ad555c34b";
+    };
+
+    # TODO: https://github.com/malthe/chameleon/issues/139
+    doCheck = false;
+
+    meta = {
+       maintainers = [
+         stdenv.lib.maintainers.garbas
+         stdenv.lib.maintainers.iElectric
+      ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
+
   distribute = stdenv.mkDerivation rec {
     name = "distribute-0.6.34";
 
@@ -796,14 +1183,14 @@ pythonPackages = python.modules // rec {
       md5 = "33557678bf2f320de670ddaefaea009d";
     };
 
-    # TODO: gui, procsettitle
-    buildInputs = [ pkgs.libtorrentRasterbar twisted Mako chardet pyxdg pkgs.pyopenssl ];
-    propagatedBuildInputs = [ pkgs.libtorrentRasterbar twisted Mako chardet pyxdg pkgs.pyopenssl ];
+    propagatedBuildInputs = with pkgs; [
+      pyGtkGlade libtorrentRasterbar twisted Mako chardet pyxdg pyopenssl
+    ];
 
     meta = {
       homepage = http://deluge-torrent.org;
       description = "Torrent client";
-      license = "GPLv3";
+      license = stdenv.lib.licenses.gpl3Plus;
       maintainers = [ stdenv.lib.maintainers.iElectric ];
       platforms = stdenv.lib.platforms.all;
     };
@@ -1049,17 +1436,18 @@ pythonPackages = python.modules // rec {
 
 
   flake8 = buildPythonPackage (rec {
-    name = "flake8-1.7.0";
+    name = "flake8-2.0";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/f/flake8/${name}.tar.gz";
-      md5 = "a7830d1a6c23e889bc1fcaa4a87f53bd";
+      md5 = "176c6b3613777122721db181560aa1e3";
     };
 
     buildInputs = [ nose ];
+    propagatedBuildInputs = [ pyflakes pep8 mccabe ];
 
     # 3 failing tests
-    doCheck = false;
+    #doCheck = false;
 
     meta = {
       description = "code checking using pep8 and pyflakes.";
@@ -1097,7 +1485,7 @@ pythonPackages = python.modules // rec {
     };
 
     buildInputs = [ nose ];
-    propagatedBuildInputs = [ beautifulsoup4 pyrss2gen feedparser pynzb html5lib dateutil beautifulsoup flask jinja2 requests sqlalchemy pyyaml cherrypy progressbar ];
+    propagatedBuildInputs = [ beautifulsoup4 pyrss2gen feedparser pynzb html5lib dateutil beautifulsoup flask jinja2 requests sqlalchemy pyyaml cherrypy progressbar deluge ];
 
     meta = {
       homepage = http://flexget.com/;
@@ -1320,12 +1708,29 @@ pythonPackages = python.modules // rec {
     };
   });
 
+  http_signature = buildPythonPackage (rec {
+    name = "http_signature-0.1.4";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/h/http_signature/${name}.tar.gz";
+      md5 = "015061846254bd5d8c5dbc2913985153";
+    };
+
+    propagatedBuildInputs = [pycrypto];
+
+    meta = {
+      homepage = https://github.com/atl/py-http-signature;
+      description = "";
+      license = stdenv.lib.licenses.mit;
+    };
+  });
+
   httplib2 = buildPythonPackage rec {
-    name = "httplib2-0.7.7";
+    name = "httplib2-0.8";
 
     src = fetchurl {
       url = "http://httplib2.googlecode.com/files/${name}.tar.gz";
-      sha256 = "2e2ce18092c32d1ec54f8a447e14e33585e30f240b883bfeeca65f12b3bcfaf6";
+      sha256 = "0gww8axb4j1vysbk9kfsk5vrws9a403gh30dxchmga8hrg1rns5g";
     };
 
     meta = {
@@ -1388,6 +1793,16 @@ pythonPackages = python.modules // rec {
     propagatedBuildInputs = [ ipython ];
   };
 
+  ipdbplugin = buildPythonPackage {
+    name = "ipdbplugin-1.2";
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/i/ipdbplugin/ipdbplugin-1.2.tar.gz";
+      md5 = "39169b00a2186b99469249c5b0613753";
+    };
+    propagatedBuildInputs = [ nose ipython ];
+  };
+
+
   jedi = buildPythonPackage (rec {
     name = "jedi-0.5b5";
 
@@ -1651,6 +2066,25 @@ pythonPackages = python.modules // rec {
   });
 
 
+  mccabe = buildPythonPackage (rec {
+    name = "mccabe-0.2";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/m/mccabe/${name}.tar.gz";
+      md5 = "c1012c7c24081471f45aab864d4e3805";
+    };
+
+    buildInputs = [ ];
+
+    meta = {
+      description = "McCabe checker, plugin for flake8";
+      homepage = "https://github.com/flintwork/mccabe";
+      license = pkgs.lib.licenses.mit;
+      maintainers = [ stdenv.lib.maintainers.garbas ];
+    };
+  });
+
+
   mechanize = buildPythonPackage (rec {
     name = "mechanize-0.1.11";
 
@@ -1687,11 +2121,11 @@ pythonPackages = python.modules // rec {
 
 
   mock = buildPythonPackage (rec {
-    name = "mock-0.7.0";
+    name = "mock-1.0.1";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/m/mock/${name}.tar.gz";
-      md5 = "be029f8c963c55250a452c400e10cf42";
+      md5 = "c3971991738caa55ec7c356bbc154ee2";
     };
 
     buildInputs = [ unittest2 ];
@@ -1820,6 +2254,24 @@ pythonPackages = python.modules // rec {
   };
 
 
+  mysql_connector_repackaged = buildPythonPackage rec {
+    name = "mysql-connector-repackaged-0.3.1";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/m/mysql-connector-repackaged/${name}.tar.gz";
+      md5 = "0b17ad1cb3fe763fd44487cb97cf45b2";
+    };
+
+    meta = {
+      maintainers = [
+        stdenv.lib.maintainers.garbas
+        stdenv.lib.maintainers.iElectric
+      ];
+      platforms = stdenv.lib.platforms.linux;
+    };
+  };
+
+
   namebench = buildPythonPackage (rec {
     name = "namebench-1.0.5";
 
@@ -2162,38 +2614,52 @@ pythonPackages = python.modules // rec {
 
 
   paste_deploy = buildPythonPackage rec {
-    version = "1.3.4";
+    version = "1.5.0";
     name = "paste-deploy-${version}";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/P/PasteDeploy/PasteDeploy-${version}.tar.gz";
-      md5 = "eb4b3e2543d54401249c2cbd9f2d014f";
+      md5 = "f1a068a0b680493b6eaff3dd7690690f";
     };
 
     buildInputs = [ nose ];
 
-    doCheck = false; # can't find "FakeEgg.app", apparently missing from the tarball
-
     meta = {
       description = "Load, configure, and compose WSGI applications and servers";
       homepage = http://pythonpaste.org/deploy/;
+      platforms = stdenv.lib.platforms.all;
     };
   };
 
 
   pep8 = buildPythonPackage rec {
     name = "pep8-${version}";
-    version = "1.3.3";
+    version = "1.4.5";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/pep8/${name}.tar.gz";
-      md5 = "093a99ced0cc3b58c01549d7350f5a73";
-    };
+      md5 = "055dbd22ac5669232fdba752612e9686";
+    };
+
+    #======================================================================
+    #FAIL: test_check_simple (testsuite.test_shell.ShellTestCase)
+    #----------------------------------------------------------------------
+    #Traceback (most recent call last):
+    #  File "/tmp/nix-build-python-pep8-1.4.5.drv-0/pep8-1.4.5/testsuite/test_shell.py", line 84, in test_check_simple
+    #    self.assertTrue(config_filename.endswith('tox.ini'))
+    #AssertionError: False is not true
+    #
+    #----------------------------------------------------------------------
+    #Ran 21 tests in 0.711s
+    #
+    #FAILED (failures=1)
+    doCheck = false;
 
     meta = {
-      homepage = http://pypi.python.org/pypi/pep8/;
+      homepage = "http://pep8.readthedocs.org/";
       description = "Python style guide checker";
       license = pkgs.lib.licenses.mit;
+      maintainers = [ stdenv.lib.maintainers.garbas ];
     };
   };
 
@@ -2234,6 +2700,28 @@ pythonPackages = python.modules // rec {
     };
   };
 
+
+  pg8000 = buildPythonPackage rec {
+    name = "pg8000-1.08";
+
+    src = fetchurl {
+      url = "http://pybrary.net/pg8000/dist/${name}.tar.gz";
+      md5 = "2e8317a22d0e09a6f12e98ddf3bb75fd";
+    };
+
+    buildInputs = [ pkgs.unzip ];
+
+    propagatedBuildInputs = [ pytz ];
+
+    meta = {
+      maintainers = [
+        stdenv.lib.maintainers.garbas
+        stdenv.lib.maintainers.iElectric
+      ];
+      platforms = stdenv.lib.platforms.linux;
+    };
+  };
+
   pip = buildPythonPackage {
     name = "pip-1.2.1";
     src = fetchurl {
@@ -2305,11 +2793,11 @@ pythonPackages = python.modules // rec {
 
 
   prettytable = buildPythonPackage rec {
-    name = "prettytable-0.5";
+    name = "prettytable-0.7.1";
 
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/P/PrettyTable/${name}.tar.gz";
-      md5 = "13a6930d775395f393afd86948afa4fa";
+      url = "http://pypi.python.org/packages/source/P/PrettyTable/${name}.tar.bz2";
+      sha1 = "ad346a18d92c1d95f2295397c7a8a4f489e48851";
     };
 
     meta = {
@@ -2530,6 +3018,24 @@ pythonPackages = python.modules // rec {
     };
   };
 
+  pyflakes = buildPythonPackage rec {
+    name = "pyflakes-0.6.1";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/p/pyflakes/${name}.tar.gz";
+      md5 = "00debd2280b962e915dfee552a675915";
+    };
+
+    buildInputs = [ unittest2 ];
+
+    meta = {
+      homepage = "https://launchpad.net/pyflakes";
+      description = "A simple program which checks Python source files for errors.";
+      license = pkgs.lib.licenses.mit;
+      maintainers = [ stdenv.lib.maintainers.garbas ];
+    };
+  };
+
   pyglet = buildPythonPackage rec {
     name = "pyglet-1.1.4";
 
@@ -2791,11 +3297,13 @@ pythonPackages = python.modules // rec {
 
   pyquery = buildPythonPackage rec {
     name = "pyquery-1.2.4";
+
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/p/pyquery/pyquery-1.2.4.tar.gz";
+      url = "http://pypi.python.org/packages/source/p/pyquery/${name}.tar.gz";
       md5 = "268f08258738d21bc1920d7522f2a63b";
     };
-    buildInputs = [ cssselect lxml ];
+
+    propagatedBuildInputs = [ cssselect lxml ];
   };
 
 
@@ -3399,6 +3907,23 @@ pythonPackages = python.modules // rec {
     };
   });
 
+  smartdc = buildPythonPackage rec {
+    name = "smartdc-0.1.12";
+
+    src = fetchurl {
+      url = https://pypi.python.org/packages/source/s/smartdc/smartdc-0.1.12.tar.gz;
+      md5 = "b960f61facafc879142b699050f6d8b4";
+    };
+
+    propagatedBuildInputs = [ requests http_signature ];
+
+    meta = {
+      description = "Joyent SmartDataCenter CloudAPI connector using http-signature authentication via Requests";
+      homepage = https://github.com/atl/py-smartdc;
+      license = pkgs.lib.licenses.mit;
+    };
+  };
+
   sphinx = buildPythonPackage (rec {
     name = "Sphinx-1.1.3";
 
@@ -3641,11 +4166,11 @@ pythonPackages = python.modules // rec {
 
 
   turses = buildPythonPackage (rec {
-    name = "turses-0.2.12";
+    name = "turses-0.2.13";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/t/turses/${name}.tar.gz";
-      sha256 = "016fw2ch1gy3rrlfjsdpd6y11mkrbjw4h84h7954k2vhc84l1gm0";
+      sha256 = "0sygm40z04zifcfqwby8wwwnj3i1bpl41r7xgnjcipxwirjmnp2k";
     };
 
     propagatedBuildInputs = [ oauth2 urwid tweepy ] ++ optional isPy26 argparse;
@@ -3810,24 +4335,38 @@ pythonPackages = python.modules // rec {
     };
   };
 
+  waitress = buildPythonPackage rec {
+    name = "waitress-0.8.1";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/w/waitress/${name}.tar.gz";
+      md5 = "aadfc692b780fc42eb05ac819102d336";
+    };
+
+    meta = {
+       maintainers = [
+         stdenv.lib.maintainers.garbas
+         stdenv.lib.maintainers.iElectric
+       ];
+       platforms = stdenv.lib.platforms.all;
+    };
+  };
 
   webob = buildPythonPackage rec {
-    version = "1.0.6";
+    version = "1.2.3";
     name = "webob-${version}";
 
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/W/WebOb/WebOb-${version}.zip";
-      md5 = "8e46dd755f6998d471bfbcb4def897ff";
+      url = "http://pypi.python.org/packages/source/W/WebOb/WebOb-${version}.tar.gz";
+      md5 = "11825b7074ba7043e157805e4e6e0f55";
     };
 
-    buildInputs = [ pkgs.unzip ];
-
-    # The test requires "webtest", which is a cyclic dependency.  (WTF?)
-    doCheck = false;
+    propagatedBuildInputs = [ nose ];
 
     meta = {
       description = "WSGI request and response object";
       homepage = http://pythonpaste.org/webob/;
+      platforms = stdenv.lib.platforms.all;
     };
   };
 
@@ -3851,19 +4390,34 @@ pythonPackages = python.modules // rec {
 
 
   webtest = buildPythonPackage rec {
-    version = "1.2.3";
+    version = "2.0.3";
     name = "webtest-${version}";
 
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/W/WebTest/WebTest-${version}.tar.gz";
-      md5 = "585f9331467e6d99acaba4051c1c5878";
+      url = "http://pypi.python.org/packages/source/W/WebTest/WebTest-${version}.zip";
+      md5 = "a1266d4db421963fd3deb172c6689e4b";
     };
 
-    propagatedBuildInputs = [ nose webob dtopt ];
+    buildInputs = [ pkgs.unzip ];
+
+    propagatedBuildInputs = [
+      nose
+      webob
+      six
+      beautifulsoup4
+      waitress
+      unittest2
+      mock
+      pyquery
+      wsgiproxy2
+      paste_deploy
+      coverage
+    ];
 
     meta = {
       description = "Helper to test WSGI applications";
       homepage = http://pythonpaste.org/webtest/;
+      platforms = stdenv.lib.platforms.all;
     };
   };
 
@@ -3902,6 +4456,26 @@ pythonPackages = python.modules // rec {
   });
 
 
+  wsgiproxy2 = buildPythonPackage rec {
+    name = "WSGIProxy2-0.1";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/W/WSGIProxy2/${name}.tar.gz";
+      md5 = "157049212f1c81a8790efa31146fbabf";
+    };
+
+    propagatedBuildInputs = [ six webob ];
+
+    meta = {
+       maintainers = [
+         stdenv.lib.maintainers.garbas
+         stdenv.lib.maintainers.iElectric
+      ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
+
   wxPython = wxPython28;
 
 
@@ -4415,6 +4989,27 @@ pythonPackages = python.modules // rec {
   };
 
 
+  zope_sqlalchemy = buildPythonPackage rec {
+    name = "zope.sqlalchemy-0.7.2";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zope.sqlalchemy/${name}.zip";
+      md5 = "b654e5d144ed141e13b42591a21a4868";
+    };
+
+    buildInputs = [ pkgs.unzip sqlalchemy zope_testing zope_interface setuptools ];
+    propagatedBuildInputs = [ sqlalchemy transaction ];
+
+    meta = {
+      maintainers = [
+        stdenv.lib.maintainers.garbas
+        stdenv.lib.maintainers.iElectric
+      ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
+
   zope_testing = buildPythonPackage rec {
     name = "zope.testing-${version}";
     version = "4.1.1";
@@ -4533,6 +5128,49 @@ pythonPackages = python.modules // rec {
     };
   };
 
+
+  tornado = buildPythonPackage rec {
+    name = "tornado-2.4";
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/t/tornado/tornado-2.4.tar.gz";
+      md5 = "c738af97c31dd70f41f6726cf0968941";
+    };
+    doCheck = false;
+  };
+
+
+  pyzmq = buildPythonPackage rec {
+    name = "pyzmq-13.0.0";
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/p/pyzmq/pyzmq-13.0.0.zip";
+      md5 = "fa2199022e54a393052d380c6e1a0934";
+    };
+    buildInputs = [ pkgs.unzip pkgs.zeromq3 ];
+    propagatedBuildInputs = [  ];
+    doCheck = false;
+  };
+
+
+  tissue = buildPythonPackage rec {
+    name = "tissue-0.7";
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/t/tissue/${name}.tar.gz";
+      md5 = "c9f3772407eb7499a949daaa9b859fdf";
+    };
+
+    buildInputs = [ nose ];
+    propagatedBuildInputs = [ pep8 ];
+
+    meta = {
+      maintainers = [
+        stdenv.lib.maintainers.garbas
+        stdenv.lib.maintainers.iElectric
+      ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
+
   tracing = buildPythonPackage rec {
     name = "tracing-0.7";
 
@@ -4553,6 +5191,24 @@ pythonPackages = python.modules // rec {
     };
   };
 
+  translationstring = buildPythonPackage rec {
+    name = "translationstring-0.4";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/t/translationstring/${name}.tar.gz";
+      md5 = "392287923c475b660b7549b2c2f03dbc";
+    };
+
+    meta = {
+      maintainers = [
+        stdenv.lib.maintainers.garbas
+        stdenv.lib.maintainers.iElectric
+      ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
+
   ttystatus = buildPythonPackage rec {
     name = "ttystatus-0.21";
 
@@ -4595,6 +5251,29 @@ pythonPackages = python.modules // rec {
     };
   };
 
+
+  webhelpers = buildPythonPackage rec {
+    name = "WebHelpers-1.3";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/W/WebHelpers/${name}.tar.gz";
+      md5 = "32749ffadfc40fea51075a7def32588b";
+    };
+
+    buildInputs = [ routes MarkupSafe webob nose ];
+
+    # TODO: failing tests https://bitbucket.org/bbangert/webhelpers/pull-request/1/fix-error-on-webob-123/diff
+    doCheck = false;
+
+    meta = {
+      maintainers = [
+        stdenv.lib.maintainers.garbas
+        stdenv.lib.maintainers.iElectric
+      ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
   whisper = buildPythonPackage rec {
     name = "whisper-${version}";
     version = "0.9.10";