about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-05-17 10:56:54 +0000
committerAlyssa Ross <hi@alyssa.is>2019-05-17 10:56:54 +0000
commitc1d22074139ab0d048a05b5e5116265d099114d6 (patch)
tree97977009422d675f8930f97c309b010481289e72 /nixpkgs/pkgs/development/python-modules
parent4dc8afe4fd6b18437150129e0a1ecc23c6a1c0b9 (diff)
parentbc9df0f66110039e495b6debe3a6cda4a1bb0fed (diff)
downloadnixlib-c1d22074139ab0d048a05b5e5116265d099114d6.tar
nixlib-c1d22074139ab0d048a05b5e5116265d099114d6.tar.gz
nixlib-c1d22074139ab0d048a05b5e5116265d099114d6.tar.bz2
nixlib-c1d22074139ab0d048a05b5e5116265d099114d6.tar.lz
nixlib-c1d22074139ab0d048a05b5e5116265d099114d6.tar.xz
nixlib-c1d22074139ab0d048a05b5e5116265d099114d6.tar.zst
nixlib-c1d22074139ab0d048a05b5e5116265d099114d6.zip
Merge commit 'bc9df0f66110039e495b6debe3a6cda4a1bb0fed'
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules')
-rw-r--r--nixpkgs/pkgs/development/python-modules/Flask-PyMongo/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/Wand/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/XlsxWriter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiorpcx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansible-runner/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/asgiref/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/asyncssh/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/asyncssh/fix-sftp-chmod-test-nixos.patch15
-rw-r--r--nixpkgs/pkgs/development/python-modules/atomman/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/av/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-common/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/braintree/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cartopy/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cerberus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cffi/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/cfgv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cfn-lint/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/cgkit/scons-env.patch22
-rw-r--r--nixpkgs/pkgs/development/python-modules/channels/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/configparser/0001-namespace-fix.patch42
-rw-r--r--nixpkgs/pkgs/development/python-modules/confluent-kafka/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/cryptography/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/csvs-to-sqlite/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/cufflinks/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/cx_oracle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cypari2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/daphne/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/datasette/default.nix73
-rw-r--r--nixpkgs/pkgs/development/python-modules/distributed/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-allauth/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django_guardian/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/django_modelcluster/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django_silk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/djangoql/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/ecdsa/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/faker/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/fastpair/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/filemagic/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/fonttools/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/fs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/funcsigs/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/funcsigs/fix-pypy3-tests.patch94
-rw-r--r--nixpkgs/pkgs/development/python-modules/genanki/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gensim/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/geopandas/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google_cloud_speech/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gsd/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/holoviews/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/httplib2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/httpretty/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/httptools/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/i3ipc/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/imread/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/inotify-simple/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/j2cli/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jdcal/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jinja2/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/junos-eznc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/kubernetes/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/langdetect/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/lark-parser/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/latexcodec/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/leveldb/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/matplotlib/2.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/matplotlib/darwin-stdenv-2.2.3.patch10
-rw-r--r--nixpkgs/pkgs/development/python-modules/matplotlib/darwin-stdenv.patch12
-rw-r--r--nixpkgs/pkgs/development/python-modules/matplotlib/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/mecab-python3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/moto/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/nameparser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/netcdf4/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nilearn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/numpy/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/objgraph/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ordered-set/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/paho-mqtt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/papis/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/pdftotext/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/plotly/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/py-lru-cache/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/py-radix/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/py3exiv2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyasn1-modules/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyaxmlparser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycairo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyftdi/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygame/pygame-v4l.patch88
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygobject/3.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pympler/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyopenssl/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyro-ppl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyrr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyspark/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-env/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-mock/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-sanic/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-sugar/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-axolotl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-dotenv/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-gnupg/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-igraph/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/qdarkstyle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qtconsole/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qtpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/quandl/allow-requests-v2.18.patch12
-rw-r--r--nixpkgs/pkgs/development/python-modules/ropper/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/ruamel_yaml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/s3fs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sanic/default.nix68
-rw-r--r--nixpkgs/pkgs/development/python-modules/seabreeze/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/service_identity/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/setuptools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/shodan/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/smart_open/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sparqlwrapper/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib_plantuml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlalchemy-migrate/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/sseclient/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/streamz/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/stripe/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tess/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/traits/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/typed-ast/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/uncompyle6/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/unittest-xml-reporting/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/urllib3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/uvloop/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/worldengine/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/xcffib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/xdis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/xkcdpass/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/xlib/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/xml2rfc/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/zeroconf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope_testrunner/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/zstd/default.nix4
140 files changed, 1149 insertions, 474 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/Flask-PyMongo/default.nix b/nixpkgs/pkgs/development/python-modules/Flask-PyMongo/default.nix
index adf6da761cf7..3a01c9ba9831 100644
--- a/nixpkgs/pkgs/development/python-modules/Flask-PyMongo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/Flask-PyMongo/default.nix
@@ -8,18 +8,19 @@
 }:
 
 buildPythonPackage rec {
-  pname = "Flask-PyMongo";
-  version = "2.2.0";
+  pname = "flask-pymongo";
+  version = "2.3.0";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "112625c5d5b4e35aad301ef9e937b7275043d310d75bd76e2b2dd07147c8217a";
+    pname = "Flask-PyMongo";
+    inherit version;
+    sha256 = "051kwdk07y4xm4yawcjhn6bz8swxp9nanv7jj35mz2l0r0nv03k2";
   };
 
   checkInputs = [ pytest ];
 
   checkPhase = ''
-    py.test
+    pytest
   '';
 
   # Tests seem to hang
diff --git a/nixpkgs/pkgs/development/python-modules/Wand/default.nix b/nixpkgs/pkgs/development/python-modules/Wand/default.nix
index 1db067838fbb..0b61f671f836 100644
--- a/nixpkgs/pkgs/development/python-modules/Wand/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/Wand/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "Wand";
-  version = "0.5.2";
+  version = "0.5.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0nvdq15gmkzhwpwkln8wmkq0h4izznnr6zmrnwqza8lsa1c0jz5f";
+    sha256 = "a2c318993791fab4fcfd460045415176f81d42f8c6fd8a88fb8d74d2f0f34b97";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/XlsxWriter/default.nix b/nixpkgs/pkgs/development/python-modules/XlsxWriter/default.nix
index e7c5595fe087..096dfb6a7799 100644
--- a/nixpkgs/pkgs/development/python-modules/XlsxWriter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/XlsxWriter/default.nix
@@ -3,7 +3,7 @@
 buildPythonPackage rec {
 
   pname = "XlsxWriter";
-  version = "1.1.6";
+  version = "1.1.7";
 
   # PyPI release tarball doesn't contain tests so let's use GitHub. See:
   # https://github.com/jmcnamara/XlsxWriter/issues/327
@@ -11,7 +11,7 @@ buildPythonPackage rec {
     owner = "jmcnamara";
     repo = pname;
     rev = "RELEASE_${version}";
-    sha256 = "1hmagwh2k61r90a9xgp3xj24wb97ckllvgn82vsin9kvhhj1459i";
+    sha256 = "1zv5222bymfr7046ps5512x1kk7ipcx46jjxylaap1p6llqj7zlj";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/aiorpcx/default.nix b/nixpkgs/pkgs/development/python-modules/aiorpcx/default.nix
index fd853e631a7c..a5f54d8e96cf 100644
--- a/nixpkgs/pkgs/development/python-modules/aiorpcx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiorpcx/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "aiorpcx";
-  version = "0.10.5";
+  version = "0.17.0";
 
   src = fetchPypi {
     inherit version;
     pname = "aiorpcX";
-    sha256 = "0c4kan020s09ap5qai7p1syxjz2wk6g9ydhxj6fc35s4103x7b91";
+    sha256 = "14np5r75rs0v45vsv20vbzmnv3qisvm9mdllj1j9s1633cvcik0k";
   };
 
   propagatedBuildInputs = [ attrs ];
diff --git a/nixpkgs/pkgs/development/python-modules/ansible-runner/default.nix b/nixpkgs/pkgs/development/python-modules/ansible-runner/default.nix
index b3bb47334236..56850dcf86e6 100644
--- a/nixpkgs/pkgs/development/python-modules/ansible-runner/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ansible-runner/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "ansible-runner";
-  version = "1.3.2";
+  version = "1.3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6e4d8256351228c00fe68697e7f5ad2a2e0fd4085084b913eda22735023bb891";
+    sha256 = "087jk00kv0qsqqspyn015nicvbl627wck3fgx2qhqawvrgqk3xb0";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/asgiref/default.nix b/nixpkgs/pkgs/development/python-modules/asgiref/default.nix
index 155ddf8c9f8b..a07d370761a5 100644
--- a/nixpkgs/pkgs/development/python-modules/asgiref/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asgiref/default.nix
@@ -1,6 +1,6 @@
 { stdenv, buildPythonPackage, pythonOlder, fetchFromGitHub, async-timeout, pytest, pytest-asyncio }:
 buildPythonPackage rec {
-  version = "2.3.2";
+  version = "3.1.2";
   pname = "asgiref";
 
   disabled = pythonOlder "3.5";
@@ -10,7 +10,7 @@ buildPythonPackage rec {
     owner = "django";
     repo = pname;
     rev = version;
-    sha256 = "1ljymmcscyp3bz33kjbhf99k04fbama87vg4069gbgj6lnxjpzav";
+    sha256 = "1y32ys1q07nyri0b053mx24qvkw305iwvqvqgi2fdhx0va8d7qfy";
   };
 
   propagatedBuildInputs = [ async-timeout ];
diff --git a/nixpkgs/pkgs/development/python-modules/asyncssh/default.nix b/nixpkgs/pkgs/development/python-modules/asyncssh/default.nix
index bea0857f0cf5..5320d5be1087 100644
--- a/nixpkgs/pkgs/development/python-modules/asyncssh/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asyncssh/default.nix
@@ -1,18 +1,35 @@
-{ stdenv, buildPythonPackage, fetchPypi, pythonOlder
+{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, fetchpatch
 , cryptography
 , bcrypt, gssapi, libnacl, libsodium, nettle, pyopenssl
-, openssl }:
+, openssl, openssh }:
 
 buildPythonPackage rec {
   pname = "asyncssh";
-  version = "1.15.1";
+  version = "1.16.1";
   disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f2065a8b3af0c514c8de264e7b01f08df5213b707bacb7e7c080bd46c3e3bc35";
+    sha256 = "0qia1ay2dhwps5sfh0hif7mrv7yxvykxs9l7cmfp4m6hmqnn3r5r";
   };
 
+  patches = [
+    # Reverts https://github.com/ronf/asyncssh/commit/4b3dec994b3aa821dba4db507030b569c3a32730
+    #
+    # This changed the test to avoid setting the sticky bit
+    # because that's not allowed for plain files in FreeBSD.
+    # However that broke the test on NixOS, failing with
+    # "Operation not permitted"
+    ./fix-sftp-chmod-test-nixos.patch
+
+    # Restore libnacl support for curve25519/ed25519 as a fallback for PyCA
+    # Fixes https://github.com/ronf/asyncssh/issues/206 with older openssl
+    (fetchpatch {
+      url = "https://github.com/ronf/asyncssh/commit/1dee113bb3e4a6888de562b0413e9abd6a0f0f04.patch";
+      sha256 = "04bckdj7i6xk24lizkn3a8cj375pkz7yc57fc0vk222c6jzwzaml";
+    })
+  ];
+
   propagatedBuildInputs = [
     bcrypt
     cryptography
@@ -23,17 +40,20 @@ buildPythonPackage rec {
     pyopenssl
   ];
 
-  checkInputs = [ openssl ];
+  checkInputs = [
+    openssh
+    openssl
+  ];
 
   # Disables windows specific test (specifically the GSSAPI wrapper for Windows)
   postPatch = ''
-    rm ./tests/sspi_stub.py
+    rm tests/sspi_stub.py
   '';
 
   meta = with stdenv.lib; {
     description = "Provides an asynchronous client and server implementation of the SSHv2 protocol on top of the Python asyncio framework";
-    homepage    = https://pypi.python.org/pypi/asyncssh;
-    license     = licenses.epl20;
+    homepage = https://asyncssh.readthedocs.io/en/latest;
+    license = licenses.epl20;
     maintainers = with maintainers; [ worldofpeace ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/asyncssh/fix-sftp-chmod-test-nixos.patch b/nixpkgs/pkgs/development/python-modules/asyncssh/fix-sftp-chmod-test-nixos.patch
new file mode 100644
index 000000000000..845139a4fecf
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/asyncssh/fix-sftp-chmod-test-nixos.patch
@@ -0,0 +1,15 @@
+diff --git a/tests/test_sftp.py b/tests/test_sftp.py
+index db9cc88..234004b 100644
+--- a/tests/test_sftp.py
++++ b/tests/test_sftp.py
+@@ -957,8 +957,8 @@ class _TestSFTP(_CheckSFTP):
+ 
+         try:
+             self._create_file('file')
+-            yield from sftp.chmod('file', 0o4321)
+-            self.assertEqual(stat.S_IMODE(os.stat('file').st_mode), 0o4321)
++            yield from sftp.chmod('file', 0o1234)
++            self.assertEqual(stat.S_IMODE(os.stat('file').st_mode), 0o1234)
+         finally:
+             remove('file')
+ 
diff --git a/nixpkgs/pkgs/development/python-modules/atomman/default.nix b/nixpkgs/pkgs/development/python-modules/atomman/default.nix
index 07757d5304b0..a2f6cd721b72 100644
--- a/nixpkgs/pkgs/development/python-modules/atomman/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/atomman/default.nix
@@ -13,12 +13,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.2.5";
+  version = "1.2.6";
   pname = "atomman";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "10eca8c6fc890f2ee2e30f65178c618175529e9998be449e276f7c3d1dce0e95";
+    sha256 = "19501bfdf7e66090764a0ccbecf85a128b46333ea232c2137fa4345512b8b502";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/av/default.nix b/nixpkgs/pkgs/development/python-modules/av/default.nix
index 84c9b21f933e..c32719140ea7 100644
--- a/nixpkgs/pkgs/development/python-modules/av/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/av/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, nose
 , numpy
 , ffmpeg_4
 , libav
@@ -10,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "av";
-  version = "6.1.2";
+  version = "6.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "eebbb56eeae650b1fc551f94d51aee39b487bf4df73c39daea186c5d2950650f";
+    sha256 = "1wm33qajxcpl9rn7zfb2pwwqn87idb7ic7h5zwy2hgbpjnh3vc2g";
   };
 
-  checkInputs = [ nose numpy ];
+  checkInputs = [ numpy ];
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ ffmpeg_4 ];
diff --git a/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix b/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix
index c6c84882fcd3..a9734745f21c 100644
--- a/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, isPy3k
+, pythonOlder
 , boto3
 , enum34
 , jsonschema
@@ -10,24 +10,21 @@
 
 buildPythonPackage rec {
   pname = "aws-sam-translator";
-  version = "1.10.0";
+  version = "1.11.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0axr4598b1h9kyb5mv104cpn5q667s0g1wkkbqzj66vrqsaa07qf";
+    sha256 = "db872c43bdfbbae9fc8c9201e6a7aeb9a661cda116a94708ab0577b46a38b962";
   };
 
   # Tests are not included in the PyPI package
   doCheck = false;
 
-  disabled = isPy3k;
-
   propagatedBuildInputs = [
     boto3
-    enum34
     jsonschema
     six
-  ];
+  ] ++ lib.optionals (pythonOlder "3.4") [ enum34 ];
 
   meta = {
     homepage = https://github.com/awslabs/serverless-application-model;
diff --git a/nixpkgs/pkgs/development/python-modules/azure-common/default.nix b/nixpkgs/pkgs/development/python-modules/azure-common/default.nix
index d6d1ba832d64..f0d5f8833921 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-common/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-common/default.nix
@@ -7,14 +7,14 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.1.18";
+  version = "1.1.19";
   pname = "azure-common";
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "5fd62ae10b1add97d3c69af970328ec3bd869184396bcf6bfa9c7bc94d688424";
+    sha256 = "622d9360a1b61172b4c0d1cc58f939c68402aa19ca44872ab3d224d913aa6d0c";
   };
 
   propagatedBuildInputs = [ azure-nspkg ];
diff --git a/nixpkgs/pkgs/development/python-modules/braintree/default.nix b/nixpkgs/pkgs/development/python-modules/braintree/default.nix
index 6604901a512f..393285636b60 100644
--- a/nixpkgs/pkgs/development/python-modules/braintree/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/braintree/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "braintree";
-  version = "3.52.0";
+  version = "3.53.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0p8qmmc3fmjz7i5yjyxx9sxkhfq38kr0mws4dh3k5kxl6an02mp4";
+    sha256 = "026apwkjn83la7jm0azz3qajg26nza3gh49zd37j0rsp6cgmfa24";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/cartopy/default.nix b/nixpkgs/pkgs/development/python-modules/cartopy/default.nix
index 3fc4c3e84ed4..28148450f076 100644
--- a/nixpkgs/pkgs/development/python-modules/cartopy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cartopy/default.nix
@@ -1,8 +1,9 @@
 { buildPythonPackage, lib, fetchPypi
 , pytest, filelock, mock, pep8
-, cython, isPy37, glibcLocales
+, cython, isPy27, isPy37, glibcLocales
 , six, pyshp, shapely, geos, proj, numpy
 , gdal, pillow, matplotlib, pyepsg, pykdtree, scipy, owslib, fiona
+, xvfb_run
 }:
 
 buildPythonPackage rec {
@@ -17,10 +18,14 @@ buildPythonPackage rec {
 
   checkInputs = [ filelock mock pytest pep8 ];
 
-  # several tests require network connectivity: we disable them
-  checkPhase = ''
+  # several tests require network connectivity: we disable them.
+  # also py2.7's tk is over-eager in trying to open an x display,
+  # so give it xvfb
+  checkPhase = let
+    maybeXvfbRun = lib.optionalString isPy27 "${xvfb_run}/bin/xvfb-run";
+  in ''
     export HOME=$(mktemp -d)
-    pytest --pyargs cartopy \
+    ${maybeXvfbRun} pytest --pyargs cartopy \
       -m "not network and not natural_earth" \
       -k "not test_nightshade_image"
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix b/nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix
index a40238412c6d..dbf5a8686cd9 100644
--- a/nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix
@@ -21,11 +21,11 @@
 
 buildPythonPackage rec {
   pname = "cassandra-driver";
-  version = "3.17.0";
+  version = "3.17.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1z49z6f9rj9kp1v03s1hs1rg8cj49rh0yk0fc2qi57w7slgy2hkd";
+    sha256 = "1y6pnm7vzg9ip1nbly3i8mmwqmcy8g38ix74vdzvvaxwxil9bmvi";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cerberus/default.nix b/nixpkgs/pkgs/development/python-modules/cerberus/default.nix
index 4c3421750218..adf363e05131 100644
--- a/nixpkgs/pkgs/development/python-modules/cerberus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cerberus/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "Cerberus";
-  version = "1.2";
+  version = "1.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f5c2e048fb15ecb3c088d192164316093fcfa602a74b3386eefb2983aa7e800a";
+    sha256 = "0afhm8x812shj1fbj9jri6wcrlv0avcfis7619sl140mlhpgpzkz";
   };
 
   checkInputs = [ pytestrunner pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/cffi/default.nix b/nixpkgs/pkgs/development/python-modules/cffi/default.nix
index 22d25fa9cffb..cfabeb16b593 100644
--- a/nixpkgs/pkgs/development/python-modules/cffi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cffi/default.nix
@@ -2,11 +2,11 @@
 
 if isPyPy then null else buildPythonPackage rec {
   pname = "cffi";
-  version = "1.12.2";
+  version = "1.12.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e113878a446c6228669144ae8a56e268c91b7f1fafae927adc4879d9849e0ea7";
+    sha256 = "041c81822e9f84b1d9c401182e174996f0bae9991f33725d059b771744290774";
   };
 
   outputs = [ "out" "dev" ];
@@ -31,7 +31,7 @@ if isPyPy then null else buildPythonPackage rec {
   # The tests use -Werror but with python3.6 clang detects some unreachable code.
   NIX_CFLAGS_COMPILE = stdenv.lib.optionals stdenv.cc.isClang [ "-Wno-unused-command-line-argument" "-Wno-unreachable-code" ];
 
-  doCheck = !stdenv.hostPlatform.isMusl; # TODO: Investigate
+  doCheck = !stdenv.hostPlatform.isMusl && !stdenv.isDarwin; # TODO: Investigate
   checkPhase = ''
     py.test -k "not test_char_pointer_conversion"
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/cfgv/default.nix b/nixpkgs/pkgs/development/python-modules/cfgv/default.nix
index 181d4e79b106..24d22a24d601 100644
--- a/nixpkgs/pkgs/development/python-modules/cfgv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cfgv/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "cfgv";
-  version = "1.4.0";
+  version = "1.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "01mpw8kx0f2py2jwf0fv60k01p11gs0dbar5zq42k4z38xf0bn9r";
+    sha256 = "1vxjwga8x9nn5xqbhf5sql7jab3s1la07mxbaqgcfjz8lpp2z7vf";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/nixpkgs/pkgs/development/python-modules/cfn-lint/default.nix b/nixpkgs/pkgs/development/python-modules/cfn-lint/default.nix
new file mode 100644
index 000000000000..d6205b27687d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/cfn-lint/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pyyaml
+, six
+, requests
+, aws-sam-translator
+, jsonpatch
+, jsonschema
+, pathlib2
+}:
+
+buildPythonPackage rec {
+  pname = "cfn-lint";
+  version = "0.19.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "5a723ff791fc23aced78e9cde28f18f9eeae9a24f91db2b7a20f7aa837a613b3";
+  };
+
+  propagatedBuildInputs = [
+    pyyaml
+    six
+    requests
+    aws-sam-translator
+    jsonpatch
+    jsonschema
+    pathlib2
+  ];
+
+  # No tests included in archive
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Checks cloudformation for practices and behaviour that could potentially be improved";
+    homepage = https://github.com/aws-cloudformation/cfn-python-lint;
+    license = licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/cgkit/scons-env.patch b/nixpkgs/pkgs/development/python-modules/cgkit/scons-env.patch
deleted file mode 100644
index 65e9d58a0ae4..000000000000
--- a/nixpkgs/pkgs/development/python-modules/cgkit/scons-env.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/supportlib/SConstruct b/supportlib/SConstruct
-index 7f797b9..07907e9 100644
---- a/supportlib/SConstruct
-+++ b/supportlib/SConstruct
-@@ -5,7 +5,7 @@
- # library.
- ######################################################################
- 
--import sys, glob, os.path
-+import sys, glob, os.path, os
- 
- # Read the options
- vars = Variables("cpp_config.cfg")
-@@ -16,7 +16,7 @@ vars.Add("CPPPATH", "The include directories", [])
- vars.Add("MSVS_VERSION", "The preferred version of MS Visual Studio")
- 
- # Create the construction environment
--env = Environment(variables = vars)
-+env = Environment(variables = vars, ENV = os.environ)
- 
- # Build the files in "obj"
- env.VariantDir("obj", "src", duplicate=0)
diff --git a/nixpkgs/pkgs/development/python-modules/channels/default.nix b/nixpkgs/pkgs/development/python-modules/channels/default.nix
index ef8456d376c6..a3b7e54c57a5 100644
--- a/nixpkgs/pkgs/development/python-modules/channels/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/channels/default.nix
@@ -3,11 +3,11 @@
 }:
 buildPythonPackage rec {
   pname = "channels";
-  version = "2.1.7";
+  version = "2.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e13ba874d854ac493ece329dcd9947e82357c15437ac1a90ed1040d0e5b87aad";
+    sha256 = "af7cdba9efb3f55b939917d1b15defb5d40259936013e60660e5e9aff98db4c5";
   };
 
   # Files are missing in the distribution
diff --git a/nixpkgs/pkgs/development/python-modules/configparser/0001-namespace-fix.patch b/nixpkgs/pkgs/development/python-modules/configparser/0001-namespace-fix.patch
deleted file mode 100644
index 05dbf4677182..000000000000
--- a/nixpkgs/pkgs/development/python-modules/configparser/0001-namespace-fix.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From daae1ae35e13bc8107dc97d9219dfb8e172d5d2a Mon Sep 17 00:00:00 2001
-From: Frederik Rietdijk <fridh@fridh.nl>
-Date: Tue, 14 Mar 2017 15:00:33 +0100
-Subject: [PATCH] namespace fix
-
-configparser broke other namespace packages
-https://github.com/NixOS/nixpkgs/issues/23855#issuecomment-286427428
-This patch seems to solve that issue.
----
- setup.py                  | 1 -
- src/backports/__init__.py | 6 ------
- 2 files changed, 7 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index 3b07823..63ed25d 100644
---- a/setup.py
-+++ b/setup.py
-@@ -42,7 +42,6 @@ setup(
-     py_modules=modules,
-     package_dir={'': 'src'},
-     packages=find_packages('src'),
--    namespace_packages=['backports'],
-     include_package_data=True,
-     zip_safe=False,
-     install_requires=requirements,
-diff --git a/src/backports/__init__.py b/src/backports/__init__.py
-index f84d25c..febdb2f 100644
---- a/src/backports/__init__.py
-+++ b/src/backports/__init__.py
-@@ -3,9 +3,3 @@
- 
- from pkgutil import extend_path
- __path__ = extend_path(__path__, __name__)
--
--try:
--    import pkg_resources
--    pkg_resources.declare_namespace(__name__)
--except ImportError:
--    pass
--- 
-2.11.1
-
diff --git a/nixpkgs/pkgs/development/python-modules/confluent-kafka/default.nix b/nixpkgs/pkgs/development/python-modules/confluent-kafka/default.nix
index 65f6cb291b2d..4f9794b034e5 100644
--- a/nixpkgs/pkgs/development/python-modules/confluent-kafka/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/confluent-kafka/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPy3k, rdkafka, requests, avro3k, avro, futures}:
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k, rdkafka, requests, avro3k, avro, futures, enum34 }:
 
 buildPythonPackage rec {
-  version = "0.11.6";
+  version = "1.0.0";
   pname = "confluent-kafka";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1dvzlafgr4g0n7382s5bgbls3f9wrgr0yxd70yyxl59wddwzfii7";
+    sha256 = "a7427944af963410479c2aaae27cc9d28db39c9a93299f14dcf16df80092c63a";
   };
 
-  buildInputs = [ rdkafka requests ] ++ (if isPy3k then [ avro3k ] else [ avro futures ]) ;
+  buildInputs = [ rdkafka requests ] ++ (if isPy3k then [ avro3k ] else [ enum34 avro futures ]) ;
 
-  # Tests fail for python3 under this pypi release
-  doCheck = if isPy3k then false else true;
+  # No tests in PyPi Tarball
+  doCheck = false;
 
   meta = with stdenv.lib; {
     description = "Confluent's Apache Kafka client for Python";
diff --git a/nixpkgs/pkgs/development/python-modules/cryptography/default.nix b/nixpkgs/pkgs/development/python-modules/cryptography/default.nix
index 69c9f7292942..f40f0bf63d82 100644
--- a/nixpkgs/pkgs/development/python-modules/cryptography/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cryptography/default.nix
@@ -53,14 +53,6 @@ buildPythonPackage rec {
     py.test --disable-pytest-warnings tests
   '';
 
-  # The test assumes that if we're on Sierra or higher, that we use `getentropy`, but for binary
-  # compatibility with pre-Sierra for binary caches, we hide that symbol so the library doesn't
-  # use it. This boils down to them checking compatibility with `getentropy` in two different places,
-  # so let's neuter the second test.
-  postPatch = ''
-    substituteInPlace ./tests/hazmat/backends/test_openssl.py --replace '"16.0"' '"99.0"'
-  '';
-
   # IOKit's dependencies are inconsistent between OSX versions, so this is the best we
   # can do until nix 1.11's release
   __impureHostDeps = [ "/usr/lib" ];
diff --git a/nixpkgs/pkgs/development/python-modules/csvs-to-sqlite/default.nix b/nixpkgs/pkgs/development/python-modules/csvs-to-sqlite/default.nix
new file mode 100644
index 000000000000..ab9ca9827186
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/csvs-to-sqlite/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestrunner
+, click
+, dateparser
+, pandas
+, py-lru-cache
+, six
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "csvs-to-sqlite";
+  version = "0.9";
+
+  src = fetchFromGitHub {
+    owner = "simonw";
+    repo = pname;
+    rev = version;
+    sha256 = "0js86m4kj70g9n9gagr8l6kgswqllg6hn1xa3yvxwv95i59ihpz5";
+  };
+
+  buildInputs = [ pytestrunner ];
+
+  propagatedBuildInputs = [
+    click
+    dateparser
+    pandas
+    py-lru-cache
+    six
+  ];
+
+  checkInputs = [
+    pytest
+  ];
+
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with lib; {
+    description = "Convert CSV files into a SQLite database";
+    homepage = https://github.com/simonw/csvs-to-sqlite;
+    license = licenses.asl20;
+    maintainers = [ maintainers.costrouc ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/python-modules/cufflinks/default.nix b/nixpkgs/pkgs/development/python-modules/cufflinks/default.nix
index 1344ef4d6ae2..18693a204c53 100644
--- a/nixpkgs/pkgs/development/python-modules/cufflinks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cufflinks/default.nix
@@ -1,4 +1,4 @@
-{ buildPythonPackage, stdenv, fetchPypi
+{ buildPythonPackage, stdenv, fetchPypi, fetchpatch
 , numpy, pandas, plotly, six, colorlover
 , ipython, ipywidgets, nose
 }:
@@ -17,6 +17,14 @@ buildPythonPackage rec {
     ipython ipywidgets
   ];
 
+  patches = [
+    # Plotly 3.8 compatibility. Remove with the next release. See https://github.com/santosjorge/cufflinks/pull/178
+    (fetchpatch {
+      url = "https://github.com/santosjorge/cufflinks/commit/cc4c23c2b45b870f6801d1cb0312948e1f73f424.patch";
+      sha256 = "1psl2h7vscpzvb4idr6s175v8znl2mfhkcyhb1926p4saswmghw1";
+    })
+  ];
+
   checkInputs = [ nose ];
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/cx_oracle/default.nix b/nixpkgs/pkgs/development/python-modules/cx_oracle/default.nix
index 1976b30cc17e..ca28f231831d 100644
--- a/nixpkgs/pkgs/development/python-modules/cx_oracle/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cx_oracle/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "cx_Oracle";
-  version = "7.1.2";
+  version = "7.1.3";
 
   buildInputs = [ odpic ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7d0e30d6ce62bedd41ae4885d43fff727314b67655ec8737b8af5cc0aad7f925";
+    sha256 = "4f26b7418e2796112f8b36338a2f9a7c07dd08df53d857e3478bb53f61dd52e4";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/development/python-modules/cypari2/default.nix b/nixpkgs/pkgs/development/python-modules/cypari2/default.nix
index a4921b85e370..6c3e20b3f70d 100644
--- a/nixpkgs/pkgs/development/python-modules/cypari2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cypari2/default.nix
@@ -11,11 +11,11 @@
 buildPythonPackage rec {
   pname = "cypari2";
   # upgrade may break sage, please test the sage build or ping @timokau on upgrade
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0bm5jvmwqp48n6b385mw4v7wsws9zk62mgb7xf5ymiq7k6wgvxli";
+    sha256 = "df1ef62e771ec36e5a456f5fc8b51bc6745b70f0efdd0c7a30c3f0b5f1fb93db";
   };
 
   # This differs slightly from the default python installPhase in that it pip-installs
diff --git a/nixpkgs/pkgs/development/python-modules/daphne/default.nix b/nixpkgs/pkgs/development/python-modules/daphne/default.nix
index da85fbb1d9b7..e577617c4780 100644
--- a/nixpkgs/pkgs/development/python-modules/daphne/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/daphne/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub
+{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub, fetchpatch
 , asgiref, autobahn, twisted, pytestrunner
 , hypothesis, pytest, pytest-asyncio
 }:
 buildPythonPackage rec {
   pname = "daphne";
-  version = "2.2.5";
+  version = "2.3.0";
 
   disabled = !isPy3k;
 
@@ -12,9 +12,17 @@ buildPythonPackage rec {
     owner = "django";
     repo = pname;
     rev = version;
-    sha256 = "0ixgq1rr3s60bmrwx8qwvlvs3lag1c2nrmg4iy7wcmb8i1ddylqr";
+    sha256 = "020afrvbnid13gkgjpqznl025zpynisa96kybmf8q7m3wp1iq1nl";
   };
 
+  patches = [
+    # Fix compatibility with Hypothesis 4. See: https://github.com/django/daphne/pull/261
+    (fetchpatch {
+      url = "https://github.com/django/daphne/commit/2df5096c5b63a791c209e12198ad89c998869efd.patch";
+      sha256 = "0046krzcn02mihqmsjd80kk5h5flv44nqxpapa17g6dvq3jnb97n";
+    })
+  ];
+
   nativeBuildInputs = [ pytestrunner ];
 
   propagatedBuildInputs = [ asgiref autobahn twisted ];
diff --git a/nixpkgs/pkgs/development/python-modules/datasette/default.nix b/nixpkgs/pkgs/development/python-modules/datasette/default.nix
new file mode 100644
index 000000000000..f8c66c429fe7
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/datasette/default.nix
@@ -0,0 +1,73 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, click
+, click-default-group
+, sanic
+, jinja2
+, hupper
+, pint
+, pluggy
+, pytest
+, pytestrunner
+, pytest-asyncio
+, aiohttp
+, beautifulsoup4
+}:
+
+buildPythonPackage rec {
+  pname = "datasette";
+  version = "0.27";
+
+  src = fetchFromGitHub {
+    owner = "simonw";
+    repo = "datasette";
+    rev = version;
+    sha256 = "02k1kk6bw034rs74w0viwzapxz684lqgjvw5q5j5xgr0i4kynylp";
+  };
+
+  buildInputs = [ pytestrunner ];
+
+  propagatedBuildInputs = [
+    click
+    click-default-group
+    sanic
+    jinja2
+    hupper
+    pint
+    pluggy
+  ];
+
+  checkInputs = [
+    pytest
+    pytest-asyncio
+    aiohttp
+    beautifulsoup4
+  ];
+
+  postConfigure = ''
+    substituteInPlace setup.py \
+      --replace "click==6.7" "click" \
+      --replace "click-default-group==1.2" "click-default-group" \
+      --replace "Sanic==0.7.0" "Sanic" \
+      --replace "hupper==1.0" "hupper" \
+      --replace "pint==0.8.1" "pint" \
+      --replace "Jinja2==2.10" "Jinja2"
+  '';
+
+  # many tests require network access
+  checkPhase = ''
+    pytest --ignore tests/test_api.py \
+           --ignore tests/test_csv.py \
+           --ignore tests/test_html.py \
+           --ignore tests/test_publish_heroku.py
+  '';
+
+  meta = with lib; {
+    description = "An instant JSON API for your SQLite databases";
+    homepage = https://github.com/simonw/datasette;
+    license = licenses.asl20;
+    maintainers = [ maintainers.costrouc ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/python-modules/distributed/default.nix b/nixpkgs/pkgs/development/python-modules/distributed/default.nix
index 25beee94e105..ae309b49ccc5 100644
--- a/nixpkgs/pkgs/development/python-modules/distributed/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/distributed/default.nix
@@ -28,12 +28,12 @@
 
 buildPythonPackage rec {
   pname = "distributed";
-  version = "1.26.1";
+  version = "1.27.1";
 
   # get full repository need conftest.py to run tests
   src = fetchPypi {
     inherit pname version;
-    sha256 = "768d9cbd91a7df4a2e391729ec00e387d98e8092d61d076b2272839eb12666f7";
+    sha256 = "117q16ha03m8y9ydxg5svwx2cv1r2703hcy4a0zgjh5nhx4rfhiy";
   };
 
   checkInputs = [ pytest pytest-repeat pytest-faulthandler pytest-timeout mock joblib ];
diff --git a/nixpkgs/pkgs/development/python-modules/django-allauth/default.nix b/nixpkgs/pkgs/development/python-modules/django-allauth/default.nix
index 331aa46acd0b..50922ccded20 100644
--- a/nixpkgs/pkgs/development/python-modules/django-allauth/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-allauth/default.nix
@@ -3,14 +3,14 @@
 
 buildPythonPackage rec {
   pname = "django-allauth";
-  version = "0.38.0";
+  version = "0.39.1";
 
   # no tests on PyPI
   src = fetchFromGitHub {
     owner = "pennersr";
     repo = pname;
     rev = version;
-    sha256 = "17ch8lvq47arkgvwz2fdc89lwvgphsnmjs6wwf5g1m50xclljwmq";
+    sha256 = "1kplkanhj26z3i6p0l1r5lczha4pavcx96vj3kpcp1rvyk1v0f7r";
   };
 
   propagatedBuildInputs = [ requests requests_oauthlib django python3-openid ];
diff --git a/nixpkgs/pkgs/development/python-modules/django_guardian/default.nix b/nixpkgs/pkgs/development/python-modules/django_guardian/default.nix
index 90b81c8379e2..11ad13cb4a1a 100644
--- a/nixpkgs/pkgs/development/python-modules/django_guardian/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django_guardian/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPy3k
+{ stdenv, buildPythonPackage, fetchPypi
 , django_environ, mock, django, six
 , pytest, pytestrunner, pytest-django
 }:
 buildPythonPackage rec {
   pname = "django-guardian";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9e144bbdfa67f523dc6f70768653a19c0aac29394f947a80dcb8eb7900840637";
+    sha256 = "0fixr2g5amdgqzh0rvfvd7hbxyfd5ra3y3s0fsmp8i1b68p97930";
   };
 
   checkInputs = [ pytest pytestrunner pytest-django django_environ mock ];
@@ -18,6 +18,5 @@ buildPythonPackage rec {
     description = "Per object permissions for Django";
     homepage = https://github.com/django-guardian/django-guardian;
     license = [ licenses.mit licenses.bsd2 ];
-    broken = !isPy3k; # https://github.com/django-guardian/django-guardian/pull/605
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/django_modelcluster/default.nix b/nixpkgs/pkgs/development/python-modules/django_modelcluster/default.nix
index 7f89335c1922..479e66289e64 100644
--- a/nixpkgs/pkgs/development/python-modules/django_modelcluster/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django_modelcluster/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "django-modelcluster";
-  version = "4.3";
+  version = "4.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "407845f0c16b6f17547a65864657377446e0b3aa8a629b032bf5053f87f82fe9";
+    sha256 = "02mrs7aapabapfh7h7n71s8r7zxkmad3yk4rdyfwcf0x36326rsr";
   };
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/django_silk/default.nix b/nixpkgs/pkgs/development/python-modules/django_silk/default.nix
index aa4e9fb778f1..e8c44efdc409 100644
--- a/nixpkgs/pkgs/development/python-modules/django_silk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django_silk/default.nix
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "django-silk";
-  version = "3.0.1";
+  version = "3.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bce0e35d2a6ec3688a0c062c6964695beef4a452be48085f2c1e25f685652d9d";
+    sha256 = "8dd5b78531360bd8c3d571384f9f4f82ef03e1764e30dd4621c5638f5c973a1d";
   };
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/djangoql/default.nix b/nixpkgs/pkgs/development/python-modules/djangoql/default.nix
new file mode 100644
index 000000000000..98f9c04c09fc
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/djangoql/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildPythonPackage, fetchPypi, python
+, django, ply }:
+
+buildPythonPackage rec {
+  pname = "djangoql";
+  version = "0.12.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1mwv1ljznj9mn74ncvcyfmj6ygs8xm2rajpxm88gcac9hhdmk5gs";
+  };
+
+  propagatedBuildInputs = [ ply ];
+
+  checkInputs = [ django ];
+
+  checkPhase = ''
+    export PYTHONPATH=test_project:$PYTHONPATH
+    ${python.executable} test_project/manage.py test core.tests
+  '';
+
+  meta = with lib; {
+    description = "Advanced search language for Django";
+    homepage = https://github.com/ivelum/djangoql;
+    license = licenses.mit;
+    maintainers = with maintainers; [ earvstedt ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ecdsa/default.nix b/nixpkgs/pkgs/development/python-modules/ecdsa/default.nix
index 9b12119b9e9a..95e1835198e0 100644
--- a/nixpkgs/pkgs/development/python-modules/ecdsa/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ecdsa/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "ecdsa";
-  version = "0.13";
+  version = "0.13.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1yj31j0asmrx4an9xvsaj2icdmzy6pw0glfpqrrkrphwdpi1xkv4";
+    sha256 = "5c034ffa23413ac923541ceb3ac14ec15a0d2530690413bff58c12b80e56d884";
   };
 
   # Only needed for tests
diff --git a/nixpkgs/pkgs/development/python-modules/faker/default.nix b/nixpkgs/pkgs/development/python-modules/faker/default.nix
index 1828fb49de28..b79999bba41f 100644
--- a/nixpkgs/pkgs/development/python-modules/faker/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/faker/default.nix
@@ -1,8 +1,16 @@
 { lib, buildPythonPackage, fetchPypi, pythonOlder,
   # Build inputs
-  dateutil, six, text-unidecode, ipaddress ? null,
+  dateutil, six, text-unidecode, ipaddress ? null
   # Test inputs
-  email_validator, mock, ukpostcodeparser, pytestrunner, pytest}:
+  , email_validator
+  , freezegun
+  , mock
+  , more-itertools
+  , pytest
+  , pytestrunner
+  , random2
+  , ukpostcodeparser
+}:
 
 assert pythonOlder "3.3" -> ipaddress != null;
 
@@ -18,9 +26,12 @@ buildPythonPackage rec {
   buildInputs = [ pytestrunner ];
   checkInputs = [
     email_validator
+    freezegun
     mock
-    ukpostcodeparser
+    more-itertools
     pytest
+    random2
+    ukpostcodeparser
   ];
 
   propagatedBuildInputs = [
@@ -30,8 +41,11 @@ buildPythonPackage rec {
   ] ++ lib.optional (pythonOlder "3.3") ipaddress;
 
   postPatch = ''
-    find tests -type d -name "__pycache__" | xargs rm -r
     substituteInPlace setup.py --replace "pytest>=3.8.0,<3.9" "pytest"
+
+    # see https://github.com/joke2k/faker/pull/911, fine since we pin correct
+    # versions for python2
+    substituteInPlace setup.py --replace "more-itertools<6.0.0" "more-itertools"
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/fastpair/default.nix b/nixpkgs/pkgs/development/python-modules/fastpair/default.nix
index f065bc6ac77f..090f9dd82601 100644
--- a/nixpkgs/pkgs/development/python-modules/fastpair/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fastpair/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchFromGitHub, pytestrunner, pytest, scipy }:
+{ stdenv, buildPythonPackage, fetchFromGitHub, pytestrunner, pytest_3, scipy }:
 
 buildPythonPackage {
   pname = "fastpair";
@@ -11,16 +11,16 @@ buildPythonPackage {
     sha256 = "1pv9sxycxdk567s5gs947rhlqngrb9nn9yh4dhdvg1ix1i8dca71";
   };
 
-  buildInputs = [ pytestrunner ];
+  nativeBuildInputs = [ (pytestrunner.override { pytest = pytest_3; }) ];
 
-  checkInputs = [ pytest ];
+  checkInputs = [ pytest_3 ];
 
   propagatedBuildInputs = [
     scipy
   ];
 
   checkPhase = ''
-    py.test fastpair
+    pytest fastpair
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/filemagic/default.nix b/nixpkgs/pkgs/development/python-modules/filemagic/default.nix
new file mode 100644
index 000000000000..731b83294a8f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/filemagic/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, lib, buildPythonPackage, fetchFromGitHub, file
+, isPy3k, mock, unittest2 }:
+
+buildPythonPackage rec {
+  pname = "filemagic";
+  version = "1.6";
+
+  # Don't use the PyPI source because it's missing files required for testing
+  src = fetchFromGitHub {
+    owner = "aliles";
+    repo = "filemagic";
+    rev = "138649062f769fb10c256e454a3e94ecfbf3017b";
+    sha256 = "1jxf928jjl2v6zv8kdnfqvywdwql1zqkm1v5xn1d5w0qjcg38d4n";
+  };
+
+  postPatch = ''
+    substituteInPlace magic/api.py --replace "ctypes.util.find_library('magic')" \
+      "'${file}/lib/libmagic${stdenv.hostPlatform.extensions.sharedLibrary}'"
+  '';
+
+  checkInputs = [ (if isPy3k then mock else unittest2) ];
+
+  meta = with lib; {
+    description = "File type identification using libmagic";
+    homepage = https://github.com/aliles/filemagic;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ earvstedt ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/fonttools/default.nix b/nixpkgs/pkgs/development/python-modules/fonttools/default.nix
index 2db42395186b..7efe996ddf8d 100644
--- a/nixpkgs/pkgs/development/python-modules/fonttools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fonttools/default.nix
@@ -1,4 +1,5 @@
-{ buildPythonPackage
+{ lib
+, buildPythonPackage
 , fetchPypi
 , numpy
 , pytest
@@ -8,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "fonttools";
-  version = "3.39.0";
+  version = "3.41.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0hgv83b4nhk2bl33xa41x0xvsl2b138p974ywkglzckp1123a7z2";
+    sha256 = "1f3q9sadwy6krsjicrgjsl1w2dfd97j4l645lnl1f5y3y1jkj4fh";
     extension = "zip";
   };
 
@@ -33,5 +34,6 @@ buildPythonPackage rec {
   meta = {
     homepage = https://github.com/fonttools/fonttools;
     description = "A library to manipulate font files from Python";
+    license = lib.licenses.mit;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/fs/default.nix b/nixpkgs/pkgs/development/python-modules/fs/default.nix
index d53556f0d07a..89e7647aa040 100644
--- a/nixpkgs/pkgs/development/python-modules/fs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fs/default.nix
@@ -19,11 +19,11 @@
 
 buildPythonPackage rec {
   pname = "fs";
-  version = "2.4.4";
+  version = "2.4.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0krf632nz24v2da7g9xivq6l2w9za3vph4vix7mm1k3byzwjnawk";
+    sha256 = "1gv23ns9szdh1dgqzvc0r94qrv8fpjqj0xv99sniy2x3rxs2n0j2";
   };
 
   buildInputs = [ glibcLocales ];
diff --git a/nixpkgs/pkgs/development/python-modules/funcsigs/default.nix b/nixpkgs/pkgs/development/python-modules/funcsigs/default.nix
index 155f866412e5..1a6786c700d8 100644
--- a/nixpkgs/pkgs/development/python-modules/funcsigs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/funcsigs/default.nix
@@ -1,5 +1,6 @@
 { stdenv, buildPythonPackage, fetchPypi
-, unittest2 }:
+, isPyPy, isPy3k, unittest2
+}:
 
 buildPythonPackage rec {
   pname = "funcsigs";
@@ -12,6 +13,9 @@ buildPythonPackage rec {
 
   buildInputs = [ unittest2 ];
 
+  # https://github.com/testing-cabal/funcsigs/issues/10
+  patches = stdenv.lib.optional (isPyPy && isPy3k) [ ./fix-pypy3-tests.patch ];
+
   meta = with stdenv.lib; {
     description = "Python function signatures from PEP362 for Python 2.6, 2.7 and 3.2+";
     homepage = https://github.com/aliles/funcsigs;
diff --git a/nixpkgs/pkgs/development/python-modules/funcsigs/fix-pypy3-tests.patch b/nixpkgs/pkgs/development/python-modules/funcsigs/fix-pypy3-tests.patch
new file mode 100644
index 000000000000..f4ecec3b6137
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/funcsigs/fix-pypy3-tests.patch
@@ -0,0 +1,94 @@
+diff --git a/tests/test_inspect.py b/tests/test_inspect.py
+index 98d6592..3a2a1f2 100644
+--- a/tests/test_inspect.py
++++ b/tests/test_inspect.py
+@@ -8,6 +8,7 @@ import unittest2 as unittest
+ 
+ import funcsigs as inspect
+ 
++import platform
+ 
+ class TestSignatureObject(unittest.TestCase):
+     @staticmethod
+@@ -409,7 +410,7 @@ def test_signature_on_decorated(self):
+                       Ellipsis))
+ """)
+ 
+-    if sys.version_info[0] > 2:
++    if sys.version_info[0] > 2 and platform.python_implementation() != "PyPy":
+         exec("""
+ def test_signature_on_class(self):
+     class C:
+@@ -493,41 +494,44 @@ def test_signature_on_class(self):
+                       Ellipsis))
+ """)
+ 
+-    def test_signature_on_callable_objects(self):
+-        class Foo(object):
+-            def __call__(self, a):
+-                pass
++    if platform.python_implementation() != "PyPy":
++        exec("""
++def test_signature_on_callable_objects(self):
++    class Foo(object):
++        def __call__(self, a):
++            pass
+ 
+-        self.assertEqual(self.signature(Foo()),
+-                         ((('a', Ellipsis, Ellipsis, "positional_or_keyword"),),
+-                          Ellipsis))
++    self.assertEqual(self.signature(Foo()),
++                     ((('a', Ellipsis, Ellipsis, "positional_or_keyword"),),
++                      Ellipsis))
+ 
+-        class Spam(object):
+-            pass
+-        with self.assertRaisesRegex(TypeError, "is not a callable object"):
+-            inspect.signature(Spam())
++    class Spam(object):
++        pass
++    with self.assertRaisesRegex(TypeError, "is not a callable object"):
++        inspect.signature(Spam())
+ 
+-        class Bar(Spam, Foo):
+-            pass
++    class Bar(Spam, Foo):
++        pass
+ 
+-        self.assertEqual(self.signature(Bar()),
+-                         ((('a', Ellipsis, Ellipsis, "positional_or_keyword"),),
+-                          Ellipsis))
++    self.assertEqual(self.signature(Bar()),
++                     ((('a', Ellipsis, Ellipsis, "positional_or_keyword"),),
++                      Ellipsis))
+ 
+-        class ToFail(object):
+-            __call__ = type
+-        with self.assertRaisesRegex(ValueError, "not supported by signature"):
+-            inspect.signature(ToFail())
++    class ToFail(object):
++        __call__ = type
++    with self.assertRaisesRegex(ValueError, "not supported by signature"):
++        inspect.signature(ToFail())
+ 
+-        if sys.version_info[0] < 3:
+-            return
++    if sys.version_info[0] < 3:
++        return
+ 
+-        class Wrapped(object):
+-            pass
+-        Wrapped.__wrapped__ = lambda a: None
+-        self.assertEqual(self.signature(Wrapped),
+-                         ((('a', Ellipsis, Ellipsis, "positional_or_keyword"),),
+-                          Ellipsis))
++    class Wrapped(object):
++        pass
++    Wrapped.__wrapped__ = lambda a: None
++    self.assertEqual(self.signature(Wrapped),
++                     ((('a', Ellipsis, Ellipsis, "positional_or_keyword"),),
++                      Ellipsis))
++""")
+ 
+     def test_signature_on_lambdas(self):
+         self.assertEqual(self.signature((lambda a=10: a)),
diff --git a/nixpkgs/pkgs/development/python-modules/genanki/default.nix b/nixpkgs/pkgs/development/python-modules/genanki/default.nix
index af2f99289a30..a39d3e58733e 100644
--- a/nixpkgs/pkgs/development/python-modules/genanki/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/genanki/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "genanki";
-  version = "0.6.3";
+  version = "0.6.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2408f7d9955c8963fd9b1ecbb873f5d18dee786e060dcb083aef5dd86c736773";
+    sha256 = "6d17761e06aca2d9acb588acfdce33fd3d05571338825760622c99fc7210f15a";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/gensim/default.nix b/nixpkgs/pkgs/development/python-modules/gensim/default.nix
index 2bd1bfce6f95..93e52c51dda3 100644
--- a/nixpkgs/pkgs/development/python-modules/gensim/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gensim/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "gensim";
-  version = "3.7.2";
+  version = "3.7.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1la4y935sdah8ywa7krwy80hcl4n2k8cdx4ncy3dg3y2mdg3vq24";
+    sha256 = "0mp1hbj7ciwpair7z445zj1grfv8c75gby9lih01c3mvw4pff7v2";
   };
 
   propagatedBuildInputs = [ smart_open numpy six scipy ];
diff --git a/nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix b/nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix
index eebf2794d4b2..178aa75d604f 100644
--- a/nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "GeoAlchemy2";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0bzm9zgz2gfy6smlvdgxnf6y14rfhr4vj3mjfwlxdx2vcfc95hqa";
+    sha256 = "1h04qqdzyflprgf93ihn707brx61f3my5bfdqkwllhwxvr935jyb";
   };
 
   propagatedBuildInputs = [ sqlalchemy shapely ];
diff --git a/nixpkgs/pkgs/development/python-modules/geopandas/default.nix b/nixpkgs/pkgs/development/python-modules/geopandas/default.nix
index 38a3724f00a2..25a5e7e3ed5d 100644
--- a/nixpkgs/pkgs/development/python-modules/geopandas/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/geopandas/default.nix
@@ -4,14 +4,14 @@
 
 buildPythonPackage rec {
   pname = "geopandas";
-  version = "0.4.1";
+  version = "0.5.0";
   name = pname + "-" + version;
 
   src = fetchFromGitHub {
     owner = "geopandas";
     repo = "geopandas";
     rev = "v${version}";
-    sha256 = "02v3lszxvhpsb0qrqk0kcnf9jss9gdj8az2r97aqx7ya8cwaccxa";
+    sha256 = "0gmqksjgxrng52jvjk0ylkpsg0qriygb10b7n80l28kdz6c0givj";
   };
 
   checkInputs = [ pytest Rtree ];
diff --git a/nixpkgs/pkgs/development/python-modules/google_cloud_speech/default.nix b/nixpkgs/pkgs/development/python-modules/google_cloud_speech/default.nix
index 81576ad8cc12..5fb1cb653204 100644
--- a/nixpkgs/pkgs/development/python-modules/google_cloud_speech/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google_cloud_speech/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-speech";
-  version = "0.36.3";
+  version = "1.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3d77da6086c01375908c8b800808ff83748a34b98313f885bd86df95448304fc";
+    sha256 = "1d0ysapqrcwcyiil7nyh8vbj4i6hk9v23rrm4rdhgm0lwax7i0aj";
   };
 
   propagatedBuildInputs = [ google_api_core ];
diff --git a/nixpkgs/pkgs/development/python-modules/gsd/default.nix b/nixpkgs/pkgs/development/python-modules/gsd/default.nix
index 07fca0d2404c..38826a9b3f29 100644
--- a/nixpkgs/pkgs/development/python-modules/gsd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gsd/default.nix
@@ -5,12 +5,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.6.1";
+  version = "1.6.2";
   pname = "gsd";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "18icw5cbsq4gnhx4vsjwhxzcx11mbnz6kmwgrylkf82m7m1v2921";
+    sha256 = "58a6669f2375936810d74c3ee7e62c5616acf9e15aa32603701e55ab6fada5f5";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/nixpkgs/pkgs/development/python-modules/holoviews/default.nix b/nixpkgs/pkgs/development/python-modules/holoviews/default.nix
index 1de465cfec09..405b66ce724b 100644
--- a/nixpkgs/pkgs/development/python-modules/holoviews/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/holoviews/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "holoviews";
-  version = "1.11.3";
+  version = "1.12.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cb03053bfcb96ccef181405b6d3482a5b868f0c7fbaa68b52d25e0071dafd1bc";
+    sha256 = "0i4lfnajz685hlp9m0bjn7s279bv6mm5118b1qmldzqdnvw4s032";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/httplib2/default.nix b/nixpkgs/pkgs/development/python-modules/httplib2/default.nix
index ab9e65d78cb0..c37c4b135623 100644
--- a/nixpkgs/pkgs/development/python-modules/httplib2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/httplib2/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "httplib2";
-  version = "0.12.1";
+  version = "0.12.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4ba6b8fd77d0038769bf3c33c9a96a6f752bc4cdf739701fdcaf210121f399d4";
+    sha256 = "a18121c7c72a56689efbf1aef990139ad940fee1e64c6f2458831736cd593600";
   };
 
   # Needs setting up
diff --git a/nixpkgs/pkgs/development/python-modules/httpretty/default.nix b/nixpkgs/pkgs/development/python-modules/httpretty/default.nix
index 1bcf892cbf47..0f61fd6d516b 100644
--- a/nixpkgs/pkgs/development/python-modules/httpretty/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/httpretty/default.nix
@@ -6,6 +6,7 @@
 , httplib2
 , sure
 , nose
+, nose-exclude
 , coverage
 , certifi
 , urllib3
@@ -24,18 +25,20 @@ buildPythonPackage rec {
     sha256 = "01b52d45077e702eda491f4fe75328d3468fd886aed5dcc530003e7b2b5939dc";
   };
 
+  propagatedBuildInputs = [ six ];
+
   checkInputs = [ nose sure coverage mock rednose
-  # Following not declared in setup.py
-    nose-randomly requests tornado httplib2
+    # Following not declared in setup.py
+    nose-randomly requests tornado httplib2 nose-exclude
   ];
-  propagatedBuildInputs = [ six ];
 
   __darwinAllowLocalNetworking = true;
 
+  NOSE_EXCLUDE = stdenv.lib.optionalString (stdenv.isAarch64) "tests.functional.test_httplib2.test_callback_response";
+
   meta = with stdenv.lib; {
-    homepage = "https://falcao.it/HTTPretty/";
+    homepage = "https://httpretty.readthedocs.org/";
     description = "HTTP client request mocking tool";
     license = licenses.mit;
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/httptools/default.nix b/nixpkgs/pkgs/development/python-modules/httptools/default.nix
new file mode 100644
index 000000000000..fc83675fd657
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/httptools/default.nix
@@ -0,0 +1,21 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "httptools";
+  version = "0.0.13";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "e00cbd7ba01ff748e494248183abc6e153f49181169d8a3d41bb49132ca01dfc";
+  };
+
+  meta = with lib; {
+    description = "A collection of framework independent HTTP protocol utils";
+    homepage = https://github.com/MagicStack/httptools;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/i3ipc/default.nix b/nixpkgs/pkgs/development/python-modules/i3ipc/default.nix
index cf206472cd3b..482a51a099ec 100644
--- a/nixpkgs/pkgs/development/python-modules/i3ipc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/i3ipc/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "i3ipc";
-  version = "1.5.1";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner  = "acrisci";
     repo   = "i3ipc-python";
     rev    = "v${version}";
-    sha256 = "06d7g4d7cnh0vp5diavy3x9wz1w5nwdrb7ipc4g1c3a2wc78862d";
+    sha256 = "0sb525wvwcnikjaqzha94xr97r1gjys30csmaj17swlxgyczxvq5";
   };
 
   propagatedBuildInputs = [ enum-compat ];
@@ -21,7 +21,7 @@ buildPythonPackage rec {
   checkPhase = ''${python.interpreter} run-tests.py'';
 
   meta = with stdenv.lib; {
-    description = "An improved Python library to control i3wm";
+    description = "An improved Python library to control i3wm and sway";
     homepage    = https://github.com/acrisci/i3ipc-python;
     license     = licenses.bsd3;
     maintainers = with maintainers; [ vanzef ];
diff --git a/nixpkgs/pkgs/development/python-modules/imread/default.nix b/nixpkgs/pkgs/development/python-modules/imread/default.nix
index d65010732ca5..0711283a1b83 100644
--- a/nixpkgs/pkgs/development/python-modules/imread/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/imread/default.nix
@@ -1,22 +1,28 @@
 { stdenv
 , buildPythonPackage
-, fetchurl
+, fetchPypi
 , nose
-, pkgs
+, pkgconfig
+, libjpeg
+, libpng
+, libtiff
+, libwebp
 , numpy
 }:
 
 buildPythonPackage rec {
   pname = "python-imread";
-  version = "0.6";
+  version = "0.7.0";
 
-  src = pkgs.fetchurl {
-    url = "https://github.com/luispedro/imread/archive/release-${version}.tar.gz";
-    sha256 = "0i14bc67200zhzxc41g5dfp2m0pr1zaa2gv59p2va1xw0ji2dc0f";
+  src = fetchPypi {
+    inherit version;
+    pname = "imread";
+    sha256 = "0yb0fmy6ilh5fvbk69wl2bzqgss2g0951668mx8z9yyj4jhr1z2y";
   };
 
-  nativeBuildInputs = [ pkgs.pkgconfig ];
-  buildInputs = [ nose pkgs.libjpeg pkgs.libpng pkgs.libtiff pkgs.libwebp ];
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ nose libjpeg libpng libtiff libwebp ];
   propagatedBuildInputs = [ numpy ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/inotify-simple/default.nix b/nixpkgs/pkgs/development/python-modules/inotify-simple/default.nix
new file mode 100644
index 000000000000..2d5e9d780945
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/inotify-simple/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "inotify-simple";
+  version = "1.1.8";
+
+  src = fetchPypi {
+    pname = "inotify_simple";
+    inherit version;
+    sha256 = "1pfqvnynwh318cakldhg7535kbs02asjsgv6s0ki12i7fgfi0b7w";
+  };
+
+  # The package has no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A simple Python wrapper around inotify";
+    homepage = https://github.com/chrisjbillington/inotify_simple;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ earvstedt ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/j2cli/default.nix b/nixpkgs/pkgs/development/python-modules/j2cli/default.nix
index 163dbba07f79..0b3d1981dc68 100644
--- a/nixpkgs/pkgs/development/python-modules/j2cli/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/j2cli/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "j2cli";
-  version = "0.3.6.post1";
+  version = "0.3.8";
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1j8s09b75w041b2lawjz341ri997n9fnxbd2ipm9czxj6fhj8hi2";
+    sha256 = "1f1a5fzap4ji5l7x8bprrgcpy1071lpa9g5h8jz7iqzgqynkaygi";
   };
 
   buildInputs = [ nose ];
diff --git a/nixpkgs/pkgs/development/python-modules/jdcal/default.nix b/nixpkgs/pkgs/development/python-modules/jdcal/default.nix
index 7b235b446391..4fd89c83abc5 100644
--- a/nixpkgs/pkgs/development/python-modules/jdcal/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jdcal/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "jdcal";
-  version = "1.4";
+  version = "1.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ea0a5067c5f0f50ad4c7bdc80abad3d976604f6fb026b0b3a17a9d84bb9046c9";
+    sha256 = "472872e096eb8df219c23f2689fc336668bdb43d194094b5cc1707e1640acfc8";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/jinja2/default.nix b/nixpkgs/pkgs/development/python-modules/jinja2/default.nix
index 52827f0a23ca..797c72546c71 100644
--- a/nixpkgs/pkgs/development/python-modules/jinja2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jinja2/default.nix
@@ -17,9 +17,6 @@ buildPythonPackage rec {
     pytest -v tests
   '';
 
-  # RecursionError: maximum recursion depth exceeded
-  doCheck = false;
-
   meta = with stdenv.lib; {
     homepage = http://jinja.pocoo.org/;
     description = "Stand-alone template engine";
diff --git a/nixpkgs/pkgs/development/python-modules/junos-eznc/default.nix b/nixpkgs/pkgs/development/python-modules/junos-eznc/default.nix
index a365f6001407..6970efd0914a 100644
--- a/nixpkgs/pkgs/development/python-modules/junos-eznc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/junos-eznc/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "junos-eznc";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d97d8babf650abca25a096825aa6d88573d340481a0b0793afcdac4a7bee09d3";
+    sha256 = "0133a10ba3d46ddf70f0ba6620aa3b92e5533f08c57edd000dbffd8fe60d586d";
   };
 
 
diff --git a/nixpkgs/pkgs/development/python-modules/kubernetes/default.nix b/nixpkgs/pkgs/development/python-modules/kubernetes/default.nix
index 51e387270be6..e154c5c9c0ee 100644
--- a/nixpkgs/pkgs/development/python-modules/kubernetes/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/kubernetes/default.nix
@@ -4,7 +4,7 @@
 
 buildPythonPackage rec {
   pname = "kubernetes";
-  version = "8.0.1";
+  version = "9.0.0";
 
   prePatch = ''
     sed -e 's/sphinx>=1.2.1,!=1.3b1,<1.4 # BSD/sphinx/' -i test-requirements.txt
@@ -23,7 +23,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0y0aygnd7kpflwdm3zxrmsgws0frk4qwq3lnq92zsiyxcxh8r4i5";
+    sha256 = "1gz3sk4s0gx68xpxjwzp9n2shlxfa9d5j4h7cvmglim9bgasxc58";
   };
 
   checkInputs = [ isort coverage pytest mock sphinx autopep8 pep8 codecov recommonmark nose ];
diff --git a/nixpkgs/pkgs/development/python-modules/langdetect/default.nix b/nixpkgs/pkgs/development/python-modules/langdetect/default.nix
new file mode 100644
index 000000000000..dcd90dd89bdd
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/langdetect/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildPythonPackage, fetchPypi, six }:
+
+buildPythonPackage rec {
+  pname = "langdetect";
+  version = "1.0.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "0c5zm6c7xzsigbb9c7v4r33fcpz911zscfwvh3dq1qxdy3ap18ci";
+  };
+
+  propagatedBuildInputs = [ six ];
+
+  meta = with lib; {
+    description = "Python port of Google's language-detection library";
+    homepage = https://github.com/Mimino666/langdetect;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ earvstedt ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/lark-parser/default.nix b/nixpkgs/pkgs/development/python-modules/lark-parser/default.nix
index 3dedc3b06d88..33965221cec7 100644
--- a/nixpkgs/pkgs/development/python-modules/lark-parser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lark-parser/default.nix
@@ -6,21 +6,20 @@
 
 buildPythonPackage rec {
   pname = "lark-parser";
-  version = "0.6.6";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "lark-parser";
     repo = "lark";
     rev = version;
-    sha256 = "0kaiw8zzzcp92p6mzm9zkyhv578p0x4lzjsyl8b4rnsafplmbscs";
+    sha256 = "1zynj09w361yvbxr4hir681dfnlq1hzniws9dzgmlkvd6jnhjgx3";
   };
 
-  checkPhase = ''
-    ${python.interpreter} -m unittest
+  # tests of Nearley support require js2py
+  preCheck = ''
+    rm -r tests/test_nearley
   '';
 
-  doCheck = false; # Requires js2py
-
   meta = {
     description = "A modern parsing library for Python, implementing Earley & LALR(1) and an easy interface";
     homepage = https://github.com/lark-parser/lark;
diff --git a/nixpkgs/pkgs/development/python-modules/latexcodec/default.nix b/nixpkgs/pkgs/development/python-modules/latexcodec/default.nix
index 785d9f1aa3ae..2873c8f96220 100644
--- a/nixpkgs/pkgs/development/python-modules/latexcodec/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/latexcodec/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "latexcodec";
-  version = "1.0.6";
+  version = "1.0.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0s4wdbg0w2l8pj3i0y4510i0s04p8nhxcsa2z41bjsv0k66npb81";
+    sha256 = "0wnp3yqcgx0rpy8dz51vh75lbp2qif67da19zi7m3ca98n887hgb";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/nixpkgs/pkgs/development/python-modules/leveldb/default.nix b/nixpkgs/pkgs/development/python-modules/leveldb/default.nix
new file mode 100644
index 000000000000..4d6336ce7573
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/leveldb/default.nix
@@ -0,0 +1,19 @@
+{ lib, fetchPypi, buildPythonPackage }:
+
+buildPythonPackage rec {
+  pname = "leveldb";
+  version = "0.194";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0f6d1y65k6miimic82n8zsx50z9k982mvzp90crwcv1knjrphcww";
+  };
+
+  meta = with lib; {
+    homepage = "https://code.google.com/archive/p/py-leveldb/";
+    description = "Thread-safe Python bindings for LevelDB";
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    license = licenses.bsd3;
+    maintainers = [ maintainers.aanderse ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/matplotlib/2.nix b/nixpkgs/pkgs/development/python-modules/matplotlib/2.nix
index 810f37b4b136..5a45b02a240b 100644
--- a/nixpkgs/pkgs/development/python-modules/matplotlib/2.nix
+++ b/nixpkgs/pkgs/development/python-modules/matplotlib/2.nix
@@ -60,7 +60,7 @@ buildPythonPackage rec {
       url = "https://github.com/matplotlib/matplotlib/commit/2980184d092382a40ab21f95b79582ffae6e19d6.patch";
       sha256 = "1c0wj28zy8s5h6qiavx9zzbhlmhjwpzbc3fyyw9039mbnqk0spg2";
     })
-  ] ++ stdenv.lib.optionals stdenv.isDarwin [ ./darwin-stdenv-2.2.3.patch ];
+  ];
 
   # Matplotlib tries to find Tcl/Tk by opening a Tk window and asking the
   # corresponding interpreter object for its library paths. This fails if
diff --git a/nixpkgs/pkgs/development/python-modules/matplotlib/darwin-stdenv-2.2.3.patch b/nixpkgs/pkgs/development/python-modules/matplotlib/darwin-stdenv-2.2.3.patch
deleted file mode 100644
index ca399b4e6841..000000000000
--- a/nixpkgs/pkgs/development/python-modules/matplotlib/darwin-stdenv-2.2.3.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/src/_macosx.m	2015-10-30 00:46:20.000000000 +0200
-+++ b/src/_macosx.m	2015-11-01 14:52:25.000000000 +0200
-@@ -6264,6 +6264,7 @@
- 
- static bool verify_framework(void)
- {
-+    return true;  /* nixpkgs darwin stdenv */
- #ifdef COMPILING_FOR_10_6
-     NSRunningApplication* app = [NSRunningApplication currentApplication];
-     NSApplicationActivationPolicy activationPolicy = [app activationPolicy];
diff --git a/nixpkgs/pkgs/development/python-modules/matplotlib/darwin-stdenv.patch b/nixpkgs/pkgs/development/python-modules/matplotlib/darwin-stdenv.patch
deleted file mode 100644
index 27ed8fc9f964..000000000000
--- a/nixpkgs/pkgs/development/python-modules/matplotlib/darwin-stdenv.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ruN matplotlib-3.0.0/src/_macosx.m matplotlib-3.0.0.patched/src/_macosx.m
---- matplotlib-3.0.0/src/_macosx.m	2018-09-16 00:35:21.000000000 +0200
-+++ matplotlib-3.0.0.patched/src/_macosx.m	2018-11-03 13:14:33.000000000 +0100
-@@ -2577,6 +2577,7 @@
- 
- static bool verify_framework(void)
- {
-+    return true;  /* nixpkgs darwin stdenv */
-     ProcessSerialNumber psn;
-     /* These methods are deprecated, but they don't require the app to
-        have started  */
-
diff --git a/nixpkgs/pkgs/development/python-modules/matplotlib/default.nix b/nixpkgs/pkgs/development/python-modules/matplotlib/default.nix
index d3ea365082cd..cbdd43af811f 100644
--- a/nixpkgs/pkgs/development/python-modules/matplotlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/matplotlib/default.nix
@@ -52,8 +52,7 @@ buildPythonPackage rec {
     ++ stdenv.lib.optionals enableQt [ pyqt4 ];
 
   patches =
-    [ ./basedirlist.patch ] ++
-    stdenv.lib.optionals stdenv.isDarwin [ ./darwin-stdenv.patch ];
+    [ ./basedirlist.patch ];
 
   # Matplotlib tries to find Tcl/Tk by opening a Tk window and asking the
   # corresponding interpreter object for its library paths. This fails if
diff --git a/nixpkgs/pkgs/development/python-modules/mecab-python3/default.nix b/nixpkgs/pkgs/development/python-modules/mecab-python3/default.nix
index c68fb90952e5..4a6f6b0c4dd1 100644
--- a/nixpkgs/pkgs/development/python-modules/mecab-python3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mecab-python3/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "mecab-python3";
-  version = "0.996.1";
+  version = "0.996.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5aca4d0d196161e41452b89921042c0e61a6b7e7e9373211c0c1c50d1809055d";
+    sha256 = "a80383fba343dad247b486a9afa486b7f0ec6244cb8bbf2d6a24d2fab5f19180";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/moto/default.nix b/nixpkgs/pkgs/development/python-modules/moto/default.nix
index 024a4a4c896c..c8f1a0cbd086 100644
--- a/nixpkgs/pkgs/development/python-modules/moto/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/moto/default.nix
@@ -1,14 +1,14 @@
-{ buildPythonPackage, fetchPypi, jinja2, werkzeug, flask
+{ buildPythonPackage, fetchPypi, jinja2, werkzeug, flask, cfn-lint
 , requests, pytz, backports_tempfile, cookies, jsondiff, botocore, aws-xray-sdk, docker, responses
 , six, boto, httpretty, xmltodict, nose, sure, boto3, freezegun, dateutil, mock, pyaml, python-jose }:
 
 buildPythonPackage rec {
   pname = "moto";
-  version = "1.3.7";
+  version = "1.3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "129de2e04cb250d9f8b2c722ec152ed1b5426ef179b4ebb03e9ec36e6eb3fcc5";
+    sha256 = "9cb02134148fbe3ed81f11d6ab9bd71bbd6bc2db7e59a45de77fb1d0fedb744e";
   };
 
   postPatch = ''
@@ -24,6 +24,7 @@ buildPythonPackage rec {
     aws-xray-sdk
     boto
     boto3
+    cfn-lint
     dateutil
     flask
     httpretty
diff --git a/nixpkgs/pkgs/development/python-modules/nameparser/default.nix b/nixpkgs/pkgs/development/python-modules/nameparser/default.nix
index fa62bd327a4b..91e6e5f0fd6a 100644
--- a/nixpkgs/pkgs/development/python-modules/nameparser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nameparser/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "nameparser";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0w1m8qva2d7xfqrdxsnh1cncr3ank2205i5rz44hawjh2frzmik2";
+    sha256 = "c01ec7d0bc093420a45d8b5ea8261a84ba12bff0cabf47cb15b716c5ea8f3d23";
   };
 
   LC_ALL="en_US.UTF-8";
diff --git a/nixpkgs/pkgs/development/python-modules/netcdf4/default.nix b/nixpkgs/pkgs/development/python-modules/netcdf4/default.nix
index d8131ffc3bdf..ee5110995b01 100644
--- a/nixpkgs/pkgs/development/python-modules/netcdf4/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/netcdf4/default.nix
@@ -3,13 +3,13 @@
 }:
 buildPythonPackage rec {
   pname = "netCDF4";
-  version = "1.5.0.1";
+  version = "1.5.1.2";
 
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "db24f7ca724e791574774b2a1e323ce0dfb544957fc6fbdb5d4c368f382b2de9";
+    sha256 = "161pqb7xc9nj0dlnp6ply8c6zv68y1frq619xqfrpmc9s1932jzk";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/nilearn/default.nix b/nixpkgs/pkgs/development/python-modules/nilearn/default.nix
index 0d2519d4e107..e45a0033c82a 100644
--- a/nixpkgs/pkgs/development/python-modules/nilearn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nilearn/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "nilearn";
-  version = "0.5.1";
+  version = "0.5.2";
   name = pname + "-" + version;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dca56e8a1f0fc6dcd1c997383187efc31788294ac6bcbbaebac2b9a962a44cbb";
+    sha256 = "18b763d641e6903bdf8512e0ec5cdc14133fb4679e9a15648415e9be62c81b56";
   };
 
   # disable some failing tests
diff --git a/nixpkgs/pkgs/development/python-modules/numpy/default.nix b/nixpkgs/pkgs/development/python-modules/numpy/default.nix
index e479542c5093..171496584ef2 100644
--- a/nixpkgs/pkgs/development/python-modules/numpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/numpy/default.nix
@@ -16,18 +16,18 @@ let
   };
 in buildPythonPackage rec {
   pname = "numpy";
-  version = "1.16.2";
+  version = "1.16.3";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "1c4inssky16p6ab63n1gass6dik1dzxrp3y7kmxbdq6xg4w2wsbc";
+    sha256 = "78a6f89da87eeb48014ec652a65c4ffde370c036d780a995edaeb121d3625621";
   };
 
   nativeBuildInputs = [ gfortran pytest ];
   buildInputs = [ blas ];
 
-  patches = lib.optionals (python.hasDistutilsCxxPatch or false) [
+  patches = lib.optionals python.hasDistutilsCxxPatch [
     # We patch cpython/distutils to fix https://bugs.python.org/issue1222585
     # Patching of numpy.distutils is needed to prevent it from undoing the
     # patch to distutils.
diff --git a/nixpkgs/pkgs/development/python-modules/objgraph/default.nix b/nixpkgs/pkgs/development/python-modules/objgraph/default.nix
index 0eb1deee0d39..c0e0cddb2c80 100644
--- a/nixpkgs/pkgs/development/python-modules/objgraph/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/objgraph/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "objgraph";
-  version = "3.4.0";
+  version = "3.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4a0c2c6268e10a9e8176ae054ff3faac9a432087801e1f95c3ebbe52550295a0";
+    sha256 = "bf29512d7f8b457b53fa0722ea59f516abb8abc59b78f97f0ef81394a0c615a7";
   };
 
   # Tests fail with PyPy.
diff --git a/nixpkgs/pkgs/development/python-modules/ordered-set/default.nix b/nixpkgs/pkgs/development/python-modules/ordered-set/default.nix
index d26459acf704..924a2d31b769 100644
--- a/nixpkgs/pkgs/development/python-modules/ordered-set/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ordered-set/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "ordered-set";
-  version = "3.1";
+  version = "3.1.1";
 
   checkInputs = [ pytest ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0slg1ys58dzxl96mws3sydzavdzqdk0s2nrc852dphd9kbm07dzr";
+    sha256 = "094pww79pawgmjgwi47r0fji9irb7sr4xc9xwjbb0wwcficaigx7";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/paho-mqtt/default.nix b/nixpkgs/pkgs/development/python-modules/paho-mqtt/default.nix
index d58b31ffc04b..bf7ebee56577 100644
--- a/nixpkgs/pkgs/development/python-modules/paho-mqtt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/paho-mqtt/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchFromGitHub, isPy3k
-, pytestrunner, pytest, mock }:
+, stdenv, pytestrunner, pytest, mock }:
 
 buildPythonPackage rec {
   pname = "paho-mqtt";
@@ -20,6 +20,8 @@ buildPythonPackage rec {
 
   checkInputs = [ pytestrunner pytest ] ++ lib.optional (!isPy3k) mock;
 
+  doCheck = !stdenv.isDarwin;
+
   meta = with lib; {
     homepage = https://eclipse.org/paho;
     description = "MQTT version 3.1.1 client class";
diff --git a/nixpkgs/pkgs/development/python-modules/papis/default.nix b/nixpkgs/pkgs/development/python-modules/papis/default.nix
index d9be946900cb..32c945f332a7 100644
--- a/nixpkgs/pkgs/development/python-modules/papis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/papis/default.nix
@@ -5,6 +5,7 @@
 , prompt_toolkit, pygments
 #, optional, dependencies
 , jinja2, whoosh, pytest
+, stdenv
 }:
 
 buildPythonPackage rec {
@@ -28,6 +29,8 @@ buildPythonPackage rec {
     jinja2 whoosh
   ];
 
+  doCheck = !stdenv.isDarwin;
+
   checkInputs = ([
     pytest
   ]) ++ [
@@ -35,9 +38,11 @@ buildPythonPackage rec {
   ];
 
   # most of the downloader tests and 4 other tests require a network connection
+  # test_export_yaml and test_citations check for the exact output produced by pyyaml 3.x and
+  # fail with 5.x
   checkPhase = ''
     HOME=$(mktemp -d) pytest papis tests --ignore tests/downloaders \
-      -k "not test_get_data and not test_doi_to_data and not test_general and not get_document_url"
+      -k "not test_get_data and not test_doi_to_data and not test_general and not get_document_url and not test_export_yaml and not test_citations"
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/pdftotext/default.nix b/nixpkgs/pkgs/development/python-modules/pdftotext/default.nix
new file mode 100644
index 000000000000..6c3b1c0cb925
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pdftotext/default.nix
@@ -0,0 +1,20 @@
+{ lib, buildPythonPackage, fetchPypi, poppler }:
+
+buildPythonPackage rec {
+  pname = "pdftotext";
+  version = "2.1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1jwc2zpss0983wqqi0kpichasljsxar9c4ma8vycn8maw3pi3bg3";
+  };
+
+  buildInputs = [ poppler ];
+
+  meta = with lib; {
+    description = "Simple PDF text extraction";
+    homepage = https://github.com/jalan/pdftotext;
+    license = licenses.mit;
+    maintainers = with maintainers; [ earvstedt ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix b/nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix
index 9fe07fe329be..222f51374755 100644
--- a/nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "phonenumbers";
-  version = "8.10.9";
+  version = "8.10.11";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d9cf2e8e4ad40552487ab47182bc9759fca1edaa7d513e95a9f20c6742416234";
+    sha256 = "1rd46dryxkwlha9lfqqwywazlh908ngh6076zz3myhzf8h3dmxnz";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/plotly/default.nix b/nixpkgs/pkgs/development/python-modules/plotly/default.nix
index 253288088c46..55963299f9c8 100644
--- a/nixpkgs/pkgs/development/python-modules/plotly/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plotly/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "plotly";
-  version = "3.7.1";
+  version = "3.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1gad00c0p56zvmk2yzy03m0f3fcq67q9kdgdfxph2aw905mkwddc";
+    sha256 = "498c35a2a482f7c7937fc2f3681fec653a0191dd21e40e754a6b774234cd167e";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/py-lru-cache/default.nix b/nixpkgs/pkgs/development/python-modules/py-lru-cache/default.nix
new file mode 100644
index 000000000000..b1d8c4f2946d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/py-lru-cache/default.nix
@@ -0,0 +1,23 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "py-lru-cache";
+  version = "0.1.4";
+
+  src = fetchPypi {
+    inherit version;
+    pname = "py_lru_cache";
+    sha256 = "1w3a8l3ckl1zz0f2vlfrawl9a402r458p7xzhy4sgq8k9rl37pq2";
+  };
+
+  meta = with lib; {
+    description = "An in-memory LRU cache for python";
+    homepage = https://github.com/stucchio/Python-LRU-cache;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.costrouc ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/python-modules/py-radix/default.nix b/nixpkgs/pkgs/development/python-modules/py-radix/default.nix
new file mode 100644
index 000000000000..b06de3a27a7f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/py-radix/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, coverage
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "py-radix";
+  version = "0.10.0";
+
+  src = fetchFromGitHub {
+    owner = "mjschultz";
+    repo = "py-radix";
+    rev = "v${version}";
+    sha256 = "01xyn9lg6laavnzczf5bck1l1c2718ihxx0hvdkclnnxjqhbrqis";
+  };
+
+  doCheck = true;
+  checkInputs = [ coverage nose ];
+
+  meta = with stdenv.lib; {
+    description = "Python radix tree for IPv4 and IPv6 prefix matching";
+    homepage = https://github.com/mjschultz/py-radix;
+    license = with licenses; [ isc bsdOriginal ];
+    maintainers = with maintainers; [ mkg ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/py3exiv2/default.nix b/nixpkgs/pkgs/development/python-modules/py3exiv2/default.nix
index 2a886c4cf915..d3ed2659f6a6 100644
--- a/nixpkgs/pkgs/development/python-modules/py3exiv2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/py3exiv2/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "py3exiv2";
-  version = "0.6.1";
+  version = "0.7.0";
   disabled = !(isPy3k);
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1j2pkynqdqrxf86qyzrjj76i33ylxfsrqxv4j2x9bkd0hk6x0pa6";
+    sha256 = "1gcvmglyl8ad2f336w88gwkd5djjsxdx1ind9wnlbqc3jn9i05cg";
   };
 
   buildInputs = [ exiv2 boost ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyasn1-modules/default.nix b/nixpkgs/pkgs/development/python-modules/pyasn1-modules/default.nix
index 6ab9d3c7c3aa..9817a73be92c 100644
--- a/nixpkgs/pkgs/development/python-modules/pyasn1-modules/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyasn1-modules/default.nix
@@ -1,16 +1,32 @@
-{ stdenv, buildPythonPackage, fetchPypi, pyasn1, isPyPy }:
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pyasn1
+, isPyPy
+, pytest
+}:
 
 buildPythonPackage rec {
   pname = "pyasn1-modules";
-  version = "0.2.4";
+  version = "0.2.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a52090e8c5841ebbf08ae455146792d9ef3e8445b21055d3a3b7ed9c712b7c7c";
+    sha256 = "ef721f68f7951fab9b0404d42590f479e30d9005daccb1699b0a51bb4177db96";
   };
 
   propagatedBuildInputs = [ pyasn1 ];
 
+  checkInputs = [
+    pytest
+  ];
+
+  # running tests through setup.py fails only for python2 for some reason:
+  # AttributeError: 'module' object has no attribute 'suitetests'
+  checkPhase = ''
+    py.test
+  '';
+
   meta = with stdenv.lib; {
     description = "A collection of ASN.1-based protocols modules";
     homepage = https://pypi.python.org/pypi/pyasn1-modules;
diff --git a/nixpkgs/pkgs/development/python-modules/pyaxmlparser/default.nix b/nixpkgs/pkgs/development/python-modules/pyaxmlparser/default.nix
index c5be26bd9b73..1034c9d844d9 100644
--- a/nixpkgs/pkgs/development/python-modules/pyaxmlparser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyaxmlparser/default.nix
@@ -1,7 +1,7 @@
 { buildPythonPackage, stdenv, lxml, click, fetchFromGitHub, pytest, isPy3k }:
 
 buildPythonPackage rec {
-  version = "0.3.13";
+  version = "0.3.15";
   pname = "pyaxmlparser";
 
   # the PyPI tarball doesn't ship tests.
@@ -9,7 +9,7 @@ buildPythonPackage rec {
     owner = "appknox";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0jfjhxc6b57npsidknxmhj1x813scg47aaw90ybyr90fpdz5rlwk";
+    sha256 = "0p4x21rg8h7alrg2zk6rbgc3fj77fiyky4zzvziz2bp5jpx1pvzp";
   };
 
   disabled = !isPy3k;
diff --git a/nixpkgs/pkgs/development/python-modules/pycairo/default.nix b/nixpkgs/pkgs/development/python-modules/pycairo/default.nix
index 126ec15e0534..ca6f72847158 100644
--- a/nixpkgs/pkgs/development/python-modules/pycairo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycairo/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "pycairo";
-  version = "1.18.0";
+  version = "1.18.1";
 
   format = "other";
 
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     owner = "pygobject";
     repo = "pycairo";
     rev = "v${version}";
-    sha256 = "0k266cf477j74v7mv0d4jxaq3wx8b7qa85qgh68cn094gzaasqd9";
+    sha256 = "0f4l7d1ibkk8xdspyv5zx8fah9z3x775bd91zirnp37vlgqds7xj";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyftdi/default.nix b/nixpkgs/pkgs/development/python-modules/pyftdi/default.nix
new file mode 100644
index 000000000000..8f80447b85d3
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyftdi/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, pyusb
+, pyserial
+}:
+
+buildPythonPackage rec {
+  pname = "pyftdi";
+  version = "0.29.4";
+  disabled = pythonOlder "3.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0jy0xbqvmhy0nq9v86759d96raa8p52yq8ik3ji5kjlx7cizq67v";
+  };
+
+  propagatedBuildInputs = [ pyusb pyserial ];
+
+  meta = {
+    description = "User-space driver for modern FTDI devices";
+    homepage = "http://github.com/eblot/pyftdi";
+    license = lib.licenses.lgpl2;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pygame/pygame-v4l.patch b/nixpkgs/pkgs/development/python-modules/pygame/pygame-v4l.patch
deleted file mode 100644
index 3b5a2b9d2bf9..000000000000
--- a/nixpkgs/pkgs/development/python-modules/pygame/pygame-v4l.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-diff -crB pygame-1.9.1release/Setup.in pygame-1.9.1release-v4lpatch//Setup.in
-*** pygame-1.9.1release/Setup.in	Thu Jul  2 06:41:56 2009
---- pygame-1.9.1release-v4lpatch//Setup.in	Thu Mar 24 17:31:22 2011
-***************
-*** 34,40 ****
-  _numericsndarray src/_numericsndarray.c $(SDL) $(MIXER) $(DEBUG)
-  movie src/movie.c $(SDL) $(SMPEG) $(DEBUG)
-  scrap src/scrap.c $(SDL) $(SCRAP) $(DEBUG)
-! _camera src/_camera.c src/camera_v4l2.c src/camera_v4l.c $(SDL) $(DEBUG)
-  pypm src/pypm.c $(SDL) $(PORTMIDI) $(PORTTIME) $(DEBUG)
-  
-  GFX = src/SDL_gfx/SDL_gfxPrimitives.c 
---- 34,40 ----
-  _numericsndarray src/_numericsndarray.c $(SDL) $(MIXER) $(DEBUG)
-  movie src/movie.c $(SDL) $(SMPEG) $(DEBUG)
-  scrap src/scrap.c $(SDL) $(SCRAP) $(DEBUG)
-! _camera src/_camera.c src/camera_v4l2.c $(SDL) $(DEBUG)
-  pypm src/pypm.c $(SDL) $(PORTMIDI) $(PORTTIME) $(DEBUG)
-  
-  GFX = src/SDL_gfx/SDL_gfxPrimitives.c 
-diff -crB pygame-1.9.1release/src/_camera.c pygame-1.9.1release-v4lpatch//src/_camera.c
-*** pygame-1.9.1release/src/_camera.c	Sun Mar 15 20:30:41 2009
---- pygame-1.9.1release-v4lpatch//src/_camera.c	Thu Mar 24 16:58:18 2011
-***************
-*** 160,179 ****
-  {
-  #if defined(__unix__)
-      if (v4l2_open_device(self) == 0) {
-!         if (v4l_open_device(self) == 0) {
-!             v4l2_close_device(self);
-!             return NULL;
-!         } else {
-!             self->camera_type = CAM_V4L;
-!             if (v4l_init_device(self) == 0) {
-!                 v4l2_close_device(self);
-!                 return NULL;
-!             }
-!             if (v4l_start_capturing(self) == 0) {
-!                 v4l2_close_device(self);
-!                 return NULL;
-!             }
-!         }
-      } else {
-          self->camera_type = CAM_V4L2;
-          if (v4l2_init_device(self) == 0) {
---- 160,167 ----
-  {
-  #if defined(__unix__)
-      if (v4l2_open_device(self) == 0) {
-! 	v4l2_close_device(self);
-!         return NULL;
-      } else {
-          self->camera_type = CAM_V4L2;
-          if (v4l2_init_device(self) == 0) {
-diff -crB pygame-1.9.1release/src/camera.h pygame-1.9.1release-v4lpatch//src/camera.h
-*** pygame-1.9.1release/src/camera.h	Fri Oct 10 04:37:10 2008
---- pygame-1.9.1release-v4lpatch//src/camera.h	Thu Mar 24 16:44:32 2011
-***************
-*** 39,45 ****
-  
-      #include <asm/types.h>          /* for videodev2.h */
-  
--     #include <linux/videodev.h>
-      #include <linux/videodev2.h>
-  #endif
-  
---- 39,44 ----
-***************
-*** 51,57 ****
-  #define RGB_OUT 1
-  #define YUV_OUT 2
-  #define HSV_OUT 4
-- #define CAM_V4L 1
-  #define CAM_V4L2 2
-  
-  struct buffer 
---- 50,55 ----
-***************
-*** 111,118 ****
-  int v4l2_close_device (PyCameraObject* self);
-  int v4l2_open_device (PyCameraObject* self);
-  
-- /* internal functions specific to v4l */
-- int v4l_open_device (PyCameraObject* self);
-- int v4l_init_device(PyCameraObject* self);
-- int v4l_start_capturing(PyCameraObject* self);
-  #endif
---- 109,112 ----
diff --git a/nixpkgs/pkgs/development/python-modules/pygobject/3.nix b/nixpkgs/pkgs/development/python-modules/pygobject/3.nix
index 399fc6c7e3cc..8372adc9bdb1 100644
--- a/nixpkgs/pkgs/development/python-modules/pygobject/3.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygobject/3.nix
@@ -3,13 +3,13 @@ pycairo, cairo, which, ncurses, meson, ninja, isPy3k, gnome3 }:
 
 buildPythonPackage rec {
   pname = "pygobject";
-  version = "3.32.0";
+  version = "3.32.1";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0agg8nxgqp96wyw4qnjjpiczf0j8aw454plwsfqccsyykzjxgx43";
+    sha256 = "1n04dnvq3bx7vk7pgnxlg6kiwnc7xxv9bjabkv7abpmqjkprvj9j";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/development/python-modules/pympler/default.nix b/nixpkgs/pkgs/development/python-modules/pympler/default.nix
index a331f5e11755..a9350f20eb3f 100644
--- a/nixpkgs/pkgs/development/python-modules/pympler/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pympler/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "Pympler";
-  version = "0.6";
+  version = "0.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c262ceca4dac67b8b523956833c52443420eabc3321a07185990b358b8ba13a7";
+    sha256 = "0ki7bqp1h9l1xc2k1h4vjyzsgs20i8ingvcdhszyi72s28wyf4bs";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyopenssl/default.nix b/nixpkgs/pkgs/development/python-modules/pyopenssl/default.nix
index 7bc54cb0ffb4..713861deae37 100644
--- a/nixpkgs/pkgs/development/python-modules/pyopenssl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyopenssl/default.nix
@@ -32,12 +32,25 @@ let
     "test_set_notBefore"
   ];
 
+  # these tests are extremely tightly wed to the exact output of the openssl cli tool,
+  # including exact punctuation.
+  failingOpenSSL_1_1Tests = [
+    "test_dump_certificate"
+    "test_dump_privatekey_text"
+    "test_dump_certificate_request"
+    "test_export_text"
+  ];
+
   disabledTests = [
     # https://github.com/pyca/pyopenssl/issues/692
     # These tests, we disable always.
     "test_set_default_verify_paths"
     "test_fallback_default_verify_paths"
-  ] ++ (optionals (hasPrefix "libressl" openssl.meta.name) failingLibresslTests);
+  ] ++ (
+    optionals (hasPrefix "libressl" openssl.meta.name) failingLibresslTests
+  ) ++ (
+    optionals (versionAtLeast (getVersion openssl.name) "1.1") failingOpenSSL_1_1Tests
+  );
 
   # Compose the final string expression, including the "-k" and the single quotes.
   testExpression = optionalString (disabledTests != [])
diff --git a/nixpkgs/pkgs/development/python-modules/pyro-ppl/default.nix b/nixpkgs/pkgs/development/python-modules/pyro-ppl/default.nix
index 2ef68338687b..5490cd4baa7a 100644
--- a/nixpkgs/pkgs/development/python-modules/pyro-ppl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyro-ppl/default.nix
@@ -1,12 +1,12 @@
 { buildPythonPackage, fetchPypi, lib, pytorch, contextlib2
 , graphviz, networkx, six, opt-einsum, tqdm }:
 buildPythonPackage rec {
-  version = "0.3.1.post1";
+  version = "0.3.2";
   pname = "pyro-ppl";
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "f5174bcd1b74fb455db948413dcbf5ac1a13dbddc6c54c6d215dd2e4b6b9548d";
+    sha256 = "f00db7e7747e016479ef65e3f00115d66a4200e59914f016d50e4d3e32bc94b0";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyrr/default.nix b/nixpkgs/pkgs/development/python-modules/pyrr/default.nix
index 10e9781b3ab1..3380cf1205c3 100644
--- a/nixpkgs/pkgs/development/python-modules/pyrr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyrr/default.nix
@@ -7,12 +7,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.10.2";
+  version = "0.10.3";
   pname = "pyrr";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1q9i4qa6ygr8hlpnw55s58naynxzwm0sc1m54wyy1ghbf8m8d2f0";
+    sha256 = "3c0f7b20326e71f706a610d58f2190fff73af01eef60c19cb188b186f0ec7e1d";
   };
 
   buildInputs = [ setuptools ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyspark/default.nix b/nixpkgs/pkgs/development/python-modules/pyspark/default.nix
index 3687f1a33efa..7c35ffda8850 100644
--- a/nixpkgs/pkgs/development/python-modules/pyspark/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyspark/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pyspark";
-  version = "2.4.1";
+  version = "2.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "923cc4075d586074f68b722f5ed029b0d25396828441b5ed421a0e40fe14e749";
+    sha256 = "5ab07ed12c3c9035bfaad93921887736abf89130130b38de7dfa985e50542438";
   };
 
   # pypandoc is broken with pandoc2, so we just lose docs.
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-env/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-env/default.nix
new file mode 100644
index 000000000000..909a193bd7b1
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pytest-env/default.nix
@@ -0,0 +1,20 @@
+{ lib, buildPythonPackage, fetchPypi, pytest }:
+
+buildPythonPackage rec {
+  pname = "pytest-env";
+  version = "0.6.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1hl0ln0cicdid4qjk7mv90lw9xkb0v71dlj7q7rn89vzxxm9b53y";
+  };
+
+  checkInputs = [ pytest ];
+
+  meta = with lib; {
+    description = "Pytest plugin used to set environment variables";
+    homepage = https://github.com/MobileDynasty/pytest-env;
+    license = licenses.mit;
+    maintainers = with maintainers; [ earvstedt ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-mock/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-mock/default.nix
index f07ba9b43f7f..68c16725cd45 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-mock/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-mock/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-mock";
-  version = "1.10.3";
+  version = "1.10.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "330bfa1a71c9b6e84e2976f01d70d8a174f755e7f9dc5b22f4b7335992e1e98b";
+    sha256 = "5bf5771b1db93beac965a7347dc81c675ec4090cb841e49d9d34637a25c30568";
   };
 
   propagatedBuildInputs = lib.optional (!isPy3k) mock;
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-sanic/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-sanic/default.nix
new file mode 100644
index 000000000000..c760b6a5542a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pytest-sanic/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, aiohttp
+, async_generator
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-sanic";
+  version = "1.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0vlaq6p9g2p1xj9wshmin58p1faf5h9rcxvmjapx26zv8n23rnm1";
+  };
+
+  propagatedBuildInputs = [
+    pytest
+    aiohttp
+    async_generator
+  ];
+
+  # circular dependency on sanic
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A pytest plugin for Sanic";
+    homepage = https://github.com/yunstanford/pytest-sanic/;
+    license = licenses.asl20;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-sugar/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-sugar/default.nix
index e8b58acd6702..5ece578dc258 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-sugar/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-sugar/default.nix
@@ -1,4 +1,10 @@
-{ stdenv, buildPythonPackage, fetchPypi, termcolor, pytest }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, termcolor
+, pytest
+, packaging
+}:
 
 buildPythonPackage rec {
   pname = "pytest-sugar";
@@ -9,19 +15,16 @@ buildPythonPackage rec {
     sha256 = "fcd87a74b2bce5386d244b49ad60549bfbc4602527797fac167da147983f58ab";
   };
 
-  propagatedBuildInputs = [ termcolor pytest ];
+  propagatedBuildInputs = [
+    termcolor
+    pytest
+    packaging
+  ];
 
-  checkPhase = ''
-    py.test
-  '';
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A plugin that changes the default look and feel of py.test";
     homepage = https://github.com/Frozenball/pytest-sugar;
     license = licenses.bsd3;
-
-    # incompatible with pytest 3.5
-    # https://github.com/Frozenball/pytest-sugar/issues/134
-    broken = true; # 2018-04-20
+    maintainers = [ maintainers.costrouc ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/python-axolotl/default.nix b/nixpkgs/pkgs/development/python-modules/python-axolotl/default.nix
index 299a18871995..8c4936532994 100644
--- a/nixpkgs/pkgs/development/python-modules/python-axolotl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-axolotl/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "python-axolotl";
-  version = "0.1.42";
+  version = "0.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ef78c2efabcd4c33741669334bdda04710a3ef0e00b653f00127acff6460a7f0";
+    sha256 = "1had4dq4n26c3hp62rbmhvs1dj3j3z2jhcbddnbsmqmiky8dqs39";
   };
 
   propagatedBuildInputs = [ cryptography python-axolotl-curve25519 protobuf ];
diff --git a/nixpkgs/pkgs/development/python-modules/python-dotenv/default.nix b/nixpkgs/pkgs/development/python-modules/python-dotenv/default.nix
new file mode 100644
index 000000000000..37c7d0dae686
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-dotenv/default.nix
@@ -0,0 +1,20 @@
+{ lib, buildPythonPackage, fetchPypi, click, ipython }:
+
+buildPythonPackage rec {
+  pname = "python-dotenv";
+  version = "0.10.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1q4sp6ppjiqlsz3h43q9iya4n3qkhx6ng16bcbacfxdyrp9xvcf9";
+  };
+
+  checkInputs = [ click ipython ];
+
+  meta = with lib; {
+    description = "Add .env support to your django/flask apps in development and deployments";
+    homepage = https://github.com/theskumar/python-dotenv;
+    license = licenses.bsdOriginal;
+    maintainers = with maintainers; [ earvstedt ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-gnupg/default.nix b/nixpkgs/pkgs/development/python-modules/python-gnupg/default.nix
index 1ecf5fe10618..728a353cec7f 100644
--- a/nixpkgs/pkgs/development/python-modules/python-gnupg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-gnupg/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchPypi, gnupg1 }:
+{ stdenv, buildPythonPackage, fetchPypi, gnupg }:
 
 buildPythonPackage rec {
   pname   = "python-gnupg";
@@ -12,9 +12,9 @@ buildPythonPackage rec {
   # Let's make the library default to our gpg binary
   patchPhase = ''
     substituteInPlace gnupg.py \
-    --replace "gpgbinary='gpg'" "gpgbinary='${gnupg1}/bin/gpg'"
+    --replace "gpgbinary='gpg'" "gpgbinary='${gnupg}/bin/gpg'"
     substituteInPlace test_gnupg.py \
-    --replace "gpgbinary=GPGBINARY" "gpgbinary='${gnupg1}/bin/gpg'" \
+    --replace "gpgbinary=GPGBINARY" "gpgbinary='${gnupg}/bin/gpg'" \
     --replace "test_search_keys" "disabled__test_search_keys"
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/python-igraph/default.nix b/nixpkgs/pkgs/development/python-modules/python-igraph/default.nix
index a24f3a9fedc8..0f20a01e0b22 100644
--- a/nixpkgs/pkgs/development/python-modules/python-igraph/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-igraph/default.nix
@@ -1,22 +1,24 @@
-{ buildPythonPackage, fetchPypi, lib,
-  pkgconfig, igraph }:
+{ buildPythonPackage, fetchPypi, lib, isPy3k
+, pkgconfig, igraph }:
 
 buildPythonPackage rec {
   pname = "python-igraph";
   version = "0.7.1.post6";
 
-  buildInputs = [ pkgconfig igraph ];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ igraph ];
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "0xp61zz710qlzhmzbfr65d5flvsi8zf2xy78s6rsszh719wl5sm5";
   };
 
+  doCheck = !isPy3k;
+
   meta = {
     description = "High performance graph data structures and algorithms";
+    homepage = "https://igraph.org/python/";
     license = lib.licenses.gpl2;
     maintainers = [ lib.maintainers.MostAwesomeDude ];
   };
 }
-
-
diff --git a/nixpkgs/pkgs/development/python-modules/qdarkstyle/default.nix b/nixpkgs/pkgs/development/python-modules/qdarkstyle/default.nix
index 99d9ba8cf8a3..425bb21a687b 100644
--- a/nixpkgs/pkgs/development/python-modules/qdarkstyle/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qdarkstyle/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "qdarkstyle";
-  version = "2.6.5";
+  version = "2.6.8";
 
   src = fetchPypi {
     inherit version;
     pname = "QDarkStyle";
-    sha256 = "96b14cd0440a0f73db4e14c5accdaa08072625d0395ae011d444508cbd73eb9e";
+    sha256 = "18l2ynq2x8jd380nr47xy947c3qdmhv8nnxnan03y5d51azm8yh3";
   };
 
   # No tests available
diff --git a/nixpkgs/pkgs/development/python-modules/qtconsole/default.nix b/nixpkgs/pkgs/development/python-modules/qtconsole/default.nix
index 941c24033e50..2912ef213c2b 100644
--- a/nixpkgs/pkgs/development/python-modules/qtconsole/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qtconsole/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "qtconsole";
-  version = "4.4.3";
+  version = "4.4.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1b03n1ixzscm0jw97l4dq5iy4fslnqxq5bb8287xb7n2a1gs26xw";
+    sha256 = "1qqyk5wlaps1m2hb5n2q1gynw2ayqn31dvxwwni4450ygf65arx6";
   };
 
   checkInputs = [ nose ] ++ lib.optionals isPy27 [mock];
diff --git a/nixpkgs/pkgs/development/python-modules/qtpy/default.nix b/nixpkgs/pkgs/development/python-modules/qtpy/default.nix
index d0bea83ad268..24e607f2849a 100644
--- a/nixpkgs/pkgs/development/python-modules/qtpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qtpy/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "QtPy";
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0gjg7farw6mkmrwqcg6ms7j74g8py2msvawddji4wy8yfvql1ifl";
+    sha256 = "17pdn4d77gjjrsq7m1i6dz9px0dfi6wgaqz2v3sa3crl15spawp9";
   };
 
   # no concrete propagatedBuildInputs as multiple backends are supposed
diff --git a/nixpkgs/pkgs/development/python-modules/quandl/allow-requests-v2.18.patch b/nixpkgs/pkgs/development/python-modules/quandl/allow-requests-v2.18.patch
deleted file mode 100644
index c4d14319a8b6..000000000000
--- a/nixpkgs/pkgs/development/python-modules/quandl/allow-requests-v2.18.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/setup.py b/setup.py
---- a/setup.py
-+++ b/setup.py
-@@ -18,7 +18,7 @@ from version import VERSION  # NOQA
- install_requires = [
-     'pandas >= 0.14',
-     'numpy >= 1.8',
--    'requests >= 2.7.0, < 2.18',  # Version 2.18 appears to break pulling data.
-+    'requests >= 2.7.0', # Works fine
-     'inflection >= 0.3.1',
-     'python-dateutil',
-     'six',
diff --git a/nixpkgs/pkgs/development/python-modules/ropper/default.nix b/nixpkgs/pkgs/development/python-modules/ropper/default.nix
index 08c8547edbd9..7b07bf3ff059 100644
--- a/nixpkgs/pkgs/development/python-modules/ropper/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ropper/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonApplication rec {
   pname = "ropper";
-  version = "1.11.13";
+  version = "1.12.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "245c6a1c8b294209bed039cd6a389f1e298d3fe6783d48ad9c6b2df3a41f51ee";
+    sha256 = "1aignpxz6rcbf6yxy1gjr708p56i6nqrbgblq24nanssz9rhkyzg";
   };
   # XXX tests rely on user-writeable /dev/shm to obtain process locks and return PermissionError otherwise
   # workaround: sudo chmod 777 /dev/shm
@@ -25,7 +25,7 @@ buildPythonApplication rec {
   propagatedBuildInputs = [ capstone filebytes ];
   meta = with stdenv.lib; {
     homepage = https://scoding.de/ropper/;
-    license = licenses.gpl2;
+    license = licenses.bsd3;
     description = "Show information about files in different file formats";
     maintainers = with maintainers; [ bennofs ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/ruamel_yaml/default.nix b/nixpkgs/pkgs/development/python-modules/ruamel_yaml/default.nix
index eadebc05c778..01dcdb7104bd 100644
--- a/nixpkgs/pkgs/development/python-modules/ruamel_yaml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ruamel_yaml/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "ruamel.yaml";
-  version = "0.15.92";
+  version = "0.15.94";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c6d05e38a141922eca7902135e7a40b605763d6da8ec6624517370631ce9fb6d";
+    sha256 = "0939bcb399ad037ef903d74ccf2f8a074f06683bc89133ad19305067d34487c8";
   };
 
   # Tests cannot load the module to test
diff --git a/nixpkgs/pkgs/development/python-modules/s3fs/default.nix b/nixpkgs/pkgs/development/python-modules/s3fs/default.nix
index 77aafc1c94d5..0a974133252e 100644
--- a/nixpkgs/pkgs/development/python-modules/s3fs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/s3fs/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "s3fs";
-  version = "0.2.0";
+  version = "0.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1p14sm3lbkwz2fidiinmyfyxwkh58ymjb0c0bsv5i0zfv0fy87x3";
+    sha256 = "2146aae91ba3a06d7bfa7130688219599f8696d2825fb00f62923bb56f6e7ed3";
   };
 
   buildInputs = [ docutils ];
diff --git a/nixpkgs/pkgs/development/python-modules/sanic/default.nix b/nixpkgs/pkgs/development/python-modules/sanic/default.nix
new file mode 100644
index 000000000000..6aae4c11fdd4
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sanic/default.nix
@@ -0,0 +1,68 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, httptools
+, aiofiles
+, websockets
+, multidict
+, uvloop
+, ujson
+, pytest
+, gunicorn
+, pytestcov
+, aiohttp
+, beautifulsoup4
+, pytest-sanic
+, pytest-sugar
+, pytest-benchmark
+}:
+
+buildPythonPackage rec {
+  pname = "sanic";
+  version = "19.3.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "ce434eb154872ca64493a6c3a288f11fd10bca0de7be7bf9f1d0d063185e51ec";
+  };
+
+  propagatedBuildInputs = [
+    httptools
+    aiofiles
+    websockets
+    multidict
+    uvloop
+    ujson
+  ];
+
+  checkInputs = [
+    pytest
+    gunicorn
+    pytestcov
+    aiohttp
+    beautifulsoup4
+    pytest-sanic
+    pytest-sugar
+    pytest-benchmark
+  ];
+
+  postConfigure = ''
+    substituteInPlace setup.py \
+      --replace "websockets>=6.0,<7.0" "websockets"
+  '';
+
+  # 10/500 tests ignored due to missing directory and
+  # requiring network access
+  checkPhase = ''
+    pytest --ignore tests/test_blueprints.py \
+           --ignore tests/test_routes.py \
+           --ignore tests/test_worker.py
+  '';
+
+  meta = with lib; {
+    description = "A microframework based on uvloop, httptools, and learnings of flask";
+    homepage = http://github.com/channelcat/sanic/;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/seabreeze/default.nix b/nixpkgs/pkgs/development/python-modules/seabreeze/default.nix
new file mode 100644
index 000000000000..8555c024c76a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/seabreeze/default.nix
@@ -0,0 +1,44 @@
+{ stdenv
+, fetchFromGitHub
+, buildPythonPackage
+, pyusb
+, numpy
+}:
+
+## Usage
+# In NixOS, simply add the `udev` multiple output to services.udev.packages:
+#   services.udev.packages = [ pkgs.python3Packages.seabreeze.udev ];
+
+buildPythonPackage rec {
+  pname = "seabreeze";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "ap--";
+    repo = "python-seabreeze";
+    rev = "python-seabreeze-v${version}";
+    sha256 = "0bc2s9ic77gz9m40w89snixphxlzib60xa4f49n4zasjrddfz1l8";
+  };
+
+  outputs = [ "out" "udev" ];
+
+  postInstall = ''
+    mkdir -p $udev/lib/udev/rules.d
+    cp misc/10-oceanoptics.rules $udev/lib/udev/rules.d/10-oceanoptics.rules
+  '';
+
+  # underlying c libraries are tested and fail
+  # (c libs are used with anaconda, which we don't care about as we use the alternative path, being that of pyusb).
+  doCheck = false;
+
+  propagatedBuildInputs = [ pyusb numpy ];
+
+  setupPyBuildFlags = [ "--without-cseabreeze" ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/ap--/python-seabreeze";
+    description = "A python library to access Ocean Optics spectrometers";
+    maintainers = [];
+    license = licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/service_identity/default.nix b/nixpkgs/pkgs/development/python-modules/service_identity/default.nix
index 93e172a4f606..f39dd48232be 100644
--- a/nixpkgs/pkgs/development/python-modules/service_identity/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/service_identity/default.nix
@@ -1,10 +1,11 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, characteristic
+, pythonOlder
+, cryptography
+, ipaddress
 , pyasn1
 , pyasn1-modules
-, pyopenssl
 , idna
 , attrs
 , pytest
@@ -12,18 +13,18 @@
 
 buildPythonPackage rec {
   pname = "service_identity";
-  version = "17.0.0";
+  version = "18.1.0";
 
   src = fetchFromGitHub {
     owner = "pyca";
     repo = pname;
     rev = version;
-    sha256 = "1fn332fci776m5a7jx8c1jgbm27160ip5qvv8p01c242ag6by5g0";
+    sha256 = "1aw475ksmd4vpl8cwfdcsw2v063nbhnnxpy633sb75iqp9aazhlx";
   };
 
   propagatedBuildInputs = [
-    characteristic pyasn1 pyasn1-modules pyopenssl idna attrs
-  ];
+    pyasn1 pyasn1-modules idna attrs cryptography
+  ] ++ lib.optionals (pythonOlder "3.3") [ ipaddress ];
 
   checkInputs = [ pytest ];
   checkPhase = "py.test";
diff --git a/nixpkgs/pkgs/development/python-modules/setuptools/default.nix b/nixpkgs/pkgs/development/python-modules/setuptools/default.nix
index d4573a2bc431..a849dad54aa9 100644
--- a/nixpkgs/pkgs/development/python-modules/setuptools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/setuptools/default.nix
@@ -8,13 +8,13 @@
 # Should use buildPythonPackage here somehow
 stdenv.mkDerivation rec {
   pname = "setuptools";
-  version = "41.0.0";
+  version = "41.0.1";
   name = "${python.libPrefix}-${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "79d30254b6fe7a8e672e43cd85f13a9f3f2a50080bc81d851143e2219ef0dcb1";
+    sha256 = "a222d126f5471598053c9a77f4b5d4f26eaa1f150ad6e01dcf1a42e185d05613";
   };
 
   nativeBuildInputs = [ unzip wrapPython python.pythonForBuild ];
diff --git a/nixpkgs/pkgs/development/python-modules/shodan/default.nix b/nixpkgs/pkgs/development/python-modules/shodan/default.nix
index 586edd766cda..cefe7dac2210 100644
--- a/nixpkgs/pkgs/development/python-modules/shodan/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/shodan/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "shodan";
-  version = "1.12.1";
+  version = "1.13.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0fd68yaqhpay7jxhyc6xkdrak88wdblxs0phgdkngbakx2yaw2y3";
+    sha256 = "06z9h5vxrvqns3yr4jfrxifw0iqdn6ijlnznpmyi8nc18h8yma2a";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/smart_open/default.nix b/nixpkgs/pkgs/development/python-modules/smart_open/default.nix
index 7504d527ca7b..9d2c71627196 100644
--- a/nixpkgs/pkgs/development/python-modules/smart_open/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/smart_open/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "smart_open";
-  version = "1.8.1";
+  version = "1.8.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0a38mwlz92mlaxz8f8z4yyacpgykiysbcwfykrgr74vlic8x4m5i";
+    sha256 = "029b0ns6q9vl4pyk1w7jp4dvif1mfgr53a58z1p8zipwnhkfwnih";
   };
 
   # nixpkgs version of moto is >=1.2.0, remove version pin to fix build
diff --git a/nixpkgs/pkgs/development/python-modules/sparqlwrapper/default.nix b/nixpkgs/pkgs/development/python-modules/sparqlwrapper/default.nix
index d61c51f26c72..0a51bb5f9e84 100644
--- a/nixpkgs/pkgs/development/python-modules/sparqlwrapper/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sparqlwrapper/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "SPARQLWrapper";
-  version = "1.8.2";
+  version = "1.8.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7f4c8d38ea1bfcffbc358c9a05de35a3fd7152cc3e8ea57963ee7a0a242f7a5e";
+    sha256 = "21928e7a97f565e772cdeeb0abad428960f4307e3a13dbdd8f6d3da8a6a506c9";
   };
 
   # break circular dependency loop
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxcontrib_plantuml/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib_plantuml/default.nix
index f20a3435a009..f66265ba5e06 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinxcontrib_plantuml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinxcontrib_plantuml/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "sphinxcontrib-plantuml";
-  version = "0.14";
+  version = "0.15";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "504229e943e8ac821cd9d708124bde30041ae9d8341f9ea953866404527f4e82";
+    sha256 = "06yl6aiw8gpq3wmi6wxy5lahfgbbmlw6nchq9h1ssi5lipwaxn7a";
   };
 
   # No tests included.
diff --git a/nixpkgs/pkgs/development/python-modules/sqlalchemy-migrate/default.nix b/nixpkgs/pkgs/development/python-modules/sqlalchemy-migrate/default.nix
index 9daf2a696c25..596f9e47a08d 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlalchemy-migrate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlalchemy-migrate/default.nix
@@ -21,6 +21,8 @@ buildPythonPackage rec {
   checkInputs = [ unittest2 scripttest pytz mock testtools testrepository ];
   propagatedBuildInputs = [ pbr tempita decorator sqlalchemy six sqlparse ];
 
+  doCheck = !stdenv.isDarwin;
+
   prePatch = ''
     sed -i -e /tempest-lib/d \
            -e /testtools/d \
diff --git a/nixpkgs/pkgs/development/python-modules/sseclient/default.nix b/nixpkgs/pkgs/development/python-modules/sseclient/default.nix
index a911cd239485..8157b893d742 100644
--- a/nixpkgs/pkgs/development/python-modules/sseclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sseclient/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "sseclient";
-  version = "0.0.23";
+  version = "0.0.24";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "82a1d281b2bcb98847882069bde57a6772156f9539ddefbb78fea4f915197ec3";
+    sha256 = "1b4c5119b9381cb6ddaf3236f3f7e1437a14e488d1ed61336873a839788481b0";
   };
 
   propagatedBuildInputs = [ requests six ];
diff --git a/nixpkgs/pkgs/development/python-modules/streamz/default.nix b/nixpkgs/pkgs/development/python-modules/streamz/default.nix
index 592ce28b7a5b..87de719025dc 100644
--- a/nixpkgs/pkgs/development/python-modules/streamz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/streamz/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "streamz";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cfdd42aa62df299f550768de5002ec83112136a34b44441db9d633b2df802fb4";
+    sha256 = "80c9ded1d6e68d3b78339deb6e9baf93a633d84b4a8875221e337ac06890103f";
   };
 
   checkInputs = [ pytest networkx distributed confluent-kafka graphviz ];
@@ -29,8 +29,9 @@ buildPythonPackage rec {
     six
   ];
 
+  # Disable test_tcp_async because fails on sandbox build
   checkPhase = ''
-    pytest
+    pytest --deselect=streamz/tests/test_sources.py::test_tcp_async
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/stripe/default.nix b/nixpkgs/pkgs/development/python-modules/stripe/default.nix
index 978592366cb2..e69414735888 100644
--- a/nixpkgs/pkgs/development/python-modules/stripe/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/stripe/default.nix
@@ -3,7 +3,7 @@
 
 buildPythonPackage rec {
   pname = "stripe";
-  version = "2.21.0";
+  version = "2.27.0";
 
   # Tests require network connectivity and there's no easy way to disable
   # them. ~ C.
@@ -11,7 +11,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "170f76f2502888debf02da580138c840497b9359876ca3838f4692f2f02c9110";
+    sha256 = "0pvypngbmiji92nfs28bmiyl7brsm6cj18d9vhnwyydnzn3nlkl1";
   };
 
   checkInputs = [ unittest2 mock ];
diff --git a/nixpkgs/pkgs/development/python-modules/tess/default.nix b/nixpkgs/pkgs/development/python-modules/tess/default.nix
new file mode 100644
index 000000000000..987fbf010197
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tess/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, cython
+, numpy
+, scipy
+}:
+
+buildPythonPackage rec {
+  pname = "tess";
+  version = "unstable-2019-05-07";
+
+  src = fetchFromGitHub {
+    owner = "wackywendell";
+    repo = "tess";
+    rev = "22c19df952732f9749637d1bf6d7b676b6c7b26c";
+    sha256 = "0pj18nrfx749fjc6bjdk5r3g1104c6jy6xg7jrpmssllhypbb1m4";
+  };
+
+  buildInputs = [ cython ];
+
+  propagatedBuildInputs = [ numpy scipy ];
+
+  meta = with lib; {
+    description = "A module for calculating and analyzing Voronoi tessellations";
+    homepage = https://tess.readthedocs.org;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/traits/default.nix b/nixpkgs/pkgs/development/python-modules/traits/default.nix
index c6f3a127ed57..bfc3ae475ebb 100644
--- a/nixpkgs/pkgs/development/python-modules/traits/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/traits/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "traits";
-  version = "5.0.0";
+  version = "5.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8369117036fbbe00dbd40e1a01c8775b52bdbfa11db5788168e7c8c56663bac0";
+    sha256 = "0lwmqgkjihqkf269xmdqsa302p378zjcpz01k9a98br7ngzrsj64";
   };
 
   # Use pytest because its easier to discover tests
diff --git a/nixpkgs/pkgs/development/python-modules/typed-ast/default.nix b/nixpkgs/pkgs/development/python-modules/typed-ast/default.nix
index ea4c9a63a194..f540cf72877a 100644
--- a/nixpkgs/pkgs/development/python-modules/typed-ast/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/typed-ast/default.nix
@@ -1,10 +1,10 @@
 { buildPythonPackage, fetchPypi, lib, pythonOlder }:
 buildPythonPackage rec {
   pname = "typed-ast";
-  version = "1.3.1";
+  version = "1.3.5";
   src = fetchPypi{
     inherit pname version;
-    sha256 = "606d8afa07eef77280c2bf84335e24390055b478392e1975f96286d99d0cb424";
+    sha256 = "1m7pr6qpana3cvqwiw7mlvrgvmw27ch5mx1592572xhlki8g85ak";
   };
   # Only works with Python 3.3 and newer;
   disabled = pythonOlder "3.3";
diff --git a/nixpkgs/pkgs/development/python-modules/uncompyle6/default.nix b/nixpkgs/pkgs/development/python-modules/uncompyle6/default.nix
index 6996b9bcda3a..bb9c874d9a18 100644
--- a/nixpkgs/pkgs/development/python-modules/uncompyle6/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/uncompyle6/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "uncompyle6";
-  version = "3.2.6";
+  version = "3.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3a40f4f4b8b02a8687bd98c598980bed38a4770e3de253847eafed4b7167d07f";
+    sha256 = "096k1hipxxnsra5k86v6sm7bk1g0kb1f75yb44nvgf566kd6p119";
   };
 
   checkInputs = [ nose pytest hypothesis six ];
@@ -23,8 +23,9 @@ buildPythonPackage rec {
 
   # six import errors (yet it is supplied...)
   checkPhase = ''
-    pytest ./pytest --ignore=pytest/test_build_const_key_map.py \
-                    --ignore=pytest/test_grammar.py
+    runHook preCheck
+    pytest ./pytest --ignore=pytest/test_function_call.py
+    runHook postCheck
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/unittest-xml-reporting/default.nix b/nixpkgs/pkgs/development/python-modules/unittest-xml-reporting/default.nix
index 84803a55b33d..624ff585c36c 100644
--- a/nixpkgs/pkgs/development/python-modules/unittest-xml-reporting/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/unittest-xml-reporting/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "unittest-xml-reporting";
-  version = "2.4.0";
+  version = "2.5.1";
 
   propagatedBuildInputs = [six];
 
@@ -11,7 +11,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1qnlz1k77rldgd5dfrj6nhlsjj71xzqy6s4091djpk0s2p8y1550";
+    sha256 = "0v6xcs8nx82yw037h296zk0vz5ka4idm4xdpxkcm4h4fnpj8428l";
   };
   meta = with lib; {
     homepage = https://github.com/xmlrunner/unittest-xml-reporting/tree/master/;
diff --git a/nixpkgs/pkgs/development/python-modules/urllib3/default.nix b/nixpkgs/pkgs/development/python-modules/urllib3/default.nix
index af0066ddc74d..4546207b08c6 100644
--- a/nixpkgs/pkgs/development/python-modules/urllib3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/urllib3/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "urllib3";
-  version = "1.24.1";
+  version = "1.24.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "de9529817c93f27c8ccbfead6985011db27bd0ddfcdb2d86f3f663385c6a9c22";
+    sha256 = "9a247273df709c4fedb38c711e44292304f73f39ab01beda9f6b9fc375669ac3";
   };
 
   NOSE_EXCLUDE = stdenv.lib.concatStringsSep "," [
diff --git a/nixpkgs/pkgs/development/python-modules/uvloop/default.nix b/nixpkgs/pkgs/development/python-modules/uvloop/default.nix
new file mode 100644
index 000000000000..9c3dae74a79e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/uvloop/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pyopenssl
+, libuv
+, psutil
+, isPy27
+}:
+
+buildPythonPackage rec {
+  pname = "uvloop";
+  version = "0.12.2";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "c48692bf4587ce281d641087658eca275a5ad3b63c78297bbded96570ae9ce8f";
+  };
+
+  buildInputs = [ libuv ];
+
+  checkInputs = [ pyopenssl psutil ];
+
+  meta = with lib; {
+    description = "Fast implementation of asyncio event loop on top of libuv";
+    homepage = http://github.com/MagicStack/uvloop;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/worldengine/default.nix b/nixpkgs/pkgs/development/python-modules/worldengine/default.nix
index cdb60946079d..103e2fc8defd 100644
--- a/nixpkgs/pkgs/development/python-modules/worldengine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/worldengine/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , buildPythonPackage
+, pythonOlder
 , fetchFromGitHub
 , nose
 , noise
@@ -33,7 +34,6 @@ buildPythonPackage rec {
     ln -s ${src-data} worldengine-data
   '';
 
-  buildInputs = [ nose ];
   propagatedBuildInputs = [ noise numpy pyplatec protobuf purepng h5py gdal ];
 
   prePatch = ''
@@ -46,9 +46,10 @@ buildPythonPackage rec {
       --replace 'PyPlatec==1.4.0' 'PyPlatec' \
   '';
 
-  doCheck = true;
-
-  postCheck = ''
+  # with python<3.5, unittest fails to discover tests because of their filenames
+  # so nose is used instead.
+  checkInputs = stdenv.lib.optional (pythonOlder "3.5") [ nose ];
+  postCheck = stdenv.lib.optionalString (pythonOlder "3.5") ''
     nosetests tests
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/xcffib/default.nix b/nixpkgs/pkgs/development/python-modules/xcffib/default.nix
index 0b4f9578b558..1fe80fdf7468 100644
--- a/nixpkgs/pkgs/development/python-modules/xcffib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xcffib/default.nix
@@ -7,12 +7,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.7.0";
+  version = "0.8.0";
   pname = "xcffib";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "12yc2r8967hknk829q1lbsw6b9z7qa25y8dx8kz6c9qnlc215vb8";
+    sha256 = "1lf5plgfi92ir6bsjyjb9yvqjbxzh2cag33c8jl435iaxmnh76f3";
   };
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/xdis/default.nix b/nixpkgs/pkgs/development/python-modules/xdis/default.nix
index c5837e5da539..e5d06a3c6943 100644
--- a/nixpkgs/pkgs/development/python-modules/xdis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xdis/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "xdis";
-  version = "3.8.10";
+  version = "4.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b00f37296edf2a4fe7b67b5d861c342426d442666d241674fdfc333936bd59bf";
+    sha256 = "1ifakxxawyxw4w4p58m4xdc0c955miqyaq3dfbl386ipw0f50kyz";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/xkcdpass/default.nix b/nixpkgs/pkgs/development/python-modules/xkcdpass/default.nix
index 674a56d3cb4e..9ea1445eff59 100644
--- a/nixpkgs/pkgs/development/python-modules/xkcdpass/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xkcdpass/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "xkcdpass";
-  version = "1.17.2";
+  version = "1.17.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ae7ad57c0287cc41c8c9f164b59296463f2e009d4b7aed382160cb40dfb4d91b";
+    sha256 = "95cf3fd41130606ba64ec7edb9efac7c5d61efe21abab51a2c21ccbbebc48bb6";
   };
 
   # No tests included
diff --git a/nixpkgs/pkgs/development/python-modules/xlib/default.nix b/nixpkgs/pkgs/development/python-modules/xlib/default.nix
index 0b0f60ea16ee..1903c3aaca88 100644
--- a/nixpkgs/pkgs/development/python-modules/xlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xlib/default.nix
@@ -30,6 +30,8 @@ buildPythonPackage rec {
   buildInputs = [ xorg.libX11 ];
   propagatedBuildInputs = [ six ];
 
+  doCheck = !stdenv.isDarwin;
+
   meta = with stdenv.lib; {
     description = "Fully functional X client library for Python programs";
     homepage = http://python-xlib.sourceforge.net/;
diff --git a/nixpkgs/pkgs/development/python-modules/xml2rfc/default.nix b/nixpkgs/pkgs/development/python-modules/xml2rfc/default.nix
index e86b1b206094..f737cf344b88 100644
--- a/nixpkgs/pkgs/development/python-modules/xml2rfc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xml2rfc/default.nix
@@ -1,5 +1,6 @@
 { lib, fetchPypi, buildPythonPackage, intervaltree, pyflakes, requests, lxml, google-i18n-address
 , pycountry, html5lib, six
+, stdenv
 }:
 
 buildPythonPackage rec {
@@ -26,6 +27,8 @@ buildPythonPackage rec {
     export HOME=$(mktemp -d)
   '';
 
+  doCheck = !stdenv.isDarwin;
+
   meta = with lib; {
     description = "Tool generating IETF RFCs and drafts from XML sources";
     homepage = https://tools.ietf.org/tools/xml2rfc/trac/;
diff --git a/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix b/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix
index b77215a2d246..709ba455b5cc 100644
--- a/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "zeroconf";
-  version = "0.21.3";
+  version = "0.22.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5b52dfdf4e665d98a17bf9aa50dea7a8c98e25f972d9c1d7660e2b978a1f5713";
+    sha256 = "09dqfbj37l7vnj0fj4a82dqgq9mwm6fnsnsmljg25k1ygcn5hrpy";
   };
 
   propagatedBuildInputs = [ ifaddr ]
diff --git a/nixpkgs/pkgs/development/python-modules/zope_testrunner/default.nix b/nixpkgs/pkgs/development/python-modules/zope_testrunner/default.nix
index 25f167b2e94d..fd2cf470e6f0 100644
--- a/nixpkgs/pkgs/development/python-modules/zope_testrunner/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zope_testrunner/default.nix
@@ -19,6 +19,8 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ zope_interface zope_exceptions zope_testing six ];
 
+  doCheck = !stdenv.isDarwin;
+
   meta = with stdenv.lib; {
     description = "A flexible test runner with layer support";
     homepage = https://pypi.python.org/pypi/zope.testrunner;
diff --git a/nixpkgs/pkgs/development/python-modules/zstd/default.nix b/nixpkgs/pkgs/development/python-modules/zstd/default.nix
index 54eb4c43ec42..3706fd06a15d 100644
--- a/nixpkgs/pkgs/development/python-modules/zstd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zstd/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "zstd";
-  version = "1.3.8.1";
+  version = "1.4.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d89e884da59c35e480439f1663cb3cb4cf372e42ba0eb0bdf22b9625414702a3";
+    sha256 = "01prq9rwz1gh42idnj2162w79dzs8gf3ac8pn12lz347w280kjbk";
   };
 
   postPatch = ''