summary refs log tree commit diff
path: root/pkgs/development/python-modules
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2018-01-02 19:10:45 +0100
committerFrederik Rietdijk <fridh@fridh.nl>2018-01-02 19:10:45 +0100
commit804285f589ded484b530750dd1ec03b9052bcdac (patch)
tree8b20955e293215e1b8d672a3fd38867c39484609 /pkgs/development/python-modules
parent63c1a54257a5cef15b926c0843b3c7557c6f9a24 (diff)
parent4cc2a38854338ba783fb867ff924200b59867773 (diff)
downloadnixlib-804285f589ded484b530750dd1ec03b9052bcdac.tar
nixlib-804285f589ded484b530750dd1ec03b9052bcdac.tar.gz
nixlib-804285f589ded484b530750dd1ec03b9052bcdac.tar.bz2
nixlib-804285f589ded484b530750dd1ec03b9052bcdac.tar.lz
nixlib-804285f589ded484b530750dd1ec03b9052bcdac.tar.xz
nixlib-804285f589ded484b530750dd1ec03b9052bcdac.tar.zst
nixlib-804285f589ded484b530750dd1ec03b9052bcdac.zip
Merge remote-tracking branch 'upstream/staging' into HEAD
Diffstat (limited to 'pkgs/development/python-modules')
-rw-r--r--pkgs/development/python-modules/APScheduler/default.nix4
-rw-r--r--pkgs/development/python-modules/Mako/default.nix32
-rw-r--r--pkgs/development/python-modules/MechanicalSoup/default.nix10
-rw-r--r--pkgs/development/python-modules/Nikola/default.nix4
-rw-r--r--pkgs/development/python-modules/Theano/default.nix4
-rw-r--r--pkgs/development/python-modules/absl-py/default.nix4
-rw-r--r--pkgs/development/python-modules/aenum/default.nix4
-rw-r--r--pkgs/development/python-modules/aiohttp/default.nix4
-rw-r--r--pkgs/development/python-modules/arrow/default.nix11
-rw-r--r--pkgs/development/python-modules/asgiref/default.nix4
-rw-r--r--pkgs/development/python-modules/asn1crypto/default.nix4
-rw-r--r--pkgs/development/python-modules/astor/default.nix4
-rw-r--r--pkgs/development/python-modules/astroid/default.nix4
-rw-r--r--pkgs/development/python-modules/astropy/default.nix4
-rw-r--r--pkgs/development/python-modules/attrs/default.nix10
-rw-r--r--pkgs/development/python-modules/aws-xray-sdk/default.nix29
-rw-r--r--pkgs/development/python-modules/backports_abc/default.nix25
-rw-r--r--pkgs/development/python-modules/backports_functools_lru_cache/default.nix24
-rw-r--r--pkgs/development/python-modules/backports_lzma/default.nix32
-rw-r--r--pkgs/development/python-modules/biopython/default.nix32
-rw-r--r--pkgs/development/python-modules/blaze/default.nix12
-rw-r--r--pkgs/development/python-modules/bokeh/default.nix4
-rw-r--r--pkgs/development/python-modules/bootstrapped-pip/default.nix4
-rw-r--r--pkgs/development/python-modules/boto3/default.nix50
-rw-r--r--pkgs/development/python-modules/botocore/default.nix4
-rw-r--r--pkgs/development/python-modules/brotlipy/default.nix36
-rw-r--r--pkgs/development/python-modules/cached-property/default.nix25
-rw-r--r--pkgs/development/python-modules/credstash/default.nix4
-rw-r--r--pkgs/development/python-modules/csscompressor/default.nix4
-rw-r--r--pkgs/development/python-modules/cx_freeze/default.nix4
-rw-r--r--pkgs/development/python-modules/cytoolz/default.nix4
-rw-r--r--pkgs/development/python-modules/dask/default.nix4
-rw-r--r--pkgs/development/python-modules/decorator/default.nix20
-rw-r--r--pkgs/development/python-modules/distro/default.nix4
-rw-r--r--pkgs/development/python-modules/django-jinja2/default.nix4
-rw-r--r--pkgs/development/python-modules/djangorestframework/default.nix4
-rw-r--r--pkgs/development/python-modules/docker/default.nix4
-rw-r--r--pkgs/development/python-modules/docker_compose/default.nix11
-rw-r--r--pkgs/development/python-modules/easy-thumbnails/default.nix4
-rw-r--r--pkgs/development/python-modules/eve/default.nix4
-rw-r--r--pkgs/development/python-modules/extras/default.nix23
-rw-r--r--pkgs/development/python-modules/faker/default.nix4
-rw-r--r--pkgs/development/python-modules/fastimport/default.nix8
-rw-r--r--pkgs/development/python-modules/faulthandler/default.nix4
-rw-r--r--pkgs/development/python-modules/filelock/default.nix4
-rw-r--r--pkgs/development/python-modules/fiona/default.nix4
-rw-r--r--pkgs/development/python-modules/flake8-debugger/default.nix4
-rw-r--r--pkgs/development/python-modules/flask-testing/default.nix4
-rw-r--r--pkgs/development/python-modules/flit/default.nix14
-rw-r--r--pkgs/development/python-modules/fonttools/default.nix4
-rw-r--r--pkgs/development/python-modules/ftfy/default.nix4
-rw-r--r--pkgs/development/python-modules/gensim/default.nix4
-rw-r--r--pkgs/development/python-modules/gflags/default.nix8
-rw-r--r--pkgs/development/python-modules/google_api_core/default.nix4
-rw-r--r--pkgs/development/python-modules/gpy/default.nix4
-rw-r--r--pkgs/development/python-modules/grpcio/default.nix4
-rw-r--r--pkgs/development/python-modules/gssapi/default.nix4
-rw-r--r--pkgs/development/python-modules/html5lib/default.nix42
-rw-r--r--pkgs/development/python-modules/htmlmin/default.nix4
-rw-r--r--pkgs/development/python-modules/httpbin/default.nix4
-rw-r--r--pkgs/development/python-modules/idna/default.nix20
-rw-r--r--pkgs/development/python-modules/ipykernel/default.nix4
-rw-r--r--pkgs/development/python-modules/ipywidgets/default.nix4
-rw-r--r--pkgs/development/python-modules/iso8601/default.nix27
-rw-r--r--pkgs/development/python-modules/jdcal/default.nix28
-rw-r--r--pkgs/development/python-modules/jedi/default.nix4
-rw-r--r--pkgs/development/python-modules/jellyfish/default.nix24
-rw-r--r--pkgs/development/python-modules/jinja2/default.nix20
-rw-r--r--pkgs/development/python-modules/jsbeautifier/default.nix4
-rw-r--r--pkgs/development/python-modules/jsondiff/default.nix24
-rw-r--r--pkgs/development/python-modules/jsonpatch/default.nix4
-rw-r--r--pkgs/development/python-modules/jsonpickle/default.nix23
-rw-r--r--pkgs/development/python-modules/jupyter_client/default.nix18
-rw-r--r--pkgs/development/python-modules/jupyter_client/wheel_workaround.patch13
-rw-r--r--pkgs/development/python-modules/jupyter_core/default.nix6
-rw-r--r--pkgs/development/python-modules/jupyter_core/tests_respect_pythonpath.patch44
-rw-r--r--pkgs/development/python-modules/keras/default.nix4
-rw-r--r--pkgs/development/python-modules/keyring/default.nix4
-rw-r--r--pkgs/development/python-modules/ldap/default.nix8
-rw-r--r--pkgs/development/python-modules/ldap3/default.nix5
-rw-r--r--pkgs/development/python-modules/libusb1/default.nix2
-rw-r--r--pkgs/development/python-modules/line_profiler/default.nix4
-rw-r--r--pkgs/development/python-modules/llfuse/default.nix4
-rw-r--r--pkgs/development/python-modules/llvmlite/default.nix13
-rw-r--r--pkgs/development/python-modules/lxml/default.nix27
-rw-r--r--pkgs/development/python-modules/marionette-harness/default.nix4
-rw-r--r--pkgs/development/python-modules/markdown/default.nix28
-rw-r--r--pkgs/development/python-modules/marshmallow/default.nix4
-rw-r--r--pkgs/development/python-modules/matplotlib/default.nix4
-rw-r--r--pkgs/development/python-modules/mistune/default.nix4
-rw-r--r--pkgs/development/python-modules/moto/default.nix20
-rw-r--r--pkgs/development/python-modules/mygpoclient/default.nix5
-rw-r--r--pkgs/development/python-modules/nbxmpp/default.nix4
-rw-r--r--pkgs/development/python-modules/networkx/default.nix34
-rw-r--r--pkgs/development/python-modules/nilearn/default.nix4
-rw-r--r--pkgs/development/python-modules/notebook/default.nix4
-rw-r--r--pkgs/development/python-modules/numba/default.nix13
-rw-r--r--pkgs/development/python-modules/odfpy/default.nix11
-rw-r--r--pkgs/development/python-modules/pandas/default.nix4
-rw-r--r--pkgs/development/python-modules/parse-type/default.nix7
-rw-r--r--pkgs/development/python-modules/partd/default.nix35
-rw-r--r--pkgs/development/python-modules/path.py/default.nix4
-rw-r--r--pkgs/development/python-modules/pathlib2/default.nix7
-rw-r--r--pkgs/development/python-modules/pexpect/default.nix4
-rw-r--r--pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--pkgs/development/python-modules/pip-tools/default.nix6
-rw-r--r--pkgs/development/python-modules/plone-testing/default.nix27
-rw-r--r--pkgs/development/python-modules/plotly/default.nix4
-rw-r--r--pkgs/development/python-modules/pluggy/default.nix29
-rw-r--r--pkgs/development/python-modules/plumbum/default.nix4
-rw-r--r--pkgs/development/python-modules/psutil/default.nix4
-rw-r--r--pkgs/development/python-modules/py/default.nix4
-rw-r--r--pkgs/development/python-modules/pyaml/default.nix27
-rw-r--r--pkgs/development/python-modules/pyasn1-modules/default.nix4
-rw-r--r--pkgs/development/python-modules/pyasn1/default.nix4
-rw-r--r--pkgs/development/python-modules/pyblake2/default.nix4
-rw-r--r--pkgs/development/python-modules/pycangjie/default.nix13
-rw-r--r--pkgs/development/python-modules/pychromecast/default.nix4
-rw-r--r--pkgs/development/python-modules/pycollada/default.nix7
-rw-r--r--pkgs/development/python-modules/pydot/default.nix4
-rw-r--r--pkgs/development/python-modules/pygit2/default.nix4
-rw-r--r--pkgs/development/python-modules/pyglet/default.nix11
-rw-r--r--pkgs/development/python-modules/pylast/default.nix4
-rw-r--r--pkgs/development/python-modules/pylint/default.nix4
-rw-r--r--pkgs/development/python-modules/pymongo/default.nix4
-rw-r--r--pkgs/development/python-modules/pyobjc/default.nix4
-rw-r--r--pkgs/development/python-modules/pyopencl/default.nix13
-rw-r--r--pkgs/development/python-modules/pysc2/default.nix2
-rw-r--r--pkgs/development/python-modules/pysoundfile/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-localserver/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-xdist/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest/3_2.nix27
-rw-r--r--pkgs/development/python-modules/pytest/default.nix12
-rw-r--r--pkgs/development/python-modules/python-fuse/default.nix28
-rw-r--r--pkgs/development/python-modules/pytoml/default.nix16
-rw-r--r--pkgs/development/python-modules/pytools/default.nix39
-rw-r--r--pkgs/development/python-modules/pywbem/default.nix2
-rw-r--r--pkgs/development/python-modules/pywinrm/default.nix4
-rw-r--r--pkgs/development/python-modules/regex/default.nix23
-rw-r--r--pkgs/development/python-modules/relatorio/default.nix4
-rw-r--r--pkgs/development/python-modules/restview/default.nix4
-rw-r--r--pkgs/development/python-modules/robomachine/default.nix4
-rw-r--r--pkgs/development/python-modules/ropper/default.nix12
-rw-r--r--pkgs/development/python-modules/scrapy/default.nix4
-rw-r--r--pkgs/development/python-modules/seaborn/default.nix4
-rw-r--r--pkgs/development/python-modules/serpy/default.nix4
-rw-r--r--pkgs/development/python-modules/setuptools/default.nix4
-rw-r--r--pkgs/development/python-modules/shapely/default.nix4
-rw-r--r--pkgs/development/python-modules/simplejson/default.nix4
-rw-r--r--pkgs/development/python-modules/six/default.nix3
-rw-r--r--pkgs/development/python-modules/smart_open/default.nix4
-rw-r--r--pkgs/development/python-modules/spacy/default.nix17
-rw-r--r--pkgs/development/python-modules/splinter/default.nix30
-rw-r--r--pkgs/development/python-modules/sqlalchemy/default.nix4
-rw-r--r--pkgs/development/python-modules/sqlmap/default.nix4
-rw-r--r--pkgs/development/python-modules/stevedore/default.nix4
-rw-r--r--pkgs/development/python-modules/stripe/default.nix4
-rw-r--r--pkgs/development/python-modules/structlog/default.nix32
-rw-r--r--pkgs/development/python-modules/supervise_api/default.nix4
-rw-r--r--pkgs/development/python-modules/sybil/default.nix4
-rw-r--r--pkgs/development/python-modules/tabulate/default.nix4
-rw-r--r--pkgs/development/python-modules/testtools/default.nix12
-rw-r--r--pkgs/development/python-modules/textacy/default.nix4
-rw-r--r--pkgs/development/python-modules/texttable/default.nix20
-rw-r--r--pkgs/development/python-modules/thespian/default.nix4
-rw-r--r--pkgs/development/python-modules/toolz/default.nix4
-rw-r--r--pkgs/development/python-modules/tox/default.nix24
-rw-r--r--pkgs/development/python-modules/tqdm/default.nix4
-rw-r--r--pkgs/development/python-modules/tzlocal/default.nix4
-rw-r--r--pkgs/development/python-modules/vowpalwabbit/default.nix4
-rw-r--r--pkgs/development/python-modules/websockets/default.nix4
-rw-r--r--pkgs/development/python-modules/werkzeug/default.nix14
-rw-r--r--pkgs/development/python-modules/widgetsnbextension/default.nix4
-rw-r--r--pkgs/development/python-modules/ws4py/default.nix4
-rw-r--r--pkgs/development/python-modules/xarray/default.nix19
-rw-r--r--pkgs/development/python-modules/yapf/default.nix4
-rw-r--r--pkgs/development/python-modules/yarl/default.nix19
-rw-r--r--pkgs/development/python-modules/zope_copy/default.nix27
178 files changed, 1405 insertions, 442 deletions
diff --git a/pkgs/development/python-modules/APScheduler/default.nix b/pkgs/development/python-modules/APScheduler/default.nix
index 5acb6cd5785d..931239c09872 100644
--- a/pkgs/development/python-modules/APScheduler/default.nix
+++ b/pkgs/development/python-modules/APScheduler/default.nix
@@ -20,12 +20,12 @@
 
 buildPythonPackage rec {
   pname = "APScheduler";
-  version = "3.4.0";
+  version = "3.5.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b51118a8ed014104f7e440456dcbd90f2015aea7bcc34c57e307fb34bc746316";
+    sha256 = "1ce44d5132b7951f4614067c88ca34cfee1ff97f6f0892581d79b636d83eab89";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/Mako/default.nix b/pkgs/development/python-modules/Mako/default.nix
new file mode 100644
index 000000000000..f3f1eed265d0
--- /dev/null
+++ b/pkgs/development/python-modules/Mako/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, markupsafe
+, nose
+, mock
+, pytest
+, isPyPy
+}:
+
+buildPythonPackage rec {
+  pname = "Mako";
+  version = "1.0.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "4e02fde57bd4abb5ec400181e4c314f56ac3e49ba4fb8b0d50bba18cb27d25ae";
+  };
+
+  checkInputs = [ markupsafe nose mock pytest ];
+  propagatedBuildInputs = [ markupsafe ];
+
+  doCheck = !isPyPy;  # https://bitbucket.org/zzzeek/mako/issue/238/2-tests-failed-on-pypy-24-25
+
+  meta = {
+    description = "Super-fast templating language";
+    homepage = http://www.makotemplates.org;
+    license = lib.licenses.mit;
+    platforms = lib.platforms.unix;
+    maintainers = with lib.maintainers; [ domenkozar ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/MechanicalSoup/default.nix b/pkgs/development/python-modules/MechanicalSoup/default.nix
index 56e2cf501eda..b5d202af50a4 100644
--- a/pkgs/development/python-modules/MechanicalSoup/default.nix
+++ b/pkgs/development/python-modules/MechanicalSoup/default.nix
@@ -1,5 +1,5 @@
 { fetchPypi, buildPythonPackage, lib
-, requests, beautifulsoup4, six
+, requests, beautifulsoup4, six, lxml
 , pytestrunner, requests-mock, pytestcov, pytest
 }:
 
@@ -7,23 +7,23 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "MechanicalSoup";
-  version = "0.8.0";
+  version = "0.9.0.post4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "38a6ca35428196be94f87f8f036ee4a88b1418d1f77e5634ad92acfaa22c28da";
+    sha256 = "ce8f822afbc9bef1499be417e8d5deecd0cd32606420165700e89477955f03ab";
   };
 
   checkInputs = [ pytest pytestrunner requests-mock pytestcov ];
 
-  propagatedBuildInputs = [ requests beautifulsoup4 six ];
+  propagatedBuildInputs = [ lxml requests beautifulsoup4 six ];
 
   # Requires network
   doCheck = false;
 
   postPatch = ''
     # Is in setup_requires but not used in setup.py...
-    substituteInPlace setup.py --replace "'pytest-runner'," ""
+    substituteInPlace setup.py --replace "'pytest-runner'" ""
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/Nikola/default.nix b/pkgs/development/python-modules/Nikola/default.nix
index f281a02d49b6..8f8d91c64d2f 100644
--- a/pkgs/development/python-modules/Nikola/default.nix
+++ b/pkgs/development/python-modules/Nikola/default.nix
@@ -30,7 +30,7 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "Nikola";
-  version = "7.8.10";
+  version = "7.8.11";
 
   # Nix contains only Python 3 supported version of doit, which is a dependency
   # of Nikola. Python 2 support would require older doit 0.29.0 (which on the
@@ -47,7 +47,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e242c3d0dd175d95a0baf5268b108081ba160b83ceafec8c9bc2ec0a24a56537";
+    sha256 = "10d95b3af84e61496ef729665eafa2235fd0fd4cc6c57644dd0f2c19a968dd0f";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/Theano/default.nix b/pkgs/development/python-modules/Theano/default.nix
index e0ff839ce1b7..03dc825218e2 100644
--- a/pkgs/development/python-modules/Theano/default.nix
+++ b/pkgs/development/python-modules/Theano/default.nix
@@ -35,13 +35,13 @@ let
 in buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "Theano";
-  version = "0.9.0";
+  version = "1.0.1";
 
   disabled = isPyPy || pythonOlder "2.6" || (isPy3k && pythonOlder "3.3");
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "05xwg00da8smkvkh6ywbywqzj8dw7x840jr74wqhdy9icmqncpbl";
+    sha256 = "88d8aba1fe2b6b75eacf455d01bc7e31e838c5a0fb8c13dde2d9472495ff4662";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/absl-py/default.nix b/pkgs/development/python-modules/absl-py/default.nix
index 1c9fa3d786fb..ca43e122a307 100644
--- a/pkgs/development/python-modules/absl-py/default.nix
+++ b/pkgs/development/python-modules/absl-py/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "absl-py";
-  version = "0.1.5";
+  version = "0.1.7";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "94943ed0cd77077fe2d18e79b2f28d3e92f585f7d1c6edc75e640121f3c5d580";
+    sha256 = "4ea22ae860f3a556511291e7f1284942199c81377f47ec4248163defb1b9e6ee";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/aenum/default.nix b/pkgs/development/python-modules/aenum/default.nix
index 3aa03aaa5993..45e7f8915acf 100644
--- a/pkgs/development/python-modules/aenum/default.nix
+++ b/pkgs/development/python-modules/aenum/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "aenum";
-  version = "2.0.8";
+  version = "2.0.9";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3209fa41b8c41345442e8d9b5158a57d3e96d84c3d5ebbe8e521e1e2eff1598d";
+    sha256 = "d98bc55136d696fcf323760c3db0de489da9e41fd51283fa6f90205deb85bf6a";
   };
 
   doCheck = !isPy3k;
diff --git a/pkgs/development/python-modules/aiohttp/default.nix b/pkgs/development/python-modules/aiohttp/default.nix
index 53443b3b32fa..44e19072057f 100644
--- a/pkgs/development/python-modules/aiohttp/default.nix
+++ b/pkgs/development/python-modules/aiohttp/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "aiohttp";
-  version = "2.3.3";
+  version = "2.3.7";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0a2e33e90560dacb819b095b9d9611597925d75d1b93dd9490055d3826d98a82";
+    sha256 = "fe294df38e9c67374263d783a7a29c79372030f5962bd5734fa51c6f4bbfee3b";
   };
 
   disabled = pythonOlder "3.4";
diff --git a/pkgs/development/python-modules/arrow/default.nix b/pkgs/development/python-modules/arrow/default.nix
index a85987a95b16..72b88d3e5573 100644
--- a/pkgs/development/python-modules/arrow/default.nix
+++ b/pkgs/development/python-modules/arrow/default.nix
@@ -1,23 +1,22 @@
 { stdenv, buildPythonPackage, fetchPypi
-, nose, chai, simplejson
+, nose, chai, simplejson, backports_functools_lru_cache
 , dateutil }:
 
 buildPythonPackage rec {
-  name = "${pname}-${version}";
   pname = "arrow";
-  version = "0.10.0";
+  version = "0.12.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "08n7q2l69hlainds1byd4lxhwrq7zsw7s640zkqc3bs5jkq0cnc0";
+    sha256 = "a15ecfddf334316e3ac8695e48c15d1be0d6038603b33043930dcf0e675c86ee";
   };
 
   checkPhase = ''
     nosetests --cover-package=arrow
   '';
 
-  buildInputs = [ nose chai simplejson ];
-  propagatedBuildInputs = [ dateutil ];
+  checkInputs = [ nose chai simplejson ];
+  propagatedBuildInputs = [ dateutil backports_functools_lru_cache ];
 
   meta = with stdenv.lib; {
     description = "Python library for date manipulation";
diff --git a/pkgs/development/python-modules/asgiref/default.nix b/pkgs/development/python-modules/asgiref/default.nix
index 1b5112fb3358..fedd4b81a9d4 100644
--- a/pkgs/development/python-modules/asgiref/default.nix
+++ b/pkgs/development/python-modules/asgiref/default.nix
@@ -1,12 +1,12 @@
 { stdenv, buildPythonPackage, fetchurl, six }:
 buildPythonPackage rec {
-  version = "1.1.2";
+  version = "2.0.1";
   pname = "asgiref";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/a/asgiref/${name}.tar.gz";
-    sha256 = "8b46c3d6e2ad354d9da3cfb9873f9bd46fe1b768fbc11065275ba5430a46700c";
+    sha256 = "c3d70c473a2b7e525e18e68504630943e107f5b32f440c00c8543f94f565c855";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/asn1crypto/default.nix b/pkgs/development/python-modules/asn1crypto/default.nix
index eedaac50fac9..5f512fcd6f8b 100644
--- a/pkgs/development/python-modules/asn1crypto/default.nix
+++ b/pkgs/development/python-modules/asn1crypto/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "asn1crypto";
-  version = "0.23.0";
+  version = "0.24.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0874981329cfebb366d6584c3d16e913f2a0eb026c9463efcc4aaf42a9d94d70";
+    sha256 = "9d5c20441baf0cb60a4ac34cc447c6c189024b6b4c6cd7877034f4965c464e49";
   };
 
   # No tests included
diff --git a/pkgs/development/python-modules/astor/default.nix b/pkgs/development/python-modules/astor/default.nix
index 965bf37d5200..6f50b7157e5d 100644
--- a/pkgs/development/python-modules/astor/default.nix
+++ b/pkgs/development/python-modules/astor/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "astor";
-  version = "0.5";
+  version = "0.6.2";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1fdafq5hkis1fxqlmhw0sn44zp2ar46nxhbc22cvwg7hsd8z5gsa";
+    sha256 = "ff6d2e2962d834acb125cc4dcc80c54a8c17c253f4cc9d9c43b5102a560bb75d";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/astroid/default.nix b/pkgs/development/python-modules/astroid/default.nix
index 86a0daa04560..862157f686a3 100644
--- a/pkgs/development/python-modules/astroid/default.nix
+++ b/pkgs/development/python-modules/astroid/default.nix
@@ -6,11 +6,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "astroid";
-  version = "1.5.3";
+  version = "1.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "492c2a2044adbf6a84a671b7522e9295ad2f6a7c781b899014308db25312dd35";
+    sha256 = "71dadba2110008e2c03f9fde662ddd2053db3c0489d0e03c94e828a0399edd4f";
   };
 
   propagatedBuildInputs = [ logilab_common six lazy-object-proxy wrapt ]
diff --git a/pkgs/development/python-modules/astropy/default.nix b/pkgs/development/python-modules/astropy/default.nix
index 12f00be0cb74..514762b7a37d 100644
--- a/pkgs/development/python-modules/astropy/default.nix
+++ b/pkgs/development/python-modules/astropy/default.nix
@@ -7,13 +7,13 @@
 buildPythonPackage rec {
   
   pname = "astropy";
-  version = "2.0.2";
+  version = "2.0.3";
 
   name = "${pname}-${version}";
   doCheck = false; #Some tests are failing. More importantly setup.py hangs on completion. Needs fixing with a proper shellhook.
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4544a422b1173d79b2d65ba74c627f04a5fd8530d97fb604752d657d754e103d";
+    sha256 = "fdfc0248f6250798ed6d1327be609cb901db89ae01fc768cfbc9e263bdf56f4f";
   };
 
   propagatedBuildInputs = [ pytest numpy ]; # yes it really has pytest in install_requires
diff --git a/pkgs/development/python-modules/attrs/default.nix b/pkgs/development/python-modules/attrs/default.nix
index e58bf3846dc9..8ef2b5989f45 100644
--- a/pkgs/development/python-modules/attrs/default.nix
+++ b/pkgs/development/python-modules/attrs/default.nix
@@ -2,17 +2,16 @@
 , pympler, coverage, six, clang }:
 
 buildPythonPackage rec {
-  name = "${pname}-${version}";
   pname = "attrs";
-  version = "17.2.0";
+  version = "17.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "04gx08ikpk26wnq22f7l42gapcvk8iz1512r927k6sadz6cinkax";
+    sha256 = "1c7960ccfd6a005cd9f7ba884e6316b5e430a3f1a6c37c5f87d8b43f83b54ec9";
   };
 
   # macOS needs clang for testing
-  buildInputs = [
+  checkInputs = [
     pytest hypothesis zope_interface pympler coverage six
   ] ++ lib.optionals (stdenv.isDarwin) [ clang ];
 
@@ -20,6 +19,9 @@ buildPythonPackage rec {
     py.test
   '';
 
+  # To prevent infinite recursion with pytest
+  doCheck = false;
+
   meta = with lib; {
     description = "Python attributes without boilerplate";
     homepage = https://github.com/hynek/attrs;
diff --git a/pkgs/development/python-modules/aws-xray-sdk/default.nix b/pkgs/development/python-modules/aws-xray-sdk/default.nix
new file mode 100644
index 000000000000..dae88b34900e
--- /dev/null
+++ b/pkgs/development/python-modules/aws-xray-sdk/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, jsonpickle
+, wrapt
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "aws-xray-sdk";
+  version = "0.95";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "9e7ba8dd08fd2939376c21423376206bff01d0deaea7d7721c6b35921fed1943";
+  };
+
+  propagatedBuildInputs = [
+    jsonpickle wrapt requests
+  ];
+
+  meta = {
+    description = "AWS X-Ray SDK for the Python programming language";
+    license = lib.licenses.asl20;
+    homepage = https://github.com/aws/aws-xray-sdk-python;
+  };
+
+  doCheck = false;
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/backports_abc/default.nix b/pkgs/development/python-modules/backports_abc/default.nix
new file mode 100644
index 000000000000..ab34d376de08
--- /dev/null
+++ b/pkgs/development/python-modules/backports_abc/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "backports_abc";
+  version = "0.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "033be54514a03e255df75c5aee8f9e672f663f93abb723444caec8fe43437bde";
+  };
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest discover
+  '';
+
+  meta = {
+    homepage = https://github.com/cython/backports_abc;
+    license = lib.licenses.psfl;
+    description = "A backport of recent additions to the 'collections.abc' module";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/backports_functools_lru_cache/default.nix b/pkgs/development/python-modules/backports_functools_lru_cache/default.nix
new file mode 100644
index 000000000000..2442e132f1b9
--- /dev/null
+++ b/pkgs/development/python-modules/backports_functools_lru_cache/default.nix
@@ -0,0 +1,24 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools_scm
+}:
+
+buildPythonPackage rec {
+  pname = "backports.functools_lru_cache";
+  version = "1.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "31f235852f88edc1558d428d890663c49eb4514ffec9f3650e7f3c9e4a12e36f";
+  };
+
+  buildInputs = [ setuptools_scm ];
+  doCheck = false; # No proper test
+
+  meta = {
+    description = "Backport of functools.lru_cache";
+    homepage = https://github.com/jaraco/backports.functools_lru_cache;
+    license = lib.licenses.mit;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/backports_lzma/default.nix b/pkgs/development/python-modules/backports_lzma/default.nix
new file mode 100644
index 000000000000..9b622eb6b065
--- /dev/null
+++ b/pkgs/development/python-modules/backports_lzma/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, lzma
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "backports.lzma";
+  version = "0.0.8";
+
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "200584ad5079d8ca6b1bfe14890c7be58666ab0128d8ca26cfb2669b476085f3";
+  };
+
+  buildInputs = [ lzma ];
+
+  # Needs the compiled module in $out
+  checkPhase = ''
+    PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH ${python.interpreter} -m unittest discover -s test
+  '';
+
+  meta = {
+    description = "Backport of Python 3.3's 'lzma' module for XZ/LZMA compressed files";
+    homepage = https://github.com/peterjc/backports.lzma;
+    license = lib.licenses.bsd3;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/biopython/default.nix b/pkgs/development/python-modules/biopython/default.nix
new file mode 100644
index 000000000000..ea09a003c66e
--- /dev/null
+++ b/pkgs/development/python-modules/biopython/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, numpy
+}:
+
+buildPythonPackage rec {
+  pname = "biopython";
+  version = "1.70";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "4a7c5298f03d1a45523f32bae1fffcff323ea9dce007fb1241af092f5ab2e45b";
+  };
+
+  propagatedBuildInputs = [ numpy ];
+  # Checks try to write to $HOME, which does not work with nix
+  doCheck = false;
+  meta = {
+    description = "Python library for bioinformatics";
+    longDescription = ''
+      Biopython is a set of freely available tools for biological computation
+      written in Python by an international team of developers. It is a
+      distributed collaborative effort to develop Python libraries and
+      applications which address the needs of current and future work in
+      bioinformatics.
+    '';
+    homepage = http://biopython.org/wiki/Documentation;
+    maintainers = with lib.maintainers; [ luispedro ];
+    license = lib.licenses.bsd3;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/blaze/default.nix b/pkgs/development/python-modules/blaze/default.nix
index 017b85cacc7c..74e327fd3423 100644
--- a/pkgs/development/python-modules/blaze/default.nix
+++ b/pkgs/development/python-modules/blaze/default.nix
@@ -25,12 +25,11 @@
 
 buildPythonPackage rec {
   pname = "blaze";
-  version = "0.11.0";
-  name = "${pname}-${version}";
+  version = "0.11.3";
 
   src = fetchurl {
     url = "https://github.com/blaze/blaze/archive/${version}.tar.gz";
-    sha256 = "07zrrxkmdqk84xvdmp29859zcfzlpx5pz6g62l28nqp6n6a7yq9a";
+    sha256 = "075gqc9d7g284z4nfwv5zbq99ln22w25l4lcndjg3v10kmsjadww";
   };
 
   checkInputs = [ pytest ];
@@ -56,13 +55,8 @@ buildPythonPackage rec {
     toolz
   ];
 
-  # Failing test
-  # ERROR collecting blaze/tests/test_interactive.py
-  # E   networkx.exception.NetworkXNoPath: node <class 'list'> not
-  # reachable from <class 'dask.array.core.Array'>
-  doCheck = false;
-
   checkPhase = ''
+    rm pytest.ini # Not interested in coverage
     py.test blaze/tests
   '';
 
diff --git a/pkgs/development/python-modules/bokeh/default.nix b/pkgs/development/python-modules/bokeh/default.nix
index 244ee43d0aab..e3c77fa65cf4 100644
--- a/pkgs/development/python-modules/bokeh/default.nix
+++ b/pkgs/development/python-modules/bokeh/default.nix
@@ -34,11 +34,11 @@
 buildPythonPackage rec {
   pname = "bokeh";
   name = "${pname}${version}";
-  version = "0.12.10";
+  version = "0.12.13";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6465fae82e94223f16584645b38d34a73d95712870f29c0244649c2cbf2c8393";
+    sha256 = "6e28cbfd88de0c459435278b75f9982591ec0aaa3d37a195052645e1c62e89e3";
   };
 
   disabled = isPyPy;
diff --git a/pkgs/development/python-modules/bootstrapped-pip/default.nix b/pkgs/development/python-modules/bootstrapped-pip/default.nix
index ef12e39f23bc..1a20639c2dea 100644
--- a/pkgs/development/python-modules/bootstrapped-pip/default.nix
+++ b/pkgs/development/python-modules/bootstrapped-pip/default.nix
@@ -9,9 +9,9 @@ let
   };
   setuptools_source = fetchPypi {
     pname = "setuptools";
-    version = "38.2.3";
+    version = "38.2.5";
     format = "wheel";
-    sha256 = "0c4j3jiiwc0h1bdv4xklinp90spgvgiv5fsxp119hif9934nfxfs";
+    sha256 = "bcf0d4f3e2f7890e658db11e218b8643afffb905a0e2f2a7d5a6a3e949bb87e6";
   };
 
   # TODO: Shouldn't be necessary anymore for pip > 9.0.1!
diff --git a/pkgs/development/python-modules/boto3/default.nix b/pkgs/development/python-modules/boto3/default.nix
new file mode 100644
index 000000000000..eaab00312055
--- /dev/null
+++ b/pkgs/development/python-modules/boto3/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, botocore
+, jmespath
+, s3transfer
+, futures
+, docutils
+, nose
+, mock
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname =  "boto3";
+  version = "1.4.8";
+
+  src = fetchFromGitHub {
+    owner = "boto";
+    repo  = "boto3";
+    rev   = version;
+    sha256 = "11ysd7a9l5y98q7b7az56phsj2m7w90abf4jabwrknp2c43sq9bi";
+  };
+
+  propagatedBuildInputs = [ botocore jmespath s3transfer ] ++ lib.optionals (!isPy3k) [ futures ];
+  checkInputs = [ docutils nose mock ];
+
+  checkPhase = ''
+    runHook preCheck
+    # This method is not in mock. It might have appeared in some versions.
+    sed -i 's/action.assert_called_once()/self.assertEqual(action.call_count, 1)/' \
+      tests/unit/resources/test_factory.py
+    nosetests -d tests/unit --verbose
+    runHook postCheck
+  '';
+
+  # Network access
+  doCheck = false;
+
+  meta = {
+    homepage = https://github.com/boto/boto3;
+    license = lib.licenses.asl20;
+    description = "AWS SDK for Python";
+    longDescription = ''
+      Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) for
+      Python, which allows Python developers to write software that makes use of
+      services like Amazon S3 and Amazon EC2.
+    '';
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/botocore/default.nix b/pkgs/development/python-modules/botocore/default.nix
index fe3fe06f4e7a..f8dd16499491 100644
--- a/pkgs/development/python-modules/botocore/default.nix
+++ b/pkgs/development/python-modules/botocore/default.nix
@@ -12,11 +12,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "botocore";
-  version = "1.8.10";
+  version = "1.8.21";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "16dznd0mxxs8imsl228vx5s9bz9v7ggajs496jy21n5a19cadkch";
+    sha256 = "e4513a02f68e7efd7494ee56db201d87620218ca879aae361abbb71bcde3aa5f";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/brotlipy/default.nix b/pkgs/development/python-modules/brotlipy/default.nix
new file mode 100644
index 000000000000..1dd2a070480f
--- /dev/null
+++ b/pkgs/development/python-modules/brotlipy/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, cffi
+, enum34
+, construct
+, pytest
+, hypothesis
+}:
+
+buildPythonPackage rec {
+  pname = "brotlipy";
+  version = "0.7.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "36def0b859beaf21910157b4c33eb3b06d8ce459c942102f16988cca6ea164df";
+  };
+
+  propagatedBuildInputs = [ cffi enum34 construct ];
+
+  checkInputs = [ pytest hypothesis ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  # Missing test files
+  doCheck = false;
+
+  meta = {
+    description = "Python bindings for the reference Brotli encoder/decoder";
+    homepage = "https://github.com/python-hyper/brotlipy/";
+    license = lib.licenses.mit;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/cached-property/default.nix b/pkgs/development/python-modules/cached-property/default.nix
new file mode 100644
index 000000000000..6ab5015a1e79
--- /dev/null
+++ b/pkgs/development/python-modules/cached-property/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, freezegun
+}:
+
+buildPythonPackage rec {
+  pname = "cached-property";
+  version = "1.3.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "6562f0be134957547421dda11640e8cadfa7c23238fc4e0821ab69efdb1095f3";
+  };
+
+  checkInputs = [ freezegun ];
+
+  meta = {
+    description = "A decorator for caching properties in classes";
+    homepage = https://github.com/pydanny/cached-property;
+    license = lib.licenses.bsd3;
+    platforms = lib.platforms.unix;
+    maintainers = with lib.maintainers; [ ericsagnes ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/credstash/default.nix b/pkgs/development/python-modules/credstash/default.nix
index 810a6a7bd8e3..6a9e1240b864 100644
--- a/pkgs/development/python-modules/credstash/default.nix
+++ b/pkgs/development/python-modules/credstash/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname    = "credstash";
-  version = "1.13.4";
+  version = "1.14.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "676cc03a6143dec260c78aeef09d08a64faf27c411f8a94f6d9338e985879f81";
+    sha256 = "718b337f7a6fa001e014386071f05c59900525d0507009126d2fe8d75fe0761d";
   };
 
   propagatedBuildInputs = [ cryptography boto3 pyyaml docutils ];
diff --git a/pkgs/development/python-modules/csscompressor/default.nix b/pkgs/development/python-modules/csscompressor/default.nix
index a9aad8d40e5f..8d0e7a58e76a 100644
--- a/pkgs/development/python-modules/csscompressor/default.nix
+++ b/pkgs/development/python-modules/csscompressor/default.nix
@@ -1,12 +1,12 @@
 { stdenv, buildPythonPackage, fetchPypi }:
 buildPythonPackage rec {
   pname = "csscompressor";
-  version = "0.9.4";
+  version = "0.9.5";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0e12f125b88379d7b680636d94a3c8fa14bed1de2358f7f9a9e6749e222cff3b";
+    sha256 = "afa22badbcf3120a4f392e4d22f9fff485c044a1feda4a950ecc5eba9dd31a05";
   };
 
   doCheck = false; # No tests
diff --git a/pkgs/development/python-modules/cx_freeze/default.nix b/pkgs/development/python-modules/cx_freeze/default.nix
index 3d937debe58b..69a5e8c11d48 100644
--- a/pkgs/development/python-modules/cx_freeze/default.nix
+++ b/pkgs/development/python-modules/cx_freeze/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "cx_Freeze";
-  version = "5.0.2";
+  version = "5.1.1";
   name  = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0zbx9j5z5l06bvwvlqvvn7h9dm7zjcjgxm7agbb625nymkq6cd15";
+    sha256 = "2eadddde670f5c5f6cf88638a0ac4e5d5fe181292a31063275fa56c7bf22426b";
   };
 
   propagatedBuildInputs = [ ncurses ];
diff --git a/pkgs/development/python-modules/cytoolz/default.nix b/pkgs/development/python-modules/cytoolz/default.nix
index dcb4e9474c3b..83b1c893719d 100644
--- a/pkgs/development/python-modules/cytoolz/default.nix
+++ b/pkgs/development/python-modules/cytoolz/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "cytoolz";
-  version = "0.8.2";
+  version = "0.9.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "476a2ad176de5eaef80499b7b43d4f72ba6d23df33d349088dae315e9b31c552";
+    sha256 = "5ebb55855a8bb7800afa58e52408763935527e0305f35600c71b43c86013dec2";
   };
 
   # Extension types
diff --git a/pkgs/development/python-modules/dask/default.nix b/pkgs/development/python-modules/dask/default.nix
index 70647b6377fc..c3b45dc3c867 100644
--- a/pkgs/development/python-modules/dask/default.nix
+++ b/pkgs/development/python-modules/dask/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "dask";
-  version = "0.15.4";
+  version = "0.16.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cb93b8260f5f854ccf26b52bdc700600a08e6b7527085c7b7d63c04238bab9ea";
+    sha256 = "40d150b73e3366c9521e9dde206046a66906330074f87be901b1e1013ce6cb73";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/decorator/default.nix b/pkgs/development/python-modules/decorator/default.nix
new file mode 100644
index 000000000000..e3ee3117501b
--- /dev/null
+++ b/pkgs/development/python-modules/decorator/default.nix
@@ -0,0 +1,20 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "decorator";
+  version = "4.1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "7cb64d38cb8002971710c8899fbdfb859a23a364b7c99dab19d1f719c2ba16b5";
+  };
+
+  meta = {
+    homepage = https://pypi.python.org/pypi/decorator;
+    description = "Better living through Python with decorators";
+    license = lib.licenses.mit;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/distro/default.nix b/pkgs/development/python-modules/distro/default.nix
index 49349839331d..36264921f64d 100644
--- a/pkgs/development/python-modules/distro/default.nix
+++ b/pkgs/development/python-modules/distro/default.nix
@@ -3,7 +3,7 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "distro";
-  version = "1.0.4";
+  version = "1.2.0";
 
   buildInputs = [ pytest pytestcov tox];
 
@@ -14,7 +14,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9b000b0d637bb0cbd130a7a4835681e6993e309a85564dfea9d884825fe46954";
+    sha256 = "d94370e43b676ac44fbe1ab68ca903a6147eaba3a9e8eff85b2c05556a455b76";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/django-jinja2/default.nix b/pkgs/development/python-modules/django-jinja2/default.nix
index aabfecfcacc7..b8b632e1a182 100644
--- a/pkgs/development/python-modules/django-jinja2/default.nix
+++ b/pkgs/development/python-modules/django-jinja2/default.nix
@@ -5,7 +5,7 @@
 buildPythonPackage rec {
   pname = "django-jinja";
   name = "${pname}-${version}";
-  version = "2.2.2";
+  version = "2.4.1";
 
   meta = {
     description = "Simple and nonobstructive jinja2 integration with Django";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "099b99iprkvlsndrjmw4v3i3i60i9gm1aq5r88z15r7vgmv6sigj";
+    sha256 = "8a49d73de616a12075eee14c6d3bbab936261a463457d40348d8b8e2995cfbed";
   };
 
   buildInputs = [ django pytz tox ];
diff --git a/pkgs/development/python-modules/djangorestframework/default.nix b/pkgs/development/python-modules/djangorestframework/default.nix
index e2c8acd1a0b1..b11847beaa92 100644
--- a/pkgs/development/python-modules/djangorestframework/default.nix
+++ b/pkgs/development/python-modules/djangorestframework/default.nix
@@ -1,12 +1,12 @@
 { stdenv, buildPythonPackage, fetchurl, django }:
 buildPythonPackage rec {
-  version = "3.7.3";
+  version = "3.7.7";
   pname = "djangorestframework";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/d/djangorestframework/${name}.tar.gz";
-    sha256 = "067960e5e9e5586d3b2d53a1d626c4800dc33cd8309487d404fc63355674556f";
+    sha256 = "9f9e94e8d22b100ed3a43cee8c47a7ff7b185e778a1f2da9ec5c73fc4e081b87";
   };
 
   # Test settings are missing
diff --git a/pkgs/development/python-modules/docker/default.nix b/pkgs/development/python-modules/docker/default.nix
index 88d85dad91aa..4ce013ac7976 100644
--- a/pkgs/development/python-modules/docker/default.nix
+++ b/pkgs/development/python-modules/docker/default.nix
@@ -3,13 +3,13 @@
 , ipaddress, backports_ssl_match_hostname, docker_pycreds
 }:
 buildPythonPackage rec {
-  version = "2.5.1";
+  version = "2.7.0";
   pname = "docker";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/d/docker/${name}.tar.gz";
-    sha256 = "b876e6909d8d2360e0540364c3a952a62847137f4674f2439320ede16d6db880";
+    sha256 = "144248308e8ea31c4863c6d74e1b55daf97cc190b61d0fe7b7313ab920d6a76c";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/docker_compose/default.nix b/pkgs/development/python-modules/docker_compose/default.nix
index 78e733c1b9d8..e6be57c8b52d 100644
--- a/pkgs/development/python-modules/docker_compose/default.nix
+++ b/pkgs/development/python-modules/docker_compose/default.nix
@@ -3,21 +3,20 @@
 , pyyaml, backports_ssl_match_hostname, colorama, docopt
 , dockerpty, docker, ipaddress, jsonschema, requests
 , six, texttable, websocket_client, cached-property
-, enum34, functools32
+, enum34, functools32,
 }:
 buildPythonApplication rec {
-  version = "1.15.0";
+  version = "1.18.0";
   pname = "docker-compose";
-  name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0yg58m5kk22kihbra0h40miqnbdmkirjr9y47wns613sdikrymmg";
+    sha256 = "2930cbfe2685018fbb75377600ab6288861d9955717b3f14212f63950351d379";
   };
 
   # lots of networking and other fails
   doCheck = false;
-  buildInputs = [ mock pytest nose ];
+  checkInputs = [ mock pytest nose ];
   propagatedBuildInputs = [
     pyyaml backports_ssl_match_hostname colorama dockerpty docker
     ipaddress jsonschema requests six texttable websocket_client
@@ -26,7 +25,7 @@ buildPythonApplication rec {
     stdenv.lib.optional (pythonOlder "3.4") enum34 ++
     stdenv.lib.optional (pythonOlder "3.2") functools32;
 
-  patchPhase = ''
+  postPatch = ''
     # Remove upper bound on requires, see also
     # https://github.com/docker/compose/issues/4431
     sed -i "s/, < .*',$/',/" setup.py
diff --git a/pkgs/development/python-modules/easy-thumbnails/default.nix b/pkgs/development/python-modules/easy-thumbnails/default.nix
index 38e201849c19..fbe5c02771db 100644
--- a/pkgs/development/python-modules/easy-thumbnails/default.nix
+++ b/pkgs/development/python-modules/easy-thumbnails/default.nix
@@ -5,7 +5,7 @@
 buildPythonPackage rec {
   pname = "easy-thumbnails";
   name = "${pname}-${version}";
-  version = "2.4.2";
+  version = "2.5";
 
   meta = {
     description = "Easy thumbnails for Django";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8cad7ea4fb2b800284e842d8a44f685cbc1968535be04c24a4bbf6e6dbc550c4";
+    sha256 = "e244d1f26027fc32c6ca60ffb0169a39099446f614b0433e907a2588ae7d9b95";
   };
 
   propagatedBuildInputs = [ django pillow ];
diff --git a/pkgs/development/python-modules/eve/default.nix b/pkgs/development/python-modules/eve/default.nix
index 1a9b684a9f34..d77b912fe0de 100644
--- a/pkgs/development/python-modules/eve/default.nix
+++ b/pkgs/development/python-modules/eve/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "Eve";
-  version = "0.7.4";
+  version = "0.7.5";
   name  = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0xihl5w2m4vkp0515qjibiy88pk380n5jmj8n9hh7q40b1vx1kwb";
+    sha256 = "dd4ffbc4725220ffdc8e32f8566c8870efaecdc238d0f96b18e1e83227eca55d";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/extras/default.nix b/pkgs/development/python-modules/extras/default.nix
new file mode 100644
index 000000000000..adcc43f26509
--- /dev/null
+++ b/pkgs/development/python-modules/extras/default.nix
@@ -0,0 +1,23 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "extras";
+  version = "1.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "132e36de10b9c91d5d4cc620160a476e0468a88f16c9431817a6729611a81b4e";
+  };
+
+  # error: invalid command 'test'
+  doCheck = false;
+
+  meta = {
+    description = "A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges";
+    homepage = https://code.google.com/p/mimeparse/;
+    license = lib.licenses.mit;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/faker/default.nix b/pkgs/development/python-modules/faker/default.nix
index 3c95a26881e8..2d459d625d0a 100644
--- a/pkgs/development/python-modules/faker/default.nix
+++ b/pkgs/development/python-modules/faker/default.nix
@@ -8,12 +8,12 @@ assert pythonOlder "3.3" -> ipaddress != null;
 
 buildPythonPackage rec {
   pname = "Faker";
-  version = "0.8.7";
+  version = "0.8.8";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bf7dabcd6807c8829da28a4de491adf7998af506b8571db6a6eb58161157248a";
+    sha256 = "e928cf853ef69d7471421f2a3716a1239e43de0fa9855f4016ee0c9f1057328a";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/fastimport/default.nix b/pkgs/development/python-modules/fastimport/default.nix
index ee1048ec5fac..44f7bcdab068 100644
--- a/pkgs/development/python-modules/fastimport/default.nix
+++ b/pkgs/development/python-modules/fastimport/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, buildPythonPackage, python, fetchurl }:
+{ stdenv, buildPythonPackage, python, fetchPypi}:
 
 buildPythonPackage rec {
-  name = "fastimport-${version}";
+  pname = "fastimport";
   version = "0.9.6";
 
-  src = fetchurl {
-    url = "mirror://pypi/f/fastimport/${name}.tar.gz";
+  src = fetchPypi {
+    inherit pname version;
     sha256 = "1aqjsin4rmqm7ln4j0p73fzxifws6c6ikgyhav7r137m2ixsxl43";
   };
 
diff --git a/pkgs/development/python-modules/faulthandler/default.nix b/pkgs/development/python-modules/faulthandler/default.nix
index f8d877f0655b..ee2a65e981ca 100644
--- a/pkgs/development/python-modules/faulthandler/default.nix
+++ b/pkgs/development/python-modules/faulthandler/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "faulthandler";
-  version = "2.6";
+  version = "3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0zywq3jaznddvqc3hnfrlv24wmpyq4xgajk9xhv6578qw1rpfj2r";
+    sha256 = "acc10e10909f0f956ba1b42b6c450ea0bdaaa27b3942899f65931396cfcdd36a";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/filelock/default.nix b/pkgs/development/python-modules/filelock/default.nix
index f1f07a99ad55..a22e1581b68d 100644
--- a/pkgs/development/python-modules/filelock/default.nix
+++ b/pkgs/development/python-modules/filelock/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "filelock";
-  version = "2.0.13";
+  version = "2.0.14";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1n67dw7np5gsy5whynyk8c46pjlr353d6j9735p5gryaszkpjl6h";
+    sha256 = "ee355eb66e4c2e5d95689e1253515aad5b3177c274abdd00a57d5ab1aa6d071a";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/fiona/default.nix b/pkgs/development/python-modules/fiona/default.nix
index 5c150844c845..1fc7ae5aa582 100644
--- a/pkgs/development/python-modules/fiona/default.nix
+++ b/pkgs/development/python-modules/fiona/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "Fiona";
-  version = "1.7.10.post1";
+  version = "1.7.11";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fc4c8996be3131f36c791d66273317d38b72b19dc24c2afc332fd734752eb7a8";
+    sha256 = "5e9c68ea71e9d79fcfb68c9a101c0b133301e233c9bcca7b7c65f33cc7636ef5";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/flake8-debugger/default.nix b/pkgs/development/python-modules/flake8-debugger/default.nix
index c00bf0c85512..aab914330880 100644
--- a/pkgs/development/python-modules/flake8-debugger/default.nix
+++ b/pkgs/development/python-modules/flake8-debugger/default.nix
@@ -3,10 +3,10 @@
 buildPythonPackage rec {
   pname = "flake8-debugger";
   name = "${pname}-${version}";
-  version = "1.4.0";
+  version = "3.0.0";
   src = fetchurl {
     url = "mirror://pypi/f/flake8-debugger/${name}.tar.gz";
-    sha256 = "0chjfa6wvnqjnx778qzahhwvjx1j0rc8ax0ipp5bn70gf47lj62r";
+    sha256 = "e5c8ac980d819db2f3fbb89fe0e43a2fe6c127edd6ce4984a3f7e0bbdac3d2d4";
   };
   buildInputs = [ nose ];
   propagatedBuildInputs = [ flake8 ];
diff --git a/pkgs/development/python-modules/flask-testing/default.nix b/pkgs/development/python-modules/flask-testing/default.nix
index 178e000a32ed..5f843138eae0 100644
--- a/pkgs/development/python-modules/flask-testing/default.nix
+++ b/pkgs/development/python-modules/flask-testing/default.nix
@@ -6,11 +6,11 @@ with stdenv.lib;
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "Flask-Testing";
-  version = "0.6.2";
+  version = "0.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1w0dpwvrcpffm8ychyxpm8s5blm7slik9kplh9jb3sgwcv9gyppj";
+    sha256 = "dc076623d7d850653a018cb64f500948334c8aeb6b10a5a842bf1bcfb98122bc";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/flit/default.nix b/pkgs/development/python-modules/flit/default.nix
index 298da4a85bf9..3a73b464a46f 100644
--- a/pkgs/development/python-modules/flit/default.nix
+++ b/pkgs/development/python-modules/flit/default.nix
@@ -11,6 +11,7 @@
 , pytest
 , testpath
 , responses
+, pytoml
 }:
 
 # Flit is actually an application to build universal wheels.
@@ -20,25 +21,22 @@
 
 buildPythonPackage rec {
   pname = "flit";
-  version = "0.11.4";
-  name = "${pname}-${version}";
-
-#   format = "wheel";
+  version = "0.13";
 
   src = fetchPypi {
     inherit pname version;
-#     url = https://files.pythonhosted.org/packages/24/98/50a090112a04d9e29155c31a222637668b0a4dd778fefcd3132adc50e877/flit-0.10-py3-none-any.whl;
-    sha256 = "8ba7603cc3bf4149d81811d40fe331abc45ff37a207c63f5f712a0fdb69297bb";
+    sha256 = "8f558351bf4bb82b872d3bdbea7055cbb2e33ed2bdf809284bf927d4c78bf0ee";
   };
 
   disabled = !isPy3k;
-  propagatedBuildInputs = [ docutils requests requests_download ] ++ lib.optional (pythonOlder "3.6") zipfile36;
+  propagatedBuildInputs = [ docutils requests requests_download pytoml ] ++ lib.optional (pythonOlder "3.6") zipfile36;
 
   checkInputs = [ pytest testpath responses ];
 
   # Disable test that needs some ini file.
+  # Disable test that wants hg
   checkPhase = ''
-    py.test -k "not test_invalid_classifier"
+    py.test -k "not test_invalid_classifier and not test_build_sdist"
   '';
 
   meta = {
diff --git a/pkgs/development/python-modules/fonttools/default.nix b/pkgs/development/python-modules/fonttools/default.nix
index 1dfc22f769b4..a567f7155f84 100644
--- a/pkgs/development/python-modules/fonttools/default.nix
+++ b/pkgs/development/python-modules/fonttools/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "fonttools";
-  version = "3.17.0";
+  version = "3.21.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1c4f26bf32cd58d5881bfe1f42e5f0a1637a58452a60ae1623999f3ae7da0e24";
+    sha256 = "95b5c66d19dbffd57be1636d1f737c7644d280a48c28f933aeb4db73a7c83495";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/ftfy/default.nix b/pkgs/development/python-modules/ftfy/default.nix
index b1ba77ab868c..e54531017f4c 100644
--- a/pkgs/development/python-modules/ftfy/default.nix
+++ b/pkgs/development/python-modules/ftfy/default.nix
@@ -11,11 +11,11 @@ buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "ftfy";
   # latest is 5.1.1, buy spaCy requires 4.4.3
-  version = "5.1.1";
+  version = "5.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "67a29a2fad5f72aec2d8a0a7084e4f499ed040455133ee96b1c458609fc29e78";
+    sha256 = "b9f84a1437f68ad0bb964fd9da9f6b88d090113ec9e78f290f6d6d0221468e38";
   };
 
   propagatedBuildInputs = [ html5lib wcwidth];
diff --git a/pkgs/development/python-modules/gensim/default.nix b/pkgs/development/python-modules/gensim/default.nix
index ea5fc12e4321..4edd9ac3e551 100644
--- a/pkgs/development/python-modules/gensim/default.nix
+++ b/pkgs/development/python-modules/gensim/default.nix
@@ -13,10 +13,10 @@
 buildPythonPackage rec {
   pname = "gensim";
   name = "${pname}-${version}";
-  version = "3.0.1";
+  version = "3.2.0";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4827012f6f020ac4f4067c2a2a88542391917113faaa417505e1ee8a1e7e2650";
+    sha256 = "db00b68c6567ba0598d400b917c889e8801adf249170ce0a80ec38187d1b0797";
   };
 
   propagatedBuildInputs = [ smart_open numpy six scipy
diff --git a/pkgs/development/python-modules/gflags/default.nix b/pkgs/development/python-modules/gflags/default.nix
index 6fe4b7fcab87..9eb8e3b2d6ce 100644
--- a/pkgs/development/python-modules/gflags/default.nix
+++ b/pkgs/development/python-modules/gflags/default.nix
@@ -2,16 +2,14 @@
 
 buildPythonPackage rec {
   version = "3.1.2";
-  pname = "gflags";
-  name = pname + "-" + version;
+  pname = "python-gflags";
 
   src = fetchPypi {
-    inherit version;
-    pname = "python-gflags";
+    inherit pname version;
     sha256 = "40ae131e899ef68e9e14aa53ca063839c34f6a168afe622217b5b875492a1ee2";
   };
 
-  buildInputs = [ pytest ];
+  checkInputs = [ pytest ];
 
   propagatedBuildInputs = [ six ];
 
diff --git a/pkgs/development/python-modules/google_api_core/default.nix b/pkgs/development/python-modules/google_api_core/default.nix
index 6aa43989aa30..c4275c47a424 100644
--- a/pkgs/development/python-modules/google_api_core/default.nix
+++ b/pkgs/development/python-modules/google_api_core/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "google-api-core";
-  version = "0.1.2";
+  version = "0.1.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0qmjswj079w7q7zbnh8p4n2r3f831wymm9hfdlc7zfrini7184xv";
+    sha256 = "03bc4b1ab69c0e113af07e706edee50f583abe8219fe1e1d529dee191cb8e0bf";
   };
 
   propagatedBuildInputs = [ google_auth protobuf googleapis_common_protos requests grpcio ];
diff --git a/pkgs/development/python-modules/gpy/default.nix b/pkgs/development/python-modules/gpy/default.nix
index bc48a7490aa9..bb39746d2967 100644
--- a/pkgs/development/python-modules/gpy/default.nix
+++ b/pkgs/development/python-modules/gpy/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "GPy";
-  version = "1.8.4";
+  version = "1.8.5";
   name  = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "38c1202f1790952b88c298224139ee5b14d4518e3ddc6186c60db2ece016d8c1";
+    sha256 = "1562e34629192f209273f454e41614a127c6ef04144cd0eb5992d484721d55d3";
   };
 
   # running tests produces "ImportError: cannot import name 'linalg_cython'"
diff --git a/pkgs/development/python-modules/grpcio/default.nix b/pkgs/development/python-modules/grpcio/default.nix
index c17e1bf7bf05..eeb51fb58434 100644
--- a/pkgs/development/python-modules/grpcio/default.nix
+++ b/pkgs/development/python-modules/grpcio/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "grpcio";
-  version = "1.7.3";
+  version = "1.8.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1wkrxj1jmf2dyx207fc9ysyns9h27gls3drgg05mzdckjqr5lnl6";
+    sha256 = "1ea1336f0d1158c4e00e96a94df84b75f6bbff9816abb6cc68cbdc9442a9ac55";
   };
 
   propagatedBuildInputs = [ six protobuf ]
diff --git a/pkgs/development/python-modules/gssapi/default.nix b/pkgs/development/python-modules/gssapi/default.nix
index 3b13f8a20497..b075db5ae987 100644
--- a/pkgs/development/python-modules/gssapi/default.nix
+++ b/pkgs/development/python-modules/gssapi/default.nix
@@ -3,12 +3,12 @@ nose, shouldbe, gss, krb5Full, which, darwin }:
 
 buildPythonPackage rec {
   pname = "gssapi";
-  version = "1.2.0";
+  version = "1.3.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1q6ccpz6anl9vggwxdq32wp6xjh2lyfbf7av6jqnmvmyqdfwh3b9";
+    sha256 = "765205082a9490c8e8be88ac16a6249d124396a671665edeec9927a7f244d712";
   };
 
   # It's used to locate headers
diff --git a/pkgs/development/python-modules/html5lib/default.nix b/pkgs/development/python-modules/html5lib/default.nix
new file mode 100644
index 000000000000..97d2854ca226
--- /dev/null
+++ b/pkgs/development/python-modules/html5lib/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, flake8
+, pytest
+, pytest-expect
+, mock
+, six
+, webencodings
+}:
+
+buildPythonPackage rec {
+  pname = "html5lib";
+  version = "1.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "66cb0dcfdbbc4f9c3ba1a63fdb511ffdbd4f513b2b6d81b80cd26ce6b3fb3736";
+  };
+
+  checkInputs = [ flake8 pytest pytest-expect mock ];
+  propagatedBuildInputs = [
+    six webencodings
+  ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = {
+    homepage = https://github.com/html5lib/html5lib-python;
+    downloadPage = https://github.com/html5lib/html5lib-python/releases;
+    description = "HTML parser based on WHAT-WG HTML5 specification";
+    longDescription = ''
+      html5lib is a pure-python library for parsing HTML. It is designed to
+      conform to the WHATWG HTML specification, as is implemented by all
+      major web browsers.
+    '';
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ domenkozar prikhi ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/htmlmin/default.nix b/pkgs/development/python-modules/htmlmin/default.nix
index 2206b3559bae..8df4b3813c41 100644
--- a/pkgs/development/python-modules/htmlmin/default.nix
+++ b/pkgs/development/python-modules/htmlmin/default.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPythonPackage, fetchPypi }:
 buildPythonPackage rec {
   pname = "htmlmin";
-  version = "0.1.11";
+  version = "0.1.12";
   name = "${pname}-${version}";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f27fb96fdddeb1725ee077be532c7bea23288c69d0e996e7798f24fae7a14e5e";
+    sha256 = "50c1ef4630374a5d723900096a961cff426dff46b48f34d194a81bbe14eca178";
   };
 
   # Tests run fine in a normal source checkout, but not when being built by nix.
diff --git a/pkgs/development/python-modules/httpbin/default.nix b/pkgs/development/python-modules/httpbin/default.nix
index d11d6b3668f6..2f24a1ab72bd 100644
--- a/pkgs/development/python-modules/httpbin/default.nix
+++ b/pkgs/development/python-modules/httpbin/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "httpbin";
-  version = "0.5.0";
+  version = "0.6.2";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6b57f563900ecfe126015223a259463848daafbdc2687442317c0992773b9054";
+    sha256 = "0afa0486a76305cac441b5cc80d5d4ccd82b20875da7c5119ecfe616cefef45f";
   };
 
   propagatedBuildInputs = [ flask markupsafe decorator itsdangerous six ];
diff --git a/pkgs/development/python-modules/idna/default.nix b/pkgs/development/python-modules/idna/default.nix
new file mode 100644
index 000000000000..635f8b33d3c6
--- /dev/null
+++ b/pkgs/development/python-modules/idna/default.nix
@@ -0,0 +1,20 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "idna";
+  version = "2.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "2c6a5de3089009e3da7c5dde64a141dbc8551d5b7f6cf4ed7c2568d0cc520a8f";
+  };
+
+  meta = {
+    homepage = "http://github.com/kjd/idna/";
+    description = "Internationalized Domain Names in Applications (IDNA)";
+    license = lib.licenses.bsd3;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/ipykernel/default.nix b/pkgs/development/python-modules/ipykernel/default.nix
index a77f6ac9c2f1..8547a3ef99e9 100644
--- a/pkgs/development/python-modules/ipykernel/default.nix
+++ b/pkgs/development/python-modules/ipykernel/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "ipykernel";
-  version = "4.6.1";
+  version = "4.7.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2e1825aca4e2585b5adb7953ea16e53f53a62159ed49952a564b1e23507205db";
+    sha256 = "354986612a38f0555c43d5af2425e2a67506b63b313a0325e38904003b9d977b";
   };
 
   buildInputs = [ nose ] ++ lib.optional isPy27 mock;
diff --git a/pkgs/development/python-modules/ipywidgets/default.nix b/pkgs/development/python-modules/ipywidgets/default.nix
index 3d1563234910..f77c3570c02f 100644
--- a/pkgs/development/python-modules/ipywidgets/default.nix
+++ b/pkgs/development/python-modules/ipywidgets/default.nix
@@ -14,12 +14,12 @@
 
 buildPythonPackage rec {
   pname = "ipywidgets";
-  version = "7.0.5";
+  version = "7.1.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "321be3dc48193130ba16e8080172bb5cd052eb65e3ad0ea7b5f80ff73e24bc54";
+    sha256 = "3e2be7dea4f97c9a4df71ef065cad9f2e420dd901127bf7cb690fb56d2b34ea3";
   };
 
   # Tests are not distributed
diff --git a/pkgs/development/python-modules/iso8601/default.nix b/pkgs/development/python-modules/iso8601/default.nix
new file mode 100644
index 000000000000..4f9ff70556b4
--- /dev/null
+++ b/pkgs/development/python-modules/iso8601/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "iso8601";
+  version = "0.1.12";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "49c4b20e1f38aa5cf109ddcd39647ac419f928512c869dc01d5c7098eddede82";
+  };
+
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    py.test iso8601
+  '';
+
+  meta = {
+    homepage = https://bitbucket.org/micktwomey/pyiso8601/;
+    description = "Simple module to parse ISO 8601 dates";
+    maintainers = with lib.maintainers; [ phreedom ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/jdcal/default.nix b/pkgs/development/python-modules/jdcal/default.nix
new file mode 100644
index 000000000000..d3ed32c0882f
--- /dev/null
+++ b/pkgs/development/python-modules/jdcal/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "jdcal";
+  version = "1.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "b760160f8dc8cc51d17875c6b663fafe64be699e10ce34b6a95184b5aa0fdc9e";
+  };
+
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = {
+    description = "A module containing functions for converting between Julian dates and calendar dates";
+    homepage = "https://github.com/phn/jdcal";
+    license = lib.licenses.bsd2;
+    maintainers = with lib.maintainers; [ lihop ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/jedi/default.nix b/pkgs/development/python-modules/jedi/default.nix
index bf9f9f9c0823..df8a287ea093 100644
--- a/pkgs/development/python-modules/jedi/default.nix
+++ b/pkgs/development/python-modules/jedi/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "jedi";
-  version = "0.11.0";
+  version = "0.11.1";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f6d5973573e76b1fd2ea75f6dcd6445d02d41ff3af5fc61b275b4e323d1dd396";
+    sha256 = "d6e799d04d1ade9459ed0f20de47c32f2285438956a677d083d3c98def59fa97";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/jellyfish/default.nix b/pkgs/development/python-modules/jellyfish/default.nix
new file mode 100644
index 000000000000..db83e6cb2991
--- /dev/null
+++ b/pkgs/development/python-modules/jellyfish/default.nix
@@ -0,0 +1,24 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, unicodecsv
+}:
+
+buildPythonPackage rec {
+  pname = "jellyfish";
+  version = "0.5.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "887a9a49d0caee913a883c3e7eb185f6260ebe2137562365be422d1316bd39c9";
+  };
+
+  checkInputs = [ pytest unicodecsv ];
+
+  meta = {
+    homepage = https://github.com/sunlightlabs/jellyfish;
+    description = "Approximate and phonetic matching of strings";
+    maintainers = with lib.maintainers; [ koral ];
+  };
+}
diff --git a/pkgs/development/python-modules/jinja2/default.nix b/pkgs/development/python-modules/jinja2/default.nix
index ca286ae06aab..cb0eb130a2f2 100644
--- a/pkgs/development/python-modules/jinja2/default.nix
+++ b/pkgs/development/python-modules/jinja2/default.nix
@@ -1,20 +1,24 @@
-{ stdenv, buildPythonPackage, fetchPypi
-, markupsafe }:
+{ stdenv, buildPythonPackage, fetchFromGitHub
+, pytest, markupsafe }:
 
 buildPythonPackage rec {
   pname = "Jinja2";
   version = "2.9.6";
   name = "${pname}-${version}";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1zzrkywhziqffrzks14kzixz7nd4yh2vc0fb04a68vfd2ai03anx";
+  src = fetchFromGitHub {
+    owner = "pallets";
+    repo = "jinja";
+    rev = version;
+    sha256 = "1xxc5vdhz214aawmllv0fi4ak6d7zac662yb7gn1xfgqfz392pg5";
   };
 
+  checkInputs = [ pytest ];
   propagatedBuildInputs = [ markupsafe ];
 
-  # No tests included
-  doCheck = false;
+  checkPhase = ''
+    pytest -v
+  '';
 
   meta = with stdenv.lib; {
     homepage = http://jinja.pocoo.org/;
@@ -24,7 +28,7 @@ buildPythonPackage rec {
       Jinja2 is a template engine written in pure Python. It provides a
       Django inspired non-XML syntax but supports inline expressions and
       an optional sandboxed environment.
-      '';
+    '';
     platforms = platforms.all;
     maintainers = with maintainers; [ pierron garbas sjourdois ];
   };
diff --git a/pkgs/development/python-modules/jsbeautifier/default.nix b/pkgs/development/python-modules/jsbeautifier/default.nix
index a2278566c6d7..19b1eeefa534 100644
--- a/pkgs/development/python-modules/jsbeautifier/default.nix
+++ b/pkgs/development/python-modules/jsbeautifier/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonApplication rec {
   pname = "jsbeautifier";
-  version = "1.7.4";
+  version = "1.7.5";
   name = "${pname}-${version}";
 
   propagatedBuildInputs = [ six ];
@@ -11,7 +11,7 @@ buildPythonApplication rec {
 
   src = fetchurl {
     url = "mirror://pypi/j/jsbeautifier/${name}.tar.gz";
-    sha256 = "7fc14f279117a55a5e854602f6e8c1cb178c6d83f7cf75e2e9f50678fe11079e";
+    sha256 = "78eb1e5c8535484f0d0b588aca38da3fb5e0e34de2d1ab53c077e71c55757473";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/jsondiff/default.nix b/pkgs/development/python-modules/jsondiff/default.nix
new file mode 100644
index 000000000000..9d4331c8ea80
--- /dev/null
+++ b/pkgs/development/python-modules/jsondiff/default.nix
@@ -0,0 +1,24 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "jsondiff";
+  version = "1.1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "2d0437782de9418efa34e694aa59f43d7adb1899bd9a793f063867ddba8f7893";
+  };
+
+  # No tests
+  doCheck = false;
+
+  meta = {
+    description = "Diff JSON and JSON-like structures in Python";
+    homepage = https://github.com/ZoomerAnalytics/jsondiff;
+    license = lib.licenses.mit;
+  };
+
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/jsonpatch/default.nix b/pkgs/development/python-modules/jsonpatch/default.nix
index 39f36b1d9494..8d238b4746df 100644
--- a/pkgs/development/python-modules/jsonpatch/default.nix
+++ b/pkgs/development/python-modules/jsonpatch/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "jsonpatch";
-  version = "1.16";
+  version = "1.21";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f025c28a08ce747429ee746bb21796c3b6417ec82288f8fe6514db7398f2af8a";
+    sha256 = "11f5ffdf543a83047a2f54ac28f8caad7f34724cb1ea26b27547fd974f1a2153";
   };
 
   # test files are missing
diff --git a/pkgs/development/python-modules/jsonpickle/default.nix b/pkgs/development/python-modules/jsonpickle/default.nix
new file mode 100644
index 000000000000..2d9f02a5affb
--- /dev/null
+++ b/pkgs/development/python-modules/jsonpickle/default.nix
@@ -0,0 +1,23 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "jsonpickle";
+  version = "0.9.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "cc25dc79571d4ad7db59d05ddb7de0d76a8d598cf6136e1dbeaa9361ebcfe749";
+  };
+
+  doCheck = false;
+
+  meta = {
+    description = "Python library for serializing any arbitrary object graph into JSON";
+    homepage = http://jsonpickle.github.io/;
+    license = lib.licenses.bsd3;
+  };
+
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/jupyter_client/default.nix b/pkgs/development/python-modules/jupyter_client/default.nix
index 3782d313df89..e88b7f937a55 100644
--- a/pkgs/development/python-modules/jupyter_client/default.nix
+++ b/pkgs/development/python-modules/jupyter_client/default.nix
@@ -1,32 +1,38 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, nose
 , traitlets
 , jupyter_core
 , pyzmq
 , dateutil
 , isPyPy
 , py
+, ipykernel
+, ipython
+, mock
+, pytest
 }:
 
 buildPythonPackage rec {
   pname = "jupyter_client";
-  version = "5.1.0";
-  name = "${pname}-${version}";
+  version = "5.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "08756b021765c97bc5665390700a4255c2df31666ead8bff116b368d09912aba";
+    sha256 = "ca30cf1786047925ebacd6f6faa3a993efaa004b584f7d83bc8b807f7cd3f6bb";
   };
 
-  buildInputs = [ nose ];
+  checkInputs = [ ipykernel ipython mock pytest ];
   propagatedBuildInputs = [traitlets jupyter_core pyzmq dateutil] ++ lib.optional isPyPy py;
 
   checkPhase = ''
-    nosetests -v
+    py.test
   '';
 
+  patches = [
+    ./wheel_workaround.patch
+  ];
+
   # Circular dependency with ipykernel
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/jupyter_client/wheel_workaround.patch b/pkgs/development/python-modules/jupyter_client/wheel_workaround.patch
new file mode 100644
index 000000000000..926fcb26448b
--- /dev/null
+++ b/pkgs/development/python-modules/jupyter_client/wheel_workaround.patch
@@ -0,0 +1,13 @@
+diff --git a/setup.py b/setup.py
+index 95d4774..ee72cbc 100644
+--- a/setup.py
++++ b/setup.py
+@@ -86,7 +86,7 @@ setup_args = dict(
+     extras_require   = {
+         'test': ['ipykernel', 'ipython', 'mock'],
+         'test:python_version == "3.3"': ['pytest<3.3.0'],
+-        'test:python_version >= "3.4" or python_version == "2.7"': ['pytest'],
++        'test:(python_version >= "3.4" or python_version == "2.7")': ['pytest'],
+     },
+     cmdclass         = {
+         'bdist_egg': bdist_egg if 'bdist_egg' in sys.argv else bdist_egg_disabled,
diff --git a/pkgs/development/python-modules/jupyter_core/default.nix b/pkgs/development/python-modules/jupyter_core/default.nix
index 4db36cf7b374..403f7c047d56 100644
--- a/pkgs/development/python-modules/jupyter_core/default.nix
+++ b/pkgs/development/python-modules/jupyter_core/default.nix
@@ -11,15 +11,15 @@
 
 buildPythonPackage rec {
   pname = "jupyter_core";
-  version = "4.3.0";
+  version = "4.4.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a96b129e1641425bf057c3d46f4f44adce747a7d60107e8ad771045c36514d40";
+    sha256 = "ba70754aa680300306c699790128f6fbd8c306ee5927976cbe48adacf240c0b7";
   };
 
-  buildInputs = [ pytest mock glibcLocales ];
+  checkInputs = [ pytest mock glibcLocales ];
   propagatedBuildInputs = [ ipython traitlets ];
 
   patches = [ ./tests_respect_pythonpath.patch ];
diff --git a/pkgs/development/python-modules/jupyter_core/tests_respect_pythonpath.patch b/pkgs/development/python-modules/jupyter_core/tests_respect_pythonpath.patch
index 61415b756abc..7e7e9ae93a09 100644
--- a/pkgs/development/python-modules/jupyter_core/tests_respect_pythonpath.patch
+++ b/pkgs/development/python-modules/jupyter_core/tests_respect_pythonpath.patch
@@ -1,24 +1,20 @@
---- a/jupyter_core/tests/test_command.py	2016-09-13 15:22:49.000000000 +0200
-+++ b/jupyter_core/tests/test_command.py	2017-10-23 12:49:27.489527705 +0200
-@@ -113,7 +113,10 @@
-     witness = a.join(witness_cmd)
-     witness.write('#!%s\n%s\n' % (sys.executable, 'print("WITNESS ME")'))
-     witness.chmod(0o700)
--    out = check_output([sys.executable, str(jupyter), 'witness'], env={'PATH': ''})
-+    out = check_output(
-+        [sys.executable, str(jupyter), 'witness'],
-+        env={'PATH': '', 'PYTHONPATH': os.environ['PYTHONPATH']}
-+    )
-     assert b'WITNESS' in out
- 
- 
-@@ -136,5 +139,8 @@
-     witness_b.write('#!%s\n%s\n' % (sys.executable, 'print("WITNESS B")'))
-     witness_b.chmod(0o700)
- 
--    out = check_output([sys.executable, str(jupyter), 'witness'], env={'PATH': str(b)})
-+    out = check_output(
-+        [sys.executable, str(jupyter), 'witness'],
-+        env={'PATH': str(b), 'PYTHONPATH': os.environ['PYTHONPATH']}
-+    )
-     assert b'WITNESS A' in out
+--- a/jupyter_core/tests/test_command.py
++++ b/jupyter_core/tests/test_command.py
+@@ -131,7 +131,7 @@ def test_not_on_path(tmpdir):
+     witness_src = '#!%s\n%s\n' % (sys.executable, 'print("WITNESS ME")')
+     write_executable(witness, witness_src)
+
+-    env = {'PATH': ''}
++    env = {'PATH': '', 'PYTHONPATH': os.environ['PYTHONPATH']}
+     if 'SYSTEMROOT' in os.environ:  # Windows http://bugs.python.org/issue20614
+         env[str('SYSTEMROOT')] = os.environ['SYSTEMROOT']
+     if sys.platform == 'win32':
+@@ -157,7 +157,7 @@ def test_path_priority(tmpdir):
+     witness_b_src = '#!%s\n%s\n' % (sys.executable, 'print("WITNESS B")')
+     write_executable(witness_b, witness_b_src)
+
+-    env = {'PATH':  str(b)}
++    env = {'PATH':  str(b), 'PYTHONPATH': os.environ['PYTHONPATH']}
+     if 'SYSTEMROOT' in os.environ:  # Windows http://bugs.python.org/issue20614
+         env[str('SYSTEMROOT')] = os.environ['SYSTEMROOT']
+     if sys.platform == 'win32':
diff --git a/pkgs/development/python-modules/keras/default.nix b/pkgs/development/python-modules/keras/default.nix
index d88b6e4999b2..b6c56cc8bc68 100644
--- a/pkgs/development/python-modules/keras/default.nix
+++ b/pkgs/development/python-modules/keras/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "Keras";
-  version = "2.1.1";
+  version = "2.1.2";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f0ca2458c60d9711edf4291230b31795307ad3781cb6232ff4792b53c8f55123";
+    sha256 = "3ee56fc129d9d00b1916046e50056047836f97ada59df029e5661fb34442d5e8";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/keyring/default.nix b/pkgs/development/python-modules/keyring/default.nix
index ca7a518665ce..f88bdb84e0c3 100644
--- a/pkgs/development/python-modules/keyring/default.nix
+++ b/pkgs/development/python-modules/keyring/default.nix
@@ -6,11 +6,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "keyring";
-  version = "10.4.0";
+  version = "10.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "09iv50c14mdmdk7sjd6bb47yg7347gymh6r8c0q4gfnzs173y6lh";
+    sha256 = "f10674bb6ecbf82e2b713627c48ad0e84178e1c9d3dc1f0373261a0765402fb2";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/ldap/default.nix b/pkgs/development/python-modules/ldap/default.nix
index 635308f37607..32f25eeda42c 100644
--- a/pkgs/development/python-modules/ldap/default.nix
+++ b/pkgs/development/python-modules/ldap/default.nix
@@ -1,18 +1,18 @@
 { lib, writeText, buildPythonPackage, isPy3k, fetchPypi
-, openldap, cyrus_sasl, openssl, pytest }:
+, openldap, cyrus_sasl, openssl, pytest, pyasn1 }:
 
 buildPythonPackage rec {
   pname = "python-ldap";
-  version = "2.4.45";
+  version = "2.5.2";
   name = "${pname}-${version}";
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "824fde180a53772e23edc031c4dd64ac1af4a3eade78f00d9d510937d562f64e";
+    sha256 = "b8c134dfedaef0e6ff4a4b94277708dcadb758b448905a83b8946df077356ed2";
   };
 
-  buildInputs = [ pytest ];
+  checkInputs = [ pytest pyasn1 ];
 
   checkPhase = ''
     # Needed by tests to setup a mockup ldap server.
diff --git a/pkgs/development/python-modules/ldap3/default.nix b/pkgs/development/python-modules/ldap3/default.nix
index 895272f351de..202bceafae39 100644
--- a/pkgs/development/python-modules/ldap3/default.nix
+++ b/pkgs/development/python-modules/ldap3/default.nix
@@ -1,13 +1,12 @@
 { stdenv, fetchPypi, buildPythonPackage, gssapi, pyasn1 }:
 
 buildPythonPackage rec {
-  version = "2.3";
+  version = "2.4";
   pname = "ldap3";
-  name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1b36lwil4iflk2ay8gi663abpnfm8id7qg4n3jkmmqbnc1sv6mn0";
+    sha256 = "888015f849eb33852583bbaf382f61593b03491cdac6098fd5d4d0252e0e7e66";
   };
 
   buildInputs = [ gssapi ];
diff --git a/pkgs/development/python-modules/libusb1/default.nix b/pkgs/development/python-modules/libusb1/default.nix
index adf1bc236183..f3b48eaa5760 100644
--- a/pkgs/development/python-modules/libusb1/default.nix
+++ b/pkgs/development/python-modules/libusb1/default.nix
@@ -12,7 +12,7 @@ buildPythonPackage rec {
   postPatch = lib.optionalString stdenv.isLinux ''
     substituteInPlace usb1/libusb1.py --replace \
       "ctypes.util.find_library(base_name)" \
-      "'${libusb1}/lib/libusb${stdenv.hostPlatform.extensions.sharedLibrary}'"
+      "'${libusb1}/lib/libusb-1.0${stdenv.hostPlatform.extensions.sharedLibrary}'"
   '';
 
   buildInputs = [ libusb1 ];
diff --git a/pkgs/development/python-modules/line_profiler/default.nix b/pkgs/development/python-modules/line_profiler/default.nix
index 570bba2a8c42..26dfda613f75 100644
--- a/pkgs/development/python-modules/line_profiler/default.nix
+++ b/pkgs/development/python-modules/line_profiler/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "line_profiler";
-  version = "2.0";
+  version = "2.1.2";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "739f8ad0e4bcd0cb82e99afc09e00a0351234f6b3f0b1f7f0090a8a2fbbf8381";
+    sha256 = "efa66e9e3045aa7cb1dd4bf0106e07dec9f80bc781a993fbaf8162a36c20af5c";
   };
 
   buildInputs = [ cython ];
diff --git a/pkgs/development/python-modules/llfuse/default.nix b/pkgs/development/python-modules/llfuse/default.nix
index 4c4c89d8f196..ef4d9fb5d020 100644
--- a/pkgs/development/python-modules/llfuse/default.nix
+++ b/pkgs/development/python-modules/llfuse/default.nix
@@ -4,12 +4,12 @@
 
 buildPythonPackage rec {
   pname = "llfuse";
-  version = "1.0";
+  version = "1.3.2";
   name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/l/llfuse/${name}.tar.bz2";
-    sha256 = "1li7q04ljrvwharw4fblcbfhvk6s0l3lnv8yqb4c22lcgbkiqlps";
+    sha256 = "96252a286a2be25810904d969b330ef2a57c2b9c18c5b503bbfbae40feb2bb63";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/python-modules/llvmlite/default.nix b/pkgs/development/python-modules/llvmlite/default.nix
index 57deaf3caf36..d702d8f95b08 100644
--- a/pkgs/development/python-modules/llvmlite/default.nix
+++ b/pkgs/development/python-modules/llvmlite/default.nix
@@ -1,5 +1,5 @@
 { stdenv
-, fetchurl
+, fetchPypi
 , buildPythonPackage
 , python
 , llvm
@@ -10,21 +10,20 @@
 
 buildPythonPackage rec {
   pname = "llvmlite";
-  name = "${pname}-${version}";
-  version = "0.20.0";
+  version = "0.21.0";
 
   disabled = isPyPy;
 
-  src = fetchurl {
-    url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
-    sha256 = "b2f174848df16bb9195a07fec102110a06d018da736bd9b3570a54d44c797c29";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "3a5dd0695fdfb9fd47464cd71791b84935bf9642e11f4811d57aa1f2da8cdaa8";
   };
 
   propagatedBuildInputs = [ llvm ] ++ stdenv.lib.optional (pythonOlder "3.4") enum34;
 
   # Disable static linking
   # https://github.com/numba/llvmlite/issues/93
-  patchPhase = ''
+  postPatch = ''
     substituteInPlace ffi/Makefile.linux --replace "-static-libstdc++" ""
 
     substituteInPlace llvmlite/tests/test_binding.py --replace "test_linux" "nope"
diff --git a/pkgs/development/python-modules/lxml/default.nix b/pkgs/development/python-modules/lxml/default.nix
new file mode 100644
index 000000000000..bfd0c8227ee7
--- /dev/null
+++ b/pkgs/development/python-modules/lxml/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, libxml2
+, libxslt
+}:
+
+buildPythonPackage rec {
+  pname = "lxml";
+  version = "4.1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e";
+  };
+
+  buildInputs = [ libxml2 libxslt ];
+
+  hardeningDisable = stdenv.lib.optional stdenv.isDarwin "format";
+
+  meta = {
+    description = "Pythonic binding for the libxml2 and libxslt libraries";
+    homepage = http://lxml.de;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ sjourdois ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/marionette-harness/default.nix b/pkgs/development/python-modules/marionette-harness/default.nix
index fbdd13a7f385..f909974db6b3 100644
--- a/pkgs/development/python-modules/marionette-harness/default.nix
+++ b/pkgs/development/python-modules/marionette-harness/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "marionette-harness";
-  version = "4.1.0";
+  version = "4.3.0";
   name = "${pname}-${version}";
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "20c188791e28d586c58acf86ff28cb704c4195a4da6eb10db7b8c6771e3f2983";
+    sha256 = "a98bb65a0c63f60d9e3d7ef21dabc9c29676917dc2ec0d46851a3ed694c820cc";
   };
 
   propagatedBuildInputs = [ mozprofile mozversion browsermob-proxy moztest 
diff --git a/pkgs/development/python-modules/markdown/default.nix b/pkgs/development/python-modules/markdown/default.nix
new file mode 100644
index 000000000000..515dee0e7662
--- /dev/null
+++ b/pkgs/development/python-modules/markdown/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, nose
+, pyyaml
+}:
+
+buildPythonPackage rec {
+  pname = "Markdown";
+  version = "2.6.10";
+
+  src = fetchPypi {
+    extension = "zip";
+    inherit pname version;
+    sha256 = "cfa536d1ee8984007fcecc5a38a493ff05c174cb74cb2341dafd175e6bc30851";
+  };
+
+  # error: invalid command 'test'
+#   doCheck = false;
+
+  checkInputs = [ nose pyyaml ];
+
+  meta = {
+    description = "A Python implementation of John Gruber’s Markdown with Extension support";
+    homepage = https://github.com/Python-Markdown/markdown;
+    license = lib.licenses.bsd3;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/marshmallow/default.nix b/pkgs/development/python-modules/marshmallow/default.nix
index afb60801dc94..a9db6ef1e84c 100644
--- a/pkgs/development/python-modules/marshmallow/default.nix
+++ b/pkgs/development/python-modules/marshmallow/default.nix
@@ -5,7 +5,7 @@
 buildPythonPackage rec {
   pname = "marshmallow";
   name = "${pname}-${version}";
-  version = "2.14.0";
+  version = "2.15.0";
 
   meta = {
     homepage = "https://github.com/marshmallow-code/marshmallow";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "09943a460026b9a61c3f4cedd0e5ccfed7cfce3271debd19e3f97df561088718";
+    sha256 = "d3f31fe7be2106b1d783cbd0765ef4e1c6615505514695f33082805f929dd584";
   };
 
   propagatedBuildInputs = [ dateutil simplejson ];
diff --git a/pkgs/development/python-modules/matplotlib/default.nix b/pkgs/development/python-modules/matplotlib/default.nix
index 345a21ecddfe..33505b5f6187 100644
--- a/pkgs/development/python-modules/matplotlib/default.nix
+++ b/pkgs/development/python-modules/matplotlib/default.nix
@@ -20,13 +20,13 @@ assert enableTk -> (tcl != null)
 assert enableQt -> pyqt4 != null;
 
 buildPythonPackage rec {
-  version = "2.1.0";
+  version = "2.1.1";
   pname = "matplotlib";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/m/matplotlib/${name}.tar.gz";
-    sha256 = "4b5f16c9cefde553ea79975305dcaa67c8e13d927b6e55aa14b4a8d867e25387";
+    sha256 = "659f5e1aa0e0f01488c61eff47560c43b8be511c6a29293d7f3896ae17bd8b23";
   };
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1";
diff --git a/pkgs/development/python-modules/mistune/default.nix b/pkgs/development/python-modules/mistune/default.nix
index 14aef5b00d12..7ab4a1842634 100644
--- a/pkgs/development/python-modules/mistune/default.nix
+++ b/pkgs/development/python-modules/mistune/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "mistune";
-  version = "0.7.4";
+  version = "0.8.3";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0byj9jg9ly7karf5sb1aqcw7avaim9sxl8ws7yw7p1fibjgsy5w5";
+    sha256 = "bc10c33bfdcaa4e749b779f62f60d6e12f8215c46a292d05e486b869ae306619";
   };
 
   buildInputs = [ nose ];
diff --git a/pkgs/development/python-modules/moto/default.nix b/pkgs/development/python-modules/moto/default.nix
index cf74e1dc1342..d5c40c67b36b 100644
--- a/pkgs/development/python-modules/moto/default.nix
+++ b/pkgs/development/python-modules/moto/default.nix
@@ -1,17 +1,20 @@
-{ stdenv, buildPythonPackage, fetchPypi, jinja2, werkzeug, flask, requests, pytz
-, six, boto, httpretty, xmltodict, nose, sure, boto3, freezegun, dateutil }:
+{ stdenv, buildPythonPackage, fetchPypi, jinja2, werkzeug, flask
+, requests, pytz, backports_tempfile, cookies, jsondiff, botocore, aws-xray-sdk, docker
+, six, boto, httpretty, xmltodict, nose, sure, boto3, freezegun, dateutil, mock, pyaml }:
 
 buildPythonPackage rec {
   pname = "moto";
-  version = "0.4.31";
-  name    = "moto-${version}";
+  version = "1.1.25";
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "19s8hfz4mzzzdksa0ddlvrga5mxdaqahk89p5l29a5id8127shr8";
+    sha256 = "d427d6e1a81e926c2b6a071453807b05f4736d65068493e1f3055ac7ee24ea21";
   };
 
   propagatedBuildInputs = [
+    aws-xray-sdk
     boto
+    boto3
     dateutil
     flask
     httpretty
@@ -21,6 +24,13 @@ buildPythonPackage rec {
     requests
     six
     xmltodict
+    mock
+    pyaml
+    backports_tempfile
+    cookies
+    jsondiff
+    botocore
+    docker
   ];
 
   checkInputs = [ boto3 nose sure freezegun ];
diff --git a/pkgs/development/python-modules/mygpoclient/default.nix b/pkgs/development/python-modules/mygpoclient/default.nix
index 14819b0b66e4..097898a2d84f 100644
--- a/pkgs/development/python-modules/mygpoclient/default.nix
+++ b/pkgs/development/python-modules/mygpoclient/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, buildPythonPackage, nose, minimock }:
 
 buildPythonPackage rec {
-  name = "mygpoclient-${version}";
+  pname = "mypgoclient";
   version = "1.8";
 
   src = fetchFromGitHub {
@@ -11,7 +11,7 @@ buildPythonPackage rec {
     sha256 = "0aa28wc55x3rxa7clwfv5v5500ffyaq0vkxaa3v01y1r93dxkdvp";
   };
 
-  buildInputs = [ nose minimock ];
+  checkInputs = [ nose minimock ];
 
   checkPhase = ''
     nosetests
@@ -25,7 +25,6 @@ buildPythonPackage rec {
     '';
     homepage = https://github.com/gpodder/mygpoclient;
     license = with licenses; [ gpl3 ];
-    platforms = with platforms; linux ++ darwin;
     maintainers = with maintainers; [ skeidel ];
   };
 }
diff --git a/pkgs/development/python-modules/nbxmpp/default.nix b/pkgs/development/python-modules/nbxmpp/default.nix
index 964b42fe4eee..26525adb1c96 100644
--- a/pkgs/development/python-modules/nbxmpp/default.nix
+++ b/pkgs/development/python-modules/nbxmpp/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "nbxmpp";
-  version = "0.6.0";
+  version = "0.6.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0x495yb0abkdspyziw7dyyjwxx6ivnv5zznk92wa3mcind5s9757";
+    sha256 = "10bfb12b083a7509779298c31b4b61e2ed7e78d1960cbcfb3de8d38f3b830991";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/networkx/default.nix b/pkgs/development/python-modules/networkx/default.nix
new file mode 100644
index 000000000000..f6fc4139c858
--- /dev/null
+++ b/pkgs/development/python-modules/networkx/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, nose
+, decorator
+, isPy36
+, isPyPy
+}:
+
+buildPythonPackage rec {
+  pname = "networkx";
+  version = "1.11";
+
+  # Currently broken on PyPy.
+  # https://github.com/networkx/networkx/pull/1361
+  disabled = isPyPy;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1f74s56xb4ggixiq0vxyfxsfk8p20c7a099lpcf60izv1php03hd";
+  };
+
+  checkInputs = [ nose ];
+  propagatedBuildInputs = [ decorator ];
+
+  # 17 failures with 3.6 https://github.com/networkx/networkx/issues/2396#issuecomment-304437299
+  doCheck = !(isPy36);
+
+  meta = {
+    homepage = "https://networkx.github.io/";
+    description = "Library for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks";
+    license = lib.licenses.bsd3;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/nilearn/default.nix b/pkgs/development/python-modules/nilearn/default.nix
index 16036a691791..6133abac7052 100644
--- a/pkgs/development/python-modules/nilearn/default.nix
+++ b/pkgs/development/python-modules/nilearn/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "nilearn";
-  version = "0.3.1";
+  version = "0.4.0";
   name = pname + "-" + version;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0kkarh5cdcd2czs0bf0s1g51qas84mfxfq0dzd7k5h5l0qr4zy06";
+    sha256 = "bb692254bde35d7e1d3d1534d9b3117810b35a744724625f150fbbc64d519c02";
   };
 
   checkPhase = "nosetests --exclude with_expand_user nilearn/tests";
diff --git a/pkgs/development/python-modules/notebook/default.nix b/pkgs/development/python-modules/notebook/default.nix
index 2a23ff4de78c..71261fb1f406 100644
--- a/pkgs/development/python-modules/notebook/default.nix
+++ b/pkgs/development/python-modules/notebook/default.nix
@@ -22,12 +22,12 @@
 
 buildPythonPackage rec {
   pname = "notebook";
-  version = "5.2.1";
+  version = "5.2.2";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4ae5b81dd39b37cdd99dcffe83a5182c849947b92d46ac4d2b5093af2bb9f224";
+    sha256 = "7bb54fb61b9c5426bc116f840541b973431198e00ea2896122d05fc122dbbd67";
   };
 
   LC_ALL = "en_US.utf8";
diff --git a/pkgs/development/python-modules/numba/default.nix b/pkgs/development/python-modules/numba/default.nix
index b0d7ae72c95b..97aad8c09285 100644
--- a/pkgs/development/python-modules/numba/default.nix
+++ b/pkgs/development/python-modules/numba/default.nix
@@ -1,5 +1,5 @@
 { stdenv
-, fetchurl
+, fetchPypi
 , python
 , buildPythonPackage
 , isPy27
@@ -14,13 +14,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.35.0";
+  version = "0.36.2";
   pname = "numba";
-  name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "mirror://pypi/n/numba/${name}.tar.gz";
-    sha256 = "11564937757605bee590c5758c73cfe9fd6d569726b56d970316a6228971ecc3";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "d61597808ce511e81b64e32da664f52beb7d947bf834dde8b8b60b29d205e5c2";
   };
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1";
@@ -29,7 +28,7 @@ buildPythonPackage rec {
 
   # Copy test script into $out and run the test suite.
   checkPhase = ''
-    python -m numba.runtests
+    ${python.interpreter} -m numba.runtests
   '';
   # ImportError: cannot import name '_typeconv'
   doCheck = false;
diff --git a/pkgs/development/python-modules/odfpy/default.nix b/pkgs/development/python-modules/odfpy/default.nix
index a80cd827c6d1..39ed5edef0b3 100644
--- a/pkgs/development/python-modules/odfpy/default.nix
+++ b/pkgs/development/python-modules/odfpy/default.nix
@@ -1,24 +1,21 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
 }:
 
 buildPythonPackage rec {
   pname = "odfpy";
-  version = "1.3.5";
+  version = "1.3.6";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6f8163f8464868cff9421a058f25566e41d73c8f7e849c021b86630941b44366";
+    sha256 = "6bcaf3b23aa9e49ed8c8c177266539b211add4e02402748a994451482a10cb1b";
   };
 
   checkPhase = ''
-    pushd tests
-    rm runtests
-    for file in test*.py; do
-        python  $file
-    done
+    ${python.interpreter} -m unittest discover -s tests
   '';
 
   meta = {
diff --git a/pkgs/development/python-modules/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix
index e589e777f0df..3f9188a6322a 100644
--- a/pkgs/development/python-modules/pandas/default.nix
+++ b/pkgs/development/python-modules/pandas/default.nix
@@ -28,12 +28,12 @@ let
   inherit (stdenv) isDarwin;
 in buildPythonPackage rec {
   pname = "pandas";
-  version = "0.21.1";
+  version = "0.22.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c5f5cba88bf0659554c41c909e1f78139f6fce8fa9315a29a23692b38ff9788a";
+    sha256 = "44a94091dd71f05922eec661638ec1a35f26d573c119aa2fad964f10a2880e6c";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/development/python-modules/parse-type/default.nix b/pkgs/development/python-modules/parse-type/default.nix
index 69a02c42b74e..8c927e4aed03 100644
--- a/pkgs/development/python-modules/parse-type/default.nix
+++ b/pkgs/development/python-modules/parse-type/default.nix
@@ -3,14 +3,13 @@
 , pytest, pytestrunner
 , parse, six, enum34
 }:
+
 buildPythonPackage rec {
-  pname = "parse-type";
+  pname = "parse_type";
   version = "0.3.4";
-  name = "${pname}-${version}";
 
   src = fetchPypi {
-    inherit version;
-    pname = "parse_type";
+    inherit pname version;
     sha256 = "3dd0b323bafcb8c25e000ce5589042a1c99cba9c3bec77b9f591e46bc9606147";
   };
 
diff --git a/pkgs/development/python-modules/partd/default.nix b/pkgs/development/python-modules/partd/default.nix
new file mode 100644
index 000000000000..1098c5508398
--- /dev/null
+++ b/pkgs/development/python-modules/partd/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, locket
+, numpy
+, pandas
+, pyzmq
+, toolz
+}:
+
+buildPythonPackage rec {
+  pname = "partd";
+  version = "0.3.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "67291f1c4827cde3e0148b3be5d69af64b6d6169feb9ba88f0a6cfe77089400f";
+  };
+
+  checkInputs = [ pytest ];
+
+  propagatedBuildInputs = [ locket numpy pandas pyzmq toolz ];
+
+  checkPhase = ''
+    rm partd/tests/test_zmq.py # requires network & fails
+    py.test
+  '';
+
+  meta = {
+    description = "Appendable key-value storage";
+    license = with lib.licenses; [ bsd3 ];
+    homepage = https://github.com/dask/partd/;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/path.py/default.nix b/pkgs/development/python-modules/path.py/default.nix
index 6b4af3ffcd48..2830477d3cf1 100644
--- a/pkgs/development/python-modules/path.py/default.nix
+++ b/pkgs/development/python-modules/path.py/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "path.py";
-  version = "10.4";
+  version = "10.5";
   name = pname + "-" + version;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c63c75777c8a01f7b273c0065a8ea1e3ba0c9b369fa4a2601831e412b2c4881a";
+    sha256 = "63a7af08676668fd51750f111affbd38c1a13c61aba15c6665b16681771c79a8";
   };
 
   checkInputs = [ pytest pytestrunner ];
diff --git a/pkgs/development/python-modules/pathlib2/default.nix b/pkgs/development/python-modules/pathlib2/default.nix
index 62d5c43a4b3b..18c083298e68 100644
--- a/pkgs/development/python-modules/pathlib2/default.nix
+++ b/pkgs/development/python-modules/pathlib2/default.nix
@@ -5,19 +5,20 @@
 , pythonOlder
 , scandir
 , glibcLocales
+, mock
 }:
 
 if !(pythonOlder "3.4") then null else buildPythonPackage rec {
   pname = "pathlib2";
-  version = "2.2.1";
+  version = "2.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ce9007df617ef6b7bd8a31cd2089ed0c1fed1f7c23cf2bf1ba140b3dd563175d";
+    sha256 = "d32550b75a818b289bd4c1f96b60c89957811da205afcceab75bc8b4857ea5b3";
   };
 
   propagatedBuildInputs = [ six ] ++ lib.optional (pythonOlder "3.5") scandir;
-  checkInputs = [ glibcLocales ];
+  checkInputs = [ glibcLocales ] ++ lib.optional (pythonOlder "3.3") mock;
 
   preCheck = ''
     export LC_ALL="en_US.UTF-8"
diff --git a/pkgs/development/python-modules/pexpect/default.nix b/pkgs/development/python-modules/pexpect/default.nix
index c5d1e8ef3c44..da8d5db359b0 100644
--- a/pkgs/development/python-modules/pexpect/default.nix
+++ b/pkgs/development/python-modules/pexpect/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "pexpect";
-  version = "4.3.0";
+  version = "4.3.1";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1nfjmz81gsixv22dywidakm7pff3ly1i4yly950bfp8gz1r0iaq0";
+    sha256 = "8e287b171dbaf249d0b06b5f2e88cb7e694651d2d0b8c15bccb83170d3c55575";
   };
 
   # Wants to run pythonin a subprocess
diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix
index d5c4eaa781bd..69808a7bff3b 100644
--- a/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/pkgs/development/python-modules/phonenumbers/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "phonenumbers";
-  version = "8.8.6";
+  version = "8.8.8";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ab1fa853350dde91be672192b427169b29e3348c236e46ad7a757e4ac8163c8c";
+    sha256 = "ff2f492e49c212bb7185954efe09e68583a67daec586c02c49bc728c343d4eb0";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/pip-tools/default.nix b/pkgs/development/python-modules/pip-tools/default.nix
index d2b91eb435c6..752047d04f7e 100644
--- a/pkgs/development/python-modules/pip-tools/default.nix
+++ b/pkgs/development/python-modules/pip-tools/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "pip-tools";
-  version = "1.10.2";
+  version = "1.11.0";
   name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/p/pip-tools/${name}.tar.gz";
-    sha256 = "d381c7249eb48350cc49447cc106df3d90e9e806b13caaede602c1cd38f61b37";
+    sha256 = "ba427b68443466c389e3b0b0ef55f537ab39344190ea980dfebb333d0e6a50a3";
   };
 
   LC_ALL = "en_US.UTF-8";
@@ -21,9 +21,11 @@ buildPythonPackage rec {
     "test_generate_hashes_all_platforms"
     "test_generate_hashes_without_interfering_with_each_other"
     "test_realistic_complex_sub_dependencies"
+    "test_generate_hashes_with_editable"
     # Expect specific version of "six":
     "test_editable_package"
     "test_input_file_without_extension"
+    "test_locally_available_editable_package_is_not_archived_in_cache_dir"
   ];
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/plone-testing/default.nix b/pkgs/development/python-modules/plone-testing/default.nix
new file mode 100644
index 000000000000..910fc034e365
--- /dev/null
+++ b/pkgs/development/python-modules/plone-testing/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, zope_testing
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "plone.testing";
+  version = "5.1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "2ca558a910b93355b760535b233518be3a06c58e46160487bf802b6f7cb1e511";
+  };
+
+  propagatedBuildInputs = [ setuptools zope_testing ];
+
+  # Huge amount of testing dependencies (including Zope2)
+  doCheck = false;
+
+  meta = {
+    description = "Testing infrastructure for Zope and Plone projects";
+    homepage = https://github.com/plone/plone.testing;
+    license = lib.licenses.bsd3;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/plotly/default.nix b/pkgs/development/python-modules/plotly/default.nix
index 2744805a5042..75f1b0600778 100644
--- a/pkgs/development/python-modules/plotly/default.nix
+++ b/pkgs/development/python-modules/plotly/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "plotly";
-  version = "2.1.0";
+  version = "2.2.3";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ff6899dc11907b1efb944f79f9583b2e30ba2964bb009145f3580bf30b4d9ee4";
+    sha256 = "dadd2263f1c0449b248fd3742a077d9594935921a9597529be76d6a841237ab0";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pluggy/default.nix b/pkgs/development/python-modules/pluggy/default.nix
new file mode 100644
index 000000000000..0fbfa5108c1b
--- /dev/null
+++ b/pkgs/development/python-modules/pluggy/default.nix
@@ -0,0 +1,29 @@
+{ buildPythonPackage
+, lib
+, fetchPypi
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "pluggy";
+  version = "0.6.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "7f8ae7f5bdf75671a718d2daf0a64b7885f74510bcd98b1a0bb420eb9a9d0cff";
+  };
+
+  checkPhase = ''
+    py.test
+  '';
+
+  # To prevent infinite recursion with pytest
+  doCheck = false;
+
+  meta = {
+    description = "Plugin and hook calling mechanisms for Python";
+    homepage = "https://pypi.python.org/pypi/pluggy";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ jgeerds ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/plumbum/default.nix b/pkgs/development/python-modules/plumbum/default.nix
index 216c163bc9d2..a5881bb2e7cf 100644
--- a/pkgs/development/python-modules/plumbum/default.nix
+++ b/pkgs/development/python-modules/plumbum/default.nix
@@ -6,7 +6,7 @@
 
 buildPythonPackage rec {
   pname = "plumbum";
-  version = "1.6.3";
+  version = "1.6.5";
   name = "${pname}-${version}";
 
   checkInputs = [ pytest ];
@@ -16,6 +16,6 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0249e708459f1b05627a7ca8787622c234e4db495a532acbbd1f1f17f28c7320";
+    sha256 = "d8abb059bb62beb6c99db08d3598167abaeeab53eaf218f91e74bae471a24bee";
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/python-modules/psutil/default.nix b/pkgs/development/python-modules/psutil/default.nix
index cf9b3ea267f5..b9d07a3fa9b9 100644
--- a/pkgs/development/python-modules/psutil/default.nix
+++ b/pkgs/development/python-modules/psutil/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "psutil";
-  version = "5.4.1";
+  version = "5.4.2";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "42e2de159e3c987435cb3b47d6f37035db190a1499f3af714ba7af5c379b6ba2";
+    sha256 = "00a1f9ff8d1e035fba7bfdd6977fa8ea7937afdb4477339e5df3dba78194fe11";
   };
 
   # No tests in archive
diff --git a/pkgs/development/python-modules/py/default.nix b/pkgs/development/python-modules/py/default.nix
index 0dc3b6793281..cd945f7bfc61 100644
--- a/pkgs/development/python-modules/py/default.nix
+++ b/pkgs/development/python-modules/py/default.nix
@@ -1,12 +1,12 @@
 { stdenv, buildPythonPackage, fetchPypi }:
 buildPythonPackage rec {
   pname = "py";
-  version = "1.4.34";
+  version = "1.5.2";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1qyd5z0hv8ymxy84v5vig3vps2fvhcf4bdlksb3r03h549fmhb8g";
+    sha256 = "ca18943e28235417756316bfada6cd96b23ce60dd532642690dcfdaba988a76d";
   };
 
   # Circular dependency on pytest
diff --git a/pkgs/development/python-modules/pyaml/default.nix b/pkgs/development/python-modules/pyaml/default.nix
new file mode 100644
index 000000000000..5fd1be7c15cc
--- /dev/null
+++ b/pkgs/development/python-modules/pyaml/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pyyaml
+, unidecode
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "pyaml";
+  version = "17.12.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "66623c52f34d83a2c0fc963e08e8b9d0c13d88404e3b43b1852ef71eda19afa3";
+  };
+
+  propagatedBuildInputs = [ pyyaml ];
+
+  checkInputs = [ unidecode ];
+
+  meta = {
+    description = "PyYAML-based module to produce pretty and readable YAML-serialized data";
+    homepage = https://github.com/mk-fg/pretty-yaml;
+    license = lib.licenses.wtfpl;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/pyasn1-modules/default.nix b/pkgs/development/python-modules/pyasn1-modules/default.nix
index a7ee15d6a181..b8dcae16da85 100644
--- a/pkgs/development/python-modules/pyasn1-modules/default.nix
+++ b/pkgs/development/python-modules/pyasn1-modules/default.nix
@@ -3,12 +3,12 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "pyasn1-modules";
-  version = "0.1.5";
+  version = "0.2.1";
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1239h6h67vg0wazg2qgv6m3hdim2gs66pl89lbnayk55bbnkwc0x";
+    sha256 = "af00ea8f2022b6287dc375b2c70f31ab5af83989fc6fe9eacd4976ce26cd7ccc";
   };
 
   propagatedBuildInputs = [ pyasn1 ];
diff --git a/pkgs/development/python-modules/pyasn1/default.nix b/pkgs/development/python-modules/pyasn1/default.nix
index d0122a5b7e40..8037796713ec 100644
--- a/pkgs/development/python-modules/pyasn1/default.nix
+++ b/pkgs/development/python-modules/pyasn1/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "pyasn1";
-  version = "0.3.4";
+  version = "0.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "06hhy38jhwh95gpn8f03cr439273fsfsh4vhd5024r86nh5gyiir";
+    sha256 = "d258b0a71994f7770599835249cece1caef3c70def868c4915e6e5ca49b67d15";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/pyblake2/default.nix b/pkgs/development/python-modules/pyblake2/default.nix
index 4e166dcb1837..c2f4e7db43fc 100644
--- a/pkgs/development/python-modules/pyblake2/default.nix
+++ b/pkgs/development/python-modules/pyblake2/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "pyblake2";
-  version = "0.9.3";
+  version = "1.1.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "626448e1fe1cc01d2197118954bec9f158378577e12686d5b01979f7f0fa2212";
+    sha256 = "3a850036bf42053c74bfc52c063323ca78e40ba1f326b01777da5750a143631a";
   };
 
   # requires setting up sphinx doctest
diff --git a/pkgs/development/python-modules/pycangjie/default.nix b/pkgs/development/python-modules/pycangjie/default.nix
index 4995a7146931..80b17034aa03 100644
--- a/pkgs/development/python-modules/pycangjie/default.nix
+++ b/pkgs/development/python-modules/pycangjie/default.nix
@@ -1,21 +1,22 @@
 { stdenv, fetchurl, bash, autoconf, automake, libtool, pkgconfig, libcangjie
-, sqlite, python, cython
+, sqlite, buildPythonPackage, cython
 }:
 
-stdenv.mkDerivation rec {
-  name = "${python.libPrefix}-pycangjie-${version}";
-  version = "1.3_rev_${rev}";
+let
   rev = "361bb413203fd43bab624d98edf6f7d20ce6bfd3";
+in buildPythonPackage rec {
+  pname = "pycangjie";
+  version = "1.3_rev_${rev}";
+  format = "other";
 
   src = fetchurl {
-    name = "${name}.tar.gz";
     url = "https://github.com/Cangjians/pycangjie/archive/${rev}.tar.gz";
     sha256 = "12yi09nyffmn4va7lzk4irw349qzlbxgsnb89dh15cnw0xmrin05";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    autoconf automake libtool libcangjie sqlite python cython
+    autoconf automake libtool libcangjie sqlite cython
   ];
 
   preConfigure = ''
diff --git a/pkgs/development/python-modules/pychromecast/default.nix b/pkgs/development/python-modules/pychromecast/default.nix
index 01014170dc7d..46d3272807eb 100644
--- a/pkgs/development/python-modules/pychromecast/default.nix
+++ b/pkgs/development/python-modules/pychromecast/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "PyChromecast";
-  version = "0.8.1";
+  version = "1.0.3";
   name = pname + "-" + version;
 
   src = fetchurl {
     url    = "mirror://pypi/p/pychromecast/${name}.tar.gz";
-    sha256 = "05rlr2hjng0xg2a9k9vwmrlvd7vy9sjhxxfl96kx25xynlkq6yq6";
+    sha256 = "714a9e03e6a258081e3b6296ed15592e015facbe38bbe60819cca6f04c599f25";
   };
 
   propagatedBuildInputs = [ requests six zeroconf protobuf ];
diff --git a/pkgs/development/python-modules/pycollada/default.nix b/pkgs/development/python-modules/pycollada/default.nix
index 948d9741bd8b..35b10421f2c0 100644
--- a/pkgs/development/python-modules/pycollada/default.nix
+++ b/pkgs/development/python-modules/pycollada/default.nix
@@ -2,15 +2,14 @@
 
 buildPythonPackage rec {
   pname = "pycollada";
-  version = "0.5";
-  name = "${pname}-${version}";
+  version = "0.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1g96maw2c25l4i3ks51784h33zf7s18vrn6iyz4ca34iy4sl7yq9";
+    sha256 = "fcd6f38fd981e350f9ec754d9671834017accd600e967d6d299a6cfdae5ba4f4";
   };
 
-  buildInputs = [ numpy ] ++ (if isPy3k then [dateutil] else [dateutil_1_5]);
+  propagatedBuildInputs = [ numpy dateutil ];
 
   # Some tests fail because they refer to test data files that don't exist
   # (upstream packaging issue)
diff --git a/pkgs/development/python-modules/pydot/default.nix b/pkgs/development/python-modules/pydot/default.nix
index be0b4eabfa8a..98d4b33939a2 100644
--- a/pkgs/development/python-modules/pydot/default.nix
+++ b/pkgs/development/python-modules/pydot/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "pydot";
-  version = "1.2.3";
+  version = "1.2.4";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "edb5d3f249f97fbd9c4bb16959e61bc32ecf40eee1a9f6d27abe8d01c0a73502";
+    sha256 = "92d2e2d15531d00710f2d6fb5540d2acabc5399d464f2f20d5d21073af241eb6";
   };
   checkInputs = [ chardet ];
   # No tests in archive
diff --git a/pkgs/development/python-modules/pygit2/default.nix b/pkgs/development/python-modules/pygit2/default.nix
index 90bfe9783918..d8eb05cf3485 100644
--- a/pkgs/development/python-modules/pygit2/default.nix
+++ b/pkgs/development/python-modules/pygit2/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "pygit2";
-  version = "0.26.0";
+  version = "0.26.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1cbc488ra3kg7r3qky17ms0szi3cda2d96qfkv1l9djsy9hnvw57";
+    sha256 = "29baa530d6fcbf7cca6a75cf9c78fb88613ca81afb39c62fe492f226f6b61800";
   };
 
   preConfigure = lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/development/python-modules/pyglet/default.nix b/pkgs/development/python-modules/pyglet/default.nix
index 8d5dd53f80ac..51243154b1a2 100644
--- a/pkgs/development/python-modules/pyglet/default.nix
+++ b/pkgs/development/python-modules/pyglet/default.nix
@@ -1,23 +1,24 @@
 { stdenv, buildPythonPackage, fetchPypi
-, mesa, xorg, freetype, fontconfig}:
+, mesa, xorg, freetype, fontconfig, future}:
 
 buildPythonPackage rec {
-  version = "1.2.4";
+  version = "1.3.0";
   pname = "pyglet";
-  name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9f62ffbbcf2b202d084bf158685e77d28b8f4f5f2738f4c5e63a947a07503445";
+    sha256 = "640a8f8e3d7bf8dbb551fa707f14021f619932990ab1401c48ba9dbcc6c2242c";
   };
 
-  patchPhase = let
+  postPatch = let
     libs = [ mesa xorg.libX11 freetype fontconfig ];
     paths = builtins.concatStringsSep "," (map (l: "\"${l}/lib\"") libs);
   in "sed -i -e 's|directories\.extend.*lib[^]]*|&,${paths}|' pyglet/lib.py";
 
   doCheck = false;
 
+  propagatedBuildInputs = [ future ];
+
   meta = with stdenv.lib; {
     homepage = "http://www.pyglet.org/";
     description = "A cross-platform windowing and multimedia library";
diff --git a/pkgs/development/python-modules/pylast/default.nix b/pkgs/development/python-modules/pylast/default.nix
index 99bcb9357dc8..1fcc72115049 100644
--- a/pkgs/development/python-modules/pylast/default.nix
+++ b/pkgs/development/python-modules/pylast/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "pylast";
-  version = "1.9.0";
+  version = "2.0.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ae1c4105cbe704d9ac10ba57ac4c26bc576cc33978f1b578101b20c6a2360ca4";
+    sha256 = "8e4d4962aa12d67bd357e1aa596a146b2e97afd943b5c9257e555014d13b3065";
   };
 
   propagatedBuildInputs = [ certifi six ];
diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix
index afe3bf8e503d..79337663c627 100644
--- a/pkgs/development/python-modules/pylint/default.nix
+++ b/pkgs/development/python-modules/pylint/default.nix
@@ -4,11 +4,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "pylint";
-  version = "1.7.4";
+  version = "1.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1f65b3815c3bf7524b845711d54c4242e4057dd93826586620239ecdfe591fb1";
+    sha256 = "3035e44e37cd09919e9edad5573af01d7c6b9c52a0ebb4781185ae7ab690458b";
   };
 
   buildInputs = [ pytest pytestrunner mccabe configparser backports_functools_lru_cache ];
diff --git a/pkgs/development/python-modules/pymongo/default.nix b/pkgs/development/python-modules/pymongo/default.nix
index 5b400e1521e0..577cd9142f95 100644
--- a/pkgs/development/python-modules/pymongo/default.nix
+++ b/pkgs/development/python-modules/pymongo/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "pymongo";
-  version = "3.5.1";
+  version = "3.6.0";
   name  = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0939bl3brrklvccicck62gs3zd7i9aysz13c8pxc3gpk2hsdj878";
+    sha256 = "c6de26d1e171cdc449745b82f1addbc873d105b8e7335097da991c0fc664a4a8";
   };
 
   doCheck = false;
diff --git a/pkgs/development/python-modules/pyobjc/default.nix b/pkgs/development/python-modules/pyobjc/default.nix
index 0cf083196451..874e0d47fc9e 100644
--- a/pkgs/development/python-modules/pyobjc/default.nix
+++ b/pkgs/development/python-modules/pyobjc/default.nix
@@ -3,7 +3,7 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "pyobjc";
-  version = "4.0b1";
+  version = "4.1";
 
   # Gives "No matching distribution found for
   # pyobjc-framework-Collaboration==4.0b1 (from pyobjc==4.0b1)"
@@ -11,7 +11,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "16bng6960c1m57nnh1l09ycnyimrqzw9mx9pnyjxn5zzm5kalr37";
+    sha256 = "287db11f912ac7d05c4907dbf6e74abaa475e36368f7c92e05aca2886a94562c";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/pyopencl/default.nix b/pkgs/development/python-modules/pyopencl/default.nix
index 9d5661f4d589..07ff8735b52f 100644
--- a/pkgs/development/python-modules/pyopencl/default.nix
+++ b/pkgs/development/python-modules/pyopencl/default.nix
@@ -15,18 +15,23 @@
 
 buildPythonPackage rec {
   pname = "pyopencl";
-  version = "2017.2";
-  name = "${pname}-${version}";
+  version = "2017.2.2";
 
-  buildInputs = [ pytest opencl-headers ocl-icd ];
+  checkInputs = [ pytest ];
+  buildInputs = [ opencl-headers ocl-icd ];
 
   propagatedBuildInputs = [ numpy cffi pytools decorator appdirs six Mako ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "039b689a58eb98e27a577ac086210deae959f40d657487f3199d2d217c270ff9";
+    sha256 = "d2f7b04d2e819c6e90d6366b7712a7452a39fba218e51b11b02c85ab07fd2983";
   };
 
+  # py.test is not needed during runtime, so remove it from `install_requires`
+  postPatch = ''
+    substituteInPlace setup.py --replace "pytest>=2" ""
+  '';
+
   # gcc: error: pygpu_language_opencl.cpp: No such file or directory
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/pysc2/default.nix b/pkgs/development/python-modules/pysc2/default.nix
index a2dfd53b7951..89799988fa1f 100644
--- a/pkgs/development/python-modules/pysc2/default.nix
+++ b/pkgs/development/python-modules/pysc2/default.nix
@@ -18,8 +18,8 @@
 }:
 
 buildPythonPackage rec {
+  pname = "PySC2";
   version = "1.2";
-  name = "PySC2-${version}";
 
   src = fetchFromGitHub {
     owner = "deepmind";
diff --git a/pkgs/development/python-modules/pysoundfile/default.nix b/pkgs/development/python-modules/pysoundfile/default.nix
index ef67ed85cc03..aa7d23c5fcb5 100644
--- a/pkgs/development/python-modules/pysoundfile/default.nix
+++ b/pkgs/development/python-modules/pysoundfile/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "PySoundFile";
-  version = "0.8.1";
+  version = "0.9.0.post1";
   name = pname + "-" + version;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "72c3e23b7c9998460ec78176084ea101e3439596ab29df476bc8508708df84df";
+    sha256 = "43dd46a2afc0484c26930a7e59eef9365cee81bce7a4aadc5699f788f60d32c3";
   };
 
     checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/pytest-localserver/default.nix b/pkgs/development/python-modules/pytest-localserver/default.nix
index fdd1986c04fc..c98370ed9389 100644
--- a/pkgs/development/python-modules/pytest-localserver/default.nix
+++ b/pkgs/development/python-modules/pytest-localserver/default.nix
@@ -10,11 +10,11 @@
 buildPythonPackage rec {
   pname = "pytest-localserver";
   name = "${pname}-${version}";
-  version = "0.3.7";
+  version = "0.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1c11hn61n06ms0wmw6536vs5k4k9hlndxsb3p170nva56a9dfa6q";
+    sha256 = "a72af60a1ec8f73668a7884c86baf1fbe48394573cb4fa36709887217736c021";
   };
 
   propagatedBuildInputs = [ werkzeug ];
diff --git a/pkgs/development/python-modules/pytest-xdist/default.nix b/pkgs/development/python-modules/pytest-xdist/default.nix
index e993a67c49f1..2e2975e65968 100644
--- a/pkgs/development/python-modules/pytest-xdist/default.nix
+++ b/pkgs/development/python-modules/pytest-xdist/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "pytest-xdist";
-  version = "1.20.1";
+  version = "1.21.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "433e82f9b34986a4e4b2be38c60e82cca3ac64b7e1b38f4d8e3e118292939712";
+    sha256 = "0b8622435e3c0650a8d5a07b73a7f9c4f79b52d7ed060536a6041f0da423ba8e";
   };
 
   buildInputs = [ pytest setuptools_scm pytest-forked];
diff --git a/pkgs/development/python-modules/pytest/3_2.nix b/pkgs/development/python-modules/pytest/3_2.nix
new file mode 100644
index 000000000000..d7a0b1bdad34
--- /dev/null
+++ b/pkgs/development/python-modules/pytest/3_2.nix
@@ -0,0 +1,27 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy26, argparse, hypothesis, py
+, setuptools_scm, setuptools
+}:
+buildPythonPackage rec {
+  version = "3.2.5";
+  pname = "pytest";
+
+  preCheck = ''
+    # don't test bash builtins
+    rm testing/test_argcomplete.py
+  '';
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "6d5bd4f7113b444c55a3bbb5c738a3dd80d43563d063fc42dcb0aaefbdd78b81";
+  };
+
+  checkInputs = [ hypothesis ];
+  buildInputs = [ setuptools_scm ];
+  propagatedBuildInputs = [ py setuptools ]
+    ++ (stdenv.lib.optional isPy26 argparse);
+
+  meta = with stdenv.lib; {
+    maintainers = with maintainers; [ domenkozar lovek323 madjar lsix ];
+    platforms = platforms.unix;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix
index 8e280b8fd0d6..d45fe7deb124 100644
--- a/pkgs/development/python-modules/pytest/default.nix
+++ b/pkgs/development/python-modules/pytest/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPy26, argparse, hypothesis, py
-, setuptools_scm, setuptools
+{ stdenv, buildPythonPackage, fetchPypi, isPy26, argparse, attrs, hypothesis, py
+, setuptools_scm, setuptools, six, pluggy, funcsigs, isPy3k
 }:
 buildPythonPackage rec {
-  version = "3.2.5";
+  version = "3.3.1";
   pname = "pytest";
 
   preCheck = ''
@@ -12,16 +12,18 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6d5bd4f7113b444c55a3bbb5c738a3dd80d43563d063fc42dcb0aaefbdd78b81";
+    sha256 = "cf8436dc59d8695346fcd3ab296de46425ecab00d64096cebe79fb51ecb2eb93";
   };
 
   checkInputs = [ hypothesis ];
   buildInputs = [ setuptools_scm ];
-  propagatedBuildInputs = [ py setuptools ]
+  propagatedBuildInputs = [ attrs py setuptools six pluggy ]
+    ++ (stdenv.lib.optional (!isPy3k) funcsigs)
     ++ (stdenv.lib.optional isPy26 argparse);
 
   meta = with stdenv.lib; {
     maintainers = with maintainers; [ domenkozar lovek323 madjar lsix ];
     platforms = platforms.unix;
+    description = "Framework for writing tests";
   };
 }
diff --git a/pkgs/development/python-modules/python-fuse/default.nix b/pkgs/development/python-modules/python-fuse/default.nix
index d9debce6aecb..02b86b3b33a3 100644
--- a/pkgs/development/python-modules/python-fuse/default.nix
+++ b/pkgs/development/python-modules/python-fuse/default.nix
@@ -7,21 +7,21 @@
 }:
 
 buildPythonPackage rec {
-    baseName = "fuse";
-    version = "0.2.1";
-    name = "${baseName}-${version}";
-    disabled = isPy3k;
+  pname = "fuse";
+  version = "0.2.1";
 
-    src = fetchurl {
-      url = "mirror://sourceforge/fuse/fuse-python-${version}.tar.gz";
-      sha256 = "06rmp1ap6flh64m81j0n3a357ij2vj9zwcvvw0p31y6hz1id9shi";
-    };
+  disabled = isPy3k;
 
-    nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ fuse ];
+  src = fetchurl {
+    url = "mirror://sourceforge/fuse/fuse-python-${version}.tar.gz";
+    sha256 = "06rmp1ap6flh64m81j0n3a357ij2vj9zwcvvw0p31y6hz1id9shi";
+  };
 
-    meta = {
-      description = "Python bindings for FUSE";
-      license = lib.licenses.lgpl21;
-    };
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ fuse ];
+
+  meta = {
+    description = "Python bindings for FUSE";
+    license = lib.licenses.lgpl21;
+  };
 }
diff --git a/pkgs/development/python-modules/pytoml/default.nix b/pkgs/development/python-modules/pytoml/default.nix
index 55479e76dafd..91661a1fb510 100644
--- a/pkgs/development/python-modules/pytoml/default.nix
+++ b/pkgs/development/python-modules/pytoml/default.nix
@@ -1,18 +1,22 @@
-{ stdenv, buildPythonPackage, fetchgit
-, python }:
+{ stdenv
+, buildPythonPackage
+, fetchgit
+, python
+}:
 
 buildPythonPackage rec {
   pname = "pytoml";
-  version = "0.1.11";
-  name = "${pname}-${version}";
+  version = "0.1.14";
 
-  checkPhase = "${python.interpreter} test/test.py";
+  checkPhase = ''
+    ${python.interpreter} test/test.py
+  '';
 
   # fetchgit used to ensure test submodule is available
   src = fetchgit {
     url = "${meta.homepage}.git";
     rev = "refs/tags/v${version}";
-    sha256 = "1jiw04zk9ccynr8kb1vqh9r1p2kh0al7g7b1f94911iazg7dgs9j";
+    sha256 = "1ip71yqxnyi4jhw5x1q7a0za61ndhpfh0vbx08jfv0w4ayng6rgv";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/pytools/default.nix b/pkgs/development/python-modules/pytools/default.nix
new file mode 100644
index 000000000000..2bf7413c6005
--- /dev/null
+++ b/pkgs/development/python-modules/pytools/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, decorator
+, appdirs
+, six
+, numpy
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "pytools";
+  version = "2017.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "80f1bba4469d473c1b3969bc8e188c03bcc94d35807a889ceebbfc78e3208115";
+  };
+
+  checkInputs = [ pytest ];
+
+  propagatedBuildInputs = [
+    decorator
+    appdirs
+    six
+    numpy
+  ];
+
+  checkPhase = ''
+    py.test -k 'not test_persistent_dict'
+  '';
+
+  meta = {
+    homepage = https://github.com/inducer/pytools/;
+    description = "Miscellaneous Python lifesavers.";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ artuuge ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/pywbem/default.nix b/pkgs/development/python-modules/pywbem/default.nix
index 8e10fbb22581..d09a9bbd6d80 100644
--- a/pkgs/development/python-modules/pywbem/default.nix
+++ b/pkgs/development/python-modules/pywbem/default.nix
@@ -4,7 +4,7 @@
 }:
 
 buildPythonPackage rec {
-  name  = "pywbem-${version}";
+  pname = "pywbem";
   version = "0.10.0";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pywinrm/default.nix b/pkgs/development/python-modules/pywinrm/default.nix
index ecd46bb1ff57..10150259ef5c 100644
--- a/pkgs/development/python-modules/pywinrm/default.nix
+++ b/pkgs/development/python-modules/pywinrm/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "pywinrm";
-  version = "0.2.2";
+  version = "0.3.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "06xc0mbqf718vmsp0fq0rb64nql66l5w2x23bmqnzl6nzc0gfc1h";
+    sha256 = "799fc3e33fec8684443adf5778860388289102ea4fa1458f1bf307d167855573";
   };
 
   checkInputs = [ mock pytest ];
diff --git a/pkgs/development/python-modules/regex/default.nix b/pkgs/development/python-modules/regex/default.nix
new file mode 100644
index 000000000000..a1349ae5c36d
--- /dev/null
+++ b/pkgs/development/python-modules/regex/default.nix
@@ -0,0 +1,23 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+
+buildPythonPackage rec {
+  pname = "regex";
+  version = "2017.12.12";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "ee069308c2757e565cc2b6f417ba5288e76cfe4c1764b6826063f4fbd53219d7";
+  };
+
+  meta = {
+    description = "Alternative regular expression module, to replace re";
+    homepage = "https://bitbucket.org/mrabarnett/mrab-regex";
+    license = lib.licenses.psfl;
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ abbradar ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/relatorio/default.nix b/pkgs/development/python-modules/relatorio/default.nix
index 5e1ea8b46424..5c5f2578fbf1 100644
--- a/pkgs/development/python-modules/relatorio/default.nix
+++ b/pkgs/development/python-modules/relatorio/default.nix
@@ -3,10 +3,10 @@
 buildPythonPackage rec {
   pname = "relatorio";
   name = "${pname}-${version}";
-  version = "0.7.1";
+  version = "0.8.0";
   src = fetchurl {
     url = "mirror://pypi/r/relatorio/${name}.tar.gz";
-    sha256 = "744f1e39313f037a0ab52a154338ece151d83e5442a9278db1f8ce450ce6c2cd";
+    sha256 = "bddf85d029c5c85a0f976d73907e14e4c3093065fe8527170c91abf0218546d9";
   };
   propagatedBuildInputs = [
     genshi
diff --git a/pkgs/development/python-modules/restview/default.nix b/pkgs/development/python-modules/restview/default.nix
index 0f2ce45c885c..3c61ea4ded24 100644
--- a/pkgs/development/python-modules/restview/default.nix
+++ b/pkgs/development/python-modules/restview/default.nix
@@ -10,11 +10,11 @@
 buildPythonPackage rec {
   pname = "restview";
   name = "${pname}-${version}";
-  version = "2.7.0";
+  version = "2.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e7842100f3de179c68cfe7c2cf56c61509cd6068bc6dd58ab42c0ade5d5f97ec";
+    sha256 = "5f6f1523228eab3269f59dd03ac560f7d370cd81df6fdbcb4914b5e6bd896a11";
   };
 
   propagatedBuildInputs = [ docutils readme_renderer pygments ];
diff --git a/pkgs/development/python-modules/robomachine/default.nix b/pkgs/development/python-modules/robomachine/default.nix
index 8f71bab9c250..72407131cb15 100644
--- a/pkgs/development/python-modules/robomachine/default.nix
+++ b/pkgs/development/python-modules/robomachine/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "robomachine";
-  version = "0.6";
+  version = "0.8.0";
   name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/R/RoboMachine/RoboMachine-0.6.tar.gz";
-    sha256 = "6c9a9bae7bffa272b2a09b05df06c29a3a776542c70cae8041a8975a061d2e54";
+    sha256 = "242cfd9be0f7591138eaeba03c9c190f894ce045e1767ab7b90eca330259fc45";
   };
 
   propagatedBuildInputs = [ pyparsing argparse robotframework ];
diff --git a/pkgs/development/python-modules/ropper/default.nix b/pkgs/development/python-modules/ropper/default.nix
index f7ef16b02bbd..62ef3f8db19e 100644
--- a/pkgs/development/python-modules/ropper/default.nix
+++ b/pkgs/development/python-modules/ropper/default.nix
@@ -3,23 +3,25 @@
 , fetchPypi
 , capstone
 , filebytes
-, pytest }:
+, pytest
+}:
 
 buildPythonApplication rec {
-  name = "${pname}-${version}";
   pname = "ropper";
-  version = "1.10.10";
+  version = "1.11.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1676e07947a19df9d17002307a7555c2647a4224d6f2869949e8fc4bd18f2e87";
+    sha256 = "2183feedfe8b01a27301eee07383b481ece01b2319bdba3afebe33e19ca14aa3";
   };
   # XXX tests rely on user-writeable /dev/shm to obtain process locks and return PermissionError otherwise
   # workaround: sudo chmod 777 /dev/shm
   checkPhase = ''
     py.test testcases
   '';
-  buildInputs = [pytest];
+  doCheck = false; # Tests not included in archive
+
+  checkInputs = [pytest];
   propagatedBuildInputs = [ capstone filebytes ];
   meta = with stdenv.lib; {
     homepage = https://scoding.de/ropper/;
diff --git a/pkgs/development/python-modules/scrapy/default.nix b/pkgs/development/python-modules/scrapy/default.nix
index 5b40c74a1819..005d02e60472 100644
--- a/pkgs/development/python-modules/scrapy/default.nix
+++ b/pkgs/development/python-modules/scrapy/default.nix
@@ -2,7 +2,7 @@
   testfixtures, pillow, six, twisted, w3lib, lxml, queuelib, pyopenssl,
   service-identity, parsel, pydispatcher, cssselect, lib }:
 buildPythonPackage rec {
-    version = "1.4.0";
+    version = "1.5.0";
     pname = "Scrapy";
     name = "${pname}-${version}";
 
@@ -26,7 +26,7 @@ buildPythonPackage rec {
 
     src = fetchurl {
       url = "mirror://pypi/S/Scrapy/${name}.tar.gz";
-      sha256 = "04a08f027eef5d271342a016439533c81ba46f14bfcf230fecf602e99beaf233";
+      sha256 = "31a0bf05d43198afaf3acfb9b4fb0c09c1d7d7ff641e58c66e36117f26c4b755";
     };
 
     meta = with lib; {
diff --git a/pkgs/development/python-modules/seaborn/default.nix b/pkgs/development/python-modules/seaborn/default.nix
index 1647e6cfc143..20ad32b32613 100644
--- a/pkgs/development/python-modules/seaborn/default.nix
+++ b/pkgs/development/python-modules/seaborn/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "seaborn";
-  version = "0.7.1";
+  version = "0.8.1";
   name = "${pname}-${version}";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0pawrqc3mxpwd5g9pvi9gba02637bh5c8ldpp8izfwpfn52469zs";
+    sha256 = "6702978b903d0284446e935916b980dfebae4063c18ad8eb6e8f9e76d0257eae";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/serpy/default.nix b/pkgs/development/python-modules/serpy/default.nix
index 2414b97e94ab..610a75fa3176 100644
--- a/pkgs/development/python-modules/serpy/default.nix
+++ b/pkgs/development/python-modules/serpy/default.nix
@@ -5,7 +5,7 @@
 buildPythonPackage rec {
   pname = "serpy";
   name = "${pname}-${version}";
-  version = "0.2.0";
+  version = "0.3.1";
 
   meta = {
     description = "ridiculously fast object serialization";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7e62e242321b208362966d5ab32b45df93b1cb88da4ce6260277da060b4f7475";
+    sha256 = "3772b2a9923fbf674000ff51abebf6ea8f0fca0a2cfcbfa0d63ff118193d1ec5";
   };
 
   buildInputs = [ flake8 py pyflakes tox ];
diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix
index 1c53f3cd4372..b185be62a693 100644
--- a/pkgs/development/python-modules/setuptools/default.nix
+++ b/pkgs/development/python-modules/setuptools/default.nix
@@ -8,13 +8,13 @@
 # Should use buildPythonPackage here somehow
 stdenv.mkDerivation rec {
   pname = "setuptools";
-  version = "38.2.3";
+  version = "38.2.5";
   name = "${python.libPrefix}-${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "124jlg72bbk2xxv5wqbwcl4h5cdslslzk92rxjxiplg79l499hv3";
+    sha256 = "b080f276cc868670540b2c03cee06cc14d2faf9da7bec0f15058d1b402c94507";
   };
 
   buildInputs = [ python wrapPython unzip ];
diff --git a/pkgs/development/python-modules/shapely/default.nix b/pkgs/development/python-modules/shapely/default.nix
index e8e92818ecf5..dab3542b809e 100644
--- a/pkgs/development/python-modules/shapely/default.nix
+++ b/pkgs/development/python-modules/shapely/default.nix
@@ -6,11 +6,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "Shapely";
-  version = "1.6.2.post1";
+  version = "1.6.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "07fba518e76b3276558f62a5829bdfa476f790cdef752383ccdc8c66b04b0899";
+    sha256 = "14152f111c7711fc6756fd538ec12fc8cdde7419f869b244922f71f61b2a6c6b";
   };
 
   buildInputs = [ geos glibcLocales cython ];
diff --git a/pkgs/development/python-modules/simplejson/default.nix b/pkgs/development/python-modules/simplejson/default.nix
index 846e8dc21a16..25dbecac9497 100644
--- a/pkgs/development/python-modules/simplejson/default.nix
+++ b/pkgs/development/python-modules/simplejson/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "simplejson";
-  version = "3.11.1";
+  version = "3.13.2";
   name = "${pname}-${version}";
   doCheck = !stdenv.isDarwin;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "01a22d49ddd9a168b136f26cac87d9a335660ce07aa5c630b8e3607d6f4325e7";
+    sha256 = "4c4ecf20e054716cc1e5a81cadc44d3f4027108d8dd0861d8b1e3bd7a32d4f0a";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/six/default.nix b/pkgs/development/python-modules/six/default.nix
index 00fbbbc01eb8..6921b3590e4e 100644
--- a/pkgs/development/python-modules/six/default.nix
+++ b/pkgs/development/python-modules/six/default.nix
@@ -19,6 +19,9 @@ buildPythonPackage rec {
     py.test test_six.py
   '';
 
+  # To prevent infinite recursion with pytest
+  doCheck = false;
+
   meta = {
     description = "A Python 2 and 3 compatibility library";
     homepage = https://pypi.python.org/pypi/six/;
diff --git a/pkgs/development/python-modules/smart_open/default.nix b/pkgs/development/python-modules/smart_open/default.nix
index 436d85102d81..2e2020f61f09 100644
--- a/pkgs/development/python-modules/smart_open/default.nix
+++ b/pkgs/development/python-modules/smart_open/default.nix
@@ -12,11 +12,11 @@
 buildPythonPackage rec {
   pname = "smart_open";
   name = "${pname}-${version}";
-  version = "1.5.3";
+  version = "1.5.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0m5j71f7f36s17v4mwv0bxg4azknvcy82rbjp28b4vifrjd6dm7s";
+    sha256 = "8fd2de1c359bd0074bd6d334a5b9820ae1c5b6ba563970b95052bace4b71baeb";
   };
 
   propagatedBuildInputs = [ boto bz2file requests responses moto ];
diff --git a/pkgs/development/python-modules/spacy/default.nix b/pkgs/development/python-modules/spacy/default.nix
index 40df45616e93..6c7c3c8400c1 100644
--- a/pkgs/development/python-modules/spacy/default.nix
+++ b/pkgs/development/python-modules/spacy/default.nix
@@ -19,23 +19,12 @@
 , ftfy
 , thinc
 , pip
+, regex
 }:
-let
-  enableDebugging = true;
-  regexLocked = buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "regex";
-    version = "2017.04.05";
 
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "0c95gf3jzz8mv52lkgq0h7sbasjwvdhghm4s0phmy5k9sr78f4fq";
-    };
-  };
-in buildPythonPackage rec {
+buildPythonPackage rec {
   pname = "spacy";
   version = "1.8.2";
-  name = pname + "-" + version;
 
   src = fetchFromGitHub {
     owner = "explosion";
@@ -56,7 +45,7 @@ in buildPythonPackage rec {
    ujson
    dill
    requests
-   regexLocked
+   regex
    ftfy
    thinc
    pytest
diff --git a/pkgs/development/python-modules/splinter/default.nix b/pkgs/development/python-modules/splinter/default.nix
new file mode 100644
index 000000000000..abd9bd230d40
--- /dev/null
+++ b/pkgs/development/python-modules/splinter/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, selenium
+, flask
+, coverage
+}:
+
+buildPythonPackage rec {
+  pname = "splinter";
+  version = "0.7.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "f97119f84d339067169451d56043f37f6b0a504a17a7ac6e48c91c012be72af6";
+  };
+
+  propagatedBuildInputs = [ selenium ];
+
+  checkInputs = [ flask coverage ];
+
+  # No tests included
+  doCheck = false;
+
+  meta = {
+    description = "Browser abstraction for web acceptance testing";
+    homepage = https://github.com/cobrateam/splinter;
+    license = lib.licenses.bsd3;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/sqlalchemy/default.nix b/pkgs/development/python-modules/sqlalchemy/default.nix
index 9b3a5fa20396..488e78cb4ee4 100644
--- a/pkgs/development/python-modules/sqlalchemy/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy/default.nix
@@ -11,11 +11,11 @@
 buildPythonPackage rec {
   pname = "SQLAlchemy";
   name = "${pname}-${version}";
-  version = "1.1.15";
+  version = "1.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8b79a5ed91cdcb5abe97b0045664c55c140aec09e5dd5c01303e23de5fe7a95a";
+    sha256 = "7dda3e0b1b12215e3bb05368d1abbf7d747112a43738e0a4e6deb466b83fd88e";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/sqlmap/default.nix b/pkgs/development/python-modules/sqlmap/default.nix
index 2c85bdbe3d1c..e89abbd595a9 100644
--- a/pkgs/development/python-modules/sqlmap/default.nix
+++ b/pkgs/development/python-modules/sqlmap/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "sqlmap";
-  version = "1.1.11";
+  version = "1.1.12";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bb5297df9cd97316b3c7ca64f8e31cae5cc6b94c015afd84c546877f1f77d6e4";
+    sha256 = "86a1078ceb1e79f891633c7e4c7b07949fd9135a0e4c0738abd5111e2e6b96c0";
   };
 
   # No tests in archive
diff --git a/pkgs/development/python-modules/stevedore/default.nix b/pkgs/development/python-modules/stevedore/default.nix
index 326282a39c3d..9639ce961948 100644
--- a/pkgs/development/python-modules/stevedore/default.nix
+++ b/pkgs/development/python-modules/stevedore/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "stevedore";
-  version = "1.27.1";
+  version = "1.28.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "236468dae36707069e8b3bdb455e9f1be090b1e6b937f4ac0c56a538d6f50be0";
+    sha256 = "f1c7518e7b160336040fee272174f1f7b29a46febb3632502a8f2055f973d60b";
   };
 
   doCheck = false;
diff --git a/pkgs/development/python-modules/stripe/default.nix b/pkgs/development/python-modules/stripe/default.nix
index 7edfb9c4f0e6..e2a88a9f10b5 100644
--- a/pkgs/development/python-modules/stripe/default.nix
+++ b/pkgs/development/python-modules/stripe/default.nix
@@ -3,7 +3,7 @@
 
 buildPythonPackage rec {
   pname = "stripe";
-  version = "1.70.0";
+  version = "1.77.0";
   name = "${pname}-${version}";
 
   # Tests require network connectivity and there's no easy way to disable
@@ -12,7 +12,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ee77103d2d18fe6369f23c40c93067425c5ed67e08b1a7678e681217e8fa8062";
+    sha256 = "6503851d2309dd9c1307e3f0a1cb33ac1427fee25d38ecba1f8bf73a0d74defc";
   };
 
   buildInputs = [ unittest2 mock ];
diff --git a/pkgs/development/python-modules/structlog/default.nix b/pkgs/development/python-modules/structlog/default.nix
new file mode 100644
index 000000000000..2aab5b16aefa
--- /dev/null
+++ b/pkgs/development/python-modules/structlog/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, pretend
+, freezegun
+, simplejson
+}:
+
+buildPythonPackage rec {
+  pname = "structlog";
+  version = "17.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "6980001045abd235fa12582222627c19b89109e58b85eb77d5a5abc778df6e20";
+  };
+
+  checkInputs = [ pytest pretend freezegun ];
+  propagatedBuildInputs = [ simplejson ];
+
+  checkPhase = ''
+    rm tests/test_twisted.py*
+    py.test
+  '';
+
+  meta = {
+    description = "Painless structural logging";
+    homepage = http://www.structlog.org/;
+    license = lib.licenses.asl20;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/supervise_api/default.nix b/pkgs/development/python-modules/supervise_api/default.nix
index 5b98aa3415b2..85f0106db65d 100644
--- a/pkgs/development/python-modules/supervise_api/default.nix
+++ b/pkgs/development/python-modules/supervise_api/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "supervise_api";
-  version = "0.1.5";
+  version = "0.2.0";
 
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1pqqlw80cjdgrlpvdmydkyhsrr4s531mn6bfkshm68j9gk4kq6px";
+    sha256 = "e6982633a924cb5192d2291d25b366ff311876a31b0f5961471b39d87397ef5b";
   };
 
   propagatedBuildInputs = [ supervise ];
diff --git a/pkgs/development/python-modules/sybil/default.nix b/pkgs/development/python-modules/sybil/default.nix
index b1fe22df4767..1370c59ace84 100644
--- a/pkgs/development/python-modules/sybil/default.nix
+++ b/pkgs/development/python-modules/sybil/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonApplication rec {
   pname   = "sybil";
-  version = "1.0.5";
+  version = "1.0.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0x8qd5p5qliv8wmdglda2iy3f70i4jg8zqyk8yhklm5hrxm8jdl6";
+    sha256 = "5bd7dd09eff68cbec9062e6950124fadfaaccbc0f50b23c1037f4d70ae86f0f1";
   };
 
   checkInputs = [ pytest nose ];
diff --git a/pkgs/development/python-modules/tabulate/default.nix b/pkgs/development/python-modules/tabulate/default.nix
index 9ddc2a0e08b3..db7f43c1ea46 100644
--- a/pkgs/development/python-modules/tabulate/default.nix
+++ b/pkgs/development/python-modules/tabulate/default.nix
@@ -5,13 +5,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.7.7";
+  version = "0.8.2";
   pname = "tabulate";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "83a0b8e17c09f012090a50e1e97ae897300a72b35e0c86c0b53d3bd2ae86d8c6";
+    sha256 = "e4ca13f26d0a6be2a2915428dc21e732f1e44dad7f76d7030b2ef1ec251cf7f2";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/testtools/default.nix b/pkgs/development/python-modules/testtools/default.nix
index e786cb843296..eb6a6694b05c 100644
--- a/pkgs/development/python-modules/testtools/default.nix
+++ b/pkgs/development/python-modules/testtools/default.nix
@@ -12,19 +12,18 @@
 , pyrsistent
 }:
 
-# testtools 2.0.0 and up has a circular run-time dependency on futures
+
 
 buildPythonPackage rec {
   pname = "testtools";
-  version = "1.9.0";
-  name = "${pname}-${version}";
+  version = "2.3.0";
 
   # Python 2 only judging from SyntaxError
 #   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b46eec2ad3da6e83d53f2b0eca9a8debb687b4f71343a074f83a16bbdb3c0644";
+    sha256 = "5827ec6cf8233e0f29f51025addd713ca010061204fdea77484a2934690a0559";
   };
 
   propagatedBuildInputs = [ pbr python_mimeparse extras lxml unittest2 pyrsistent ];
@@ -33,6 +32,11 @@ buildPythonPackage rec {
   # No tests in archive
   doCheck = false;
 
+  # testtools 2.0.0 and up has a circular run-time dependency on futures
+  postPatch = ''
+    substituteInPlace requirements.txt --replace "fixtures>=1.3.0" ""
+  '';
+
   meta = {
     description = "A set of extensions to the Python standard library's unit testing framework";
     homepage = https://pypi.python.org/pypi/testtools;
diff --git a/pkgs/development/python-modules/textacy/default.nix b/pkgs/development/python-modules/textacy/default.nix
index 1647b837d976..333c4825f0f9 100644
--- a/pkgs/development/python-modules/textacy/default.nix
+++ b/pkgs/development/python-modules/textacy/default.nix
@@ -25,11 +25,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "textacy";
-  version = "0.4.1";
+  version = "0.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "04wf3a7zgzz83nmgkh488wkl50zm9yfdpv3sl12sm2zj685plqcz";
+    sha256 = "6fc4603fd52c386081b063ef7aa15ca77e5e937a3064b197359659fccfdeb406";
   };
 
   disabled = isPy27; # 2.7 requires backports.csv
diff --git a/pkgs/development/python-modules/texttable/default.nix b/pkgs/development/python-modules/texttable/default.nix
new file mode 100644
index 000000000000..38cffcee2963
--- /dev/null
+++ b/pkgs/development/python-modules/texttable/default.nix
@@ -0,0 +1,20 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "texttable";
+  version = "1.1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "44674d1d470a9fc264c4d1eba44b74463ca0066d7b954453dd5a4f8057779c9c";
+  };
+
+  meta = {
+    description = "A module to generate a formatted text table, using ASCII characters";
+    homepage = http://foutaise.org/code/;
+    license = lib.licenses.lgpl2;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/thespian/default.nix b/pkgs/development/python-modules/thespian/default.nix
index 7a6ff3cc53d1..df118470e920 100644
--- a/pkgs/development/python-modules/thespian/default.nix
+++ b/pkgs/development/python-modules/thespian/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchPypi, buildPythonPackage, lib }:
 
 buildPythonPackage rec {
-  version = "3.8.3";
+  version = "3.9.0";
   pname = "thespian";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "0vvwsh3waxd5ldrayr86kdcshv07bp361fl7p16g9i044vklwly4";
+    sha256 = "e698e3c5369d7b06de5c4ce7b877ea65991c99f7b0fabd09f29e91bc981c7d22";
   };
 
   # Do not run the test suite: it takes a long type and uses
diff --git a/pkgs/development/python-modules/toolz/default.nix b/pkgs/development/python-modules/toolz/default.nix
index 36b85bce3acd..0fc14024903e 100644
--- a/pkgs/development/python-modules/toolz/default.nix
+++ b/pkgs/development/python-modules/toolz/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec{
   pname = "toolz";
-  version = "0.8.2";
+  version = "0.9.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0l3czks4xy37i8099waxk2fdz5g0k1dwys2mkhlxc0b0886cj4sa";
+    sha256 = "929f0a7ea7f61c178bd951bdae93920515d3fbdbafc8e6caf82d752b9b3b31c9";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/tox/default.nix b/pkgs/development/python-modules/tox/default.nix
new file mode 100644
index 000000000000..bc70d65cc1f8
--- /dev/null
+++ b/pkgs/development/python-modules/tox/default.nix
@@ -0,0 +1,24 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, py
+, virtualenv
+, pluggy
+, setuptools_scm
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "tox";
+  version = "2.9.1";
+
+  buildInputs = [ setuptools_scm ];
+  propagatedBuildInputs = [ py virtualenv pluggy six ];
+
+  doCheck = false;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "752f5ec561c6c08c5ecb167d3b20f4f4ffc158c0ab78855701a75f5cef05f4b8";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/tqdm/default.nix b/pkgs/development/python-modules/tqdm/default.nix
index 2392a4a9968c..209ee8ccd6bb 100644
--- a/pkgs/development/python-modules/tqdm/default.nix
+++ b/pkgs/development/python-modules/tqdm/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "tqdm";
-  version = "4.19.4";
+  version = "4.19.5";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7ca803c2ea268c6bdb541e2dac74a3af23cf4bf7b4132a6a78926d255f8c8df1";
+    sha256 = "df32e6f127dc0ccbc675eadb33f749abbcb8f174c5cb9ec49c0cdb73aa737377";
   };
 
   buildInputs = [ nose coverage glibcLocales flake8 ];
diff --git a/pkgs/development/python-modules/tzlocal/default.nix b/pkgs/development/python-modules/tzlocal/default.nix
index 2277cb7c4ca4..1c61d0afab3b 100644
--- a/pkgs/development/python-modules/tzlocal/default.nix
+++ b/pkgs/development/python-modules/tzlocal/default.nix
@@ -4,13 +4,13 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "tzlocal";
-  version = "1.4";
+  version = "1.5.1";
 
   propagatedBuildInputs = [ pytz ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0n9hw4kqblyc0avzwi26rqmvyk9impb608rvy11qifmigy7r18h5";
+    sha256 = "4ebeb848845ac898da6519b9b31879cf13b6626f7184c496037b818e238f2c4e";
   };
 
   # test fail (timezone test fail)
diff --git a/pkgs/development/python-modules/vowpalwabbit/default.nix b/pkgs/development/python-modules/vowpalwabbit/default.nix
index 8c980cf2b2cf..f2b5e06baaa2 100644
--- a/pkgs/development/python-modules/vowpalwabbit/default.nix
+++ b/pkgs/development/python-modules/vowpalwabbit/default.nix
@@ -3,11 +3,11 @@
 pythonPackages.buildPythonPackage rec {
   pname = "vowpalwabbit";
   name = "${pname}-${version}";
-  version = "8.3.2";
+  version = "8.4.0";
 
   src = fetchurl{
     url = "mirror://pypi/v/vowpalwabbit/${name}.tar.gz";
-    sha256 = "0qm8rlrs2gfgamqnpx4lapxakpzgh0yh3kp1lbd7lhb0r748m3k7";
+    sha256 = "abd22bfae99fb102cf8a6aec49e8c278cb7317d3a7eb60f70cd102be9c336fd5";
   };
   # vw tries to write some explicit things to home
   # python installed: The directory '/homeless-shelter/.cache/pip/http'
diff --git a/pkgs/development/python-modules/websockets/default.nix b/pkgs/development/python-modules/websockets/default.nix
index 488036552583..f24f10675f80 100644
--- a/pkgs/development/python-modules/websockets/default.nix
+++ b/pkgs/development/python-modules/websockets/default.nix
@@ -6,13 +6,13 @@
 
 let
   pname = "websockets";
-  version = "3.4";
+  version = "4.0.1";
 in buildPythonPackage rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
-    sha256 = "43e5b9f51dd0000a4c6f646e2ade0c886bd14a784ffac08b9e079bd17a63bcc5";
+    sha256 = "da4d4fbe059b0453e726d6d993760065d69b823a27efc3040402a6fcfe6a1ed9";
   };
 
   disabled = pythonOlder "3.3";
diff --git a/pkgs/development/python-modules/werkzeug/default.nix b/pkgs/development/python-modules/werkzeug/default.nix
index 5979d895a747..78380900416d 100644
--- a/pkgs/development/python-modules/werkzeug/default.nix
+++ b/pkgs/development/python-modules/werkzeug/default.nix
@@ -1,21 +1,23 @@
 { stdenv, buildPythonPackage, fetchPypi
-, itsdangerous
+, itsdangerous, hypothesis
 , pytest, requests, glibcLocales }:
 
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "Werkzeug";
-  version = "0.12.2";
+  version = "0.14.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "09mv4cya3lywkn4mi3qrqmjgwiw99kdk03dk912j8da6ny3pnflh";
+    sha256 = "c3fd7a7d41976d9f44db327260e263132466836cef6f91512889ed60ad26557c";
   };
 
-  LC_ALL = "en_US.UTF-8";
-
   propagatedBuildInputs = [ itsdangerous ];
-  buildInputs = [ pytest requests glibcLocales ];
+  checkInputs = [ pytest requests glibcLocales hypothesis ];
+
+  checkPhase = ''
+    LC_ALL="en_US.UTF-8" py.test
+  '';
 
   meta = with stdenv.lib; {
     homepage = http://werkzeug.pocoo.org/;
diff --git a/pkgs/development/python-modules/widgetsnbextension/default.nix b/pkgs/development/python-modules/widgetsnbextension/default.nix
index b9ab1dfbc1d2..ab63b444af6d 100644
--- a/pkgs/development/python-modules/widgetsnbextension/default.nix
+++ b/pkgs/development/python-modules/widgetsnbextension/default.nix
@@ -8,11 +8,11 @@
 buildPythonPackage rec {
   pname = "widgetsnbextension";
   name = "${pname}-${version}";
-  version = "3.0.8";
+  version = "3.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a57e29e733b989e68fdd0f3d6927a3691763b39792591d573b95a89a5a12ec15";
+    sha256 = "67fc28c3b9fede955d69bccbd92784e3f0c6d0dee3a71532cd3367c257feb178";
   };
 
   propagatedBuildInputs = [ notebook ];
diff --git a/pkgs/development/python-modules/ws4py/default.nix b/pkgs/development/python-modules/ws4py/default.nix
index 648ab1cff083..5e65940e8468 100644
--- a/pkgs/development/python-modules/ws4py/default.nix
+++ b/pkgs/development/python-modules/ws4py/default.nix
@@ -4,11 +4,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "ws4py";
-  version = "0.4.2";
+  version = "0.4.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0zr3254ky6r7q15l3dhdczfa8i723055zdkqssjifsgcwvirriks";
+    sha256 = "ee12b58384bab8bfdcd1c76dcd6852047aec163af17175fc0f73e255d107dd7a";
   };
 
   checkInputs = [ pytest mock git ];
diff --git a/pkgs/development/python-modules/xarray/default.nix b/pkgs/development/python-modules/xarray/default.nix
index 1215e613f6fa..afde3f3b45b0 100644
--- a/pkgs/development/python-modules/xarray/default.nix
+++ b/pkgs/development/python-modules/xarray/default.nix
@@ -10,30 +10,23 @@
 
 buildPythonPackage rec {
   pname = "xarray";
-  version = "0.9.6";
-  name = "${pname}-${version}";
+  version = "0.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f649a41d43b5a6c64bdcbd57e994932656b689f9593a86dd0be95778a2b47494";
+    sha256 = "af1449e8df84a6eb09eb1d56c1dc5ac7f24a9563d4f2b9391ff364dc0c62344c";
   };
 
-  # Temporary patch until next release (later than 0.9.6) to fix
-  # a broken test case.
-  patches = [
-    (fetchurl {
-      url = "https://github.com/pydata/xarray/commit/726c6a3638ecf95889c541d84e892a106c2f2f92.patch";
-      sha256 = "1i2hsj5v5qlvqfj48vyn9931yndsf4k4wrk3qpqpywh32s7r007b";
-    })
-  ];
-
-  buildInputs = [ pytest ];
+  checkInputs = [ pytest ];
   propagatedBuildInputs = [numpy pandas];
 
   checkPhase = ''
     py.test $out/${python.sitePackages}
   '';
 
+  # There always seem to be broken tests...
+  doCheck = false;
+
   meta = {
     description = "N-D labeled arrays and datasets in Python";
     homepage = https://github.com/pydata/xarray;
diff --git a/pkgs/development/python-modules/yapf/default.nix b/pkgs/development/python-modules/yapf/default.nix
index 2ded73d5250a..d7617ae1551b 100644
--- a/pkgs/development/python-modules/yapf/default.nix
+++ b/pkgs/development/python-modules/yapf/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "yapf";
-  version = "0.19.0";
+  version = "0.20.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "701b076a4916e3cfbba345e0297dcd54a02fd0fdcae1f43346f8a043c3bbd052";
+    sha256 = "ff28f8839a9a105854a099026a33f4cbec8bd933554bfed658aec359bfc88ae8";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/yarl/default.nix b/pkgs/development/python-modules/yarl/default.nix
index 1275178d5d0b..cf95803d5af4 100644
--- a/pkgs/development/python-modules/yarl/default.nix
+++ b/pkgs/development/python-modules/yarl/default.nix
@@ -1,24 +1,23 @@
 { lib
-, fetchurl
+, fetchPypi
 , buildPythonPackage
 , multidict
 , pytestrunner
 , pytest
+, idna
 }:
 
-let
+buildPythonPackage rec {
   pname = "yarl";
-  version = "0.13.0";
-in buildPythonPackage rec {
+  version = "0.17.0";
   name = "${pname}-${version}";
-  src = fetchurl {
-    url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
-    sha256 = "25fe681a982f2cec567df8abac7cbd2ac27016e4aec89193945cab0643bfdb42";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "2e4e1aec650ad80e73e7063941cd8aadb48e72487ec680a093ad364cc61efe64";
   };
 
-  buildInputs = [ pytest pytestrunner ];
-  propagatedBuildInputs = [ multidict ];
-
+  checkInputs = [ pytest pytestrunner ];
+  propagatedBuildInputs = [ multidict idna ];
 
   meta = {
     description = "Yet another URL library";
diff --git a/pkgs/development/python-modules/zope_copy/default.nix b/pkgs/development/python-modules/zope_copy/default.nix
new file mode 100644
index 000000000000..305928c1846d
--- /dev/null
+++ b/pkgs/development/python-modules/zope_copy/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, zope_interface
+, zope_location
+, zope_schema
+}:
+
+
+buildPythonPackage rec {
+  pname = "zope_copy";
+  version = "4.0.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "eb2a95866df1377741876a3ee62d8600e80089e6246e1a235e86791b29534457";
+  };
+
+  propagatedBuildInputs = [ zope_interface ];
+
+  checkInputs = [ zope_location zope_schema ];
+
+  meta = {
+    maintainers = with lib.maintainers; [ domenkozar ];
+  };
+}
\ No newline at end of file