about summary refs log tree commit diff
path: root/pkgs/development/python-modules
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2019-04-16 18:54:15 +0200
committerFrederik Rietdijk <fridh@fridh.nl>2019-04-16 18:54:15 +0200
commitbae32a9f5cd558c38a15feec4e08900b832b0eb3 (patch)
tree04abd686309eb18e17e0f47a33b9f749cf318938 /pkgs/development/python-modules
parent48a941c5a3c207223baa6b3ecbdf3bafdcf30ede (diff)
parent741eaa2ede2c1ca317feb0377af695823fe6601a (diff)
downloadnixlib-bae32a9f5cd558c38a15feec4e08900b832b0eb3.tar
nixlib-bae32a9f5cd558c38a15feec4e08900b832b0eb3.tar.gz
nixlib-bae32a9f5cd558c38a15feec4e08900b832b0eb3.tar.bz2
nixlib-bae32a9f5cd558c38a15feec4e08900b832b0eb3.tar.lz
nixlib-bae32a9f5cd558c38a15feec4e08900b832b0eb3.tar.xz
nixlib-bae32a9f5cd558c38a15feec4e08900b832b0eb3.tar.zst
nixlib-bae32a9f5cd558c38a15feec4e08900b832b0eb3.zip
Merge staging-next into staging
Diffstat (limited to 'pkgs/development/python-modules')
-rw-r--r--pkgs/development/python-modules/XlsxWriter/default.nix4
-rw-r--r--pkgs/development/python-modules/aiolifx/default.nix2
-rw-r--r--pkgs/development/python-modules/aioresponses/default.nix47
-rw-r--r--pkgs/development/python-modules/annexremote/default.nix34
-rw-r--r--pkgs/development/python-modules/argh/default.nix2
-rw-r--r--pkgs/development/python-modules/cairosvg/default.nix9
-rw-r--r--pkgs/development/python-modules/casttube/default.nix2
-rw-r--r--pkgs/development/python-modules/dask-glm/default.nix2
-rw-r--r--pkgs/development/python-modules/django-cache-url/default.nix2
-rw-r--r--pkgs/development/python-modules/django-discover-runner/default.nix2
-rw-r--r--pkgs/development/python-modules/django-sesame/default.nix2
-rw-r--r--pkgs/development/python-modules/dm-sonnet/default.nix85
-rw-r--r--pkgs/development/python-modules/favicon/default.nix2
-rw-r--r--pkgs/development/python-modules/flask-socketio/default.nix2
-rw-r--r--pkgs/development/python-modules/genanki/default.nix2
-rw-r--r--pkgs/development/python-modules/gensim/default.nix4
-rw-r--r--pkgs/development/python-modules/gnureadline/default.nix2
-rw-r--r--pkgs/development/python-modules/graph_nets/default.nix47
-rw-r--r--pkgs/development/python-modules/hdmedians/default.nix2
-rw-r--r--pkgs/development/python-modules/humanfriendly/default.nix30
-rw-r--r--pkgs/development/python-modules/ipdbplugin/default.nix2
-rw-r--r--pkgs/development/python-modules/keepkey/default.nix4
-rw-r--r--pkgs/development/python-modules/lektor/default.nix38
-rw-r--r--pkgs/development/python-modules/nixpkgs-pytools/default.nix33
-rw-r--r--pkgs/development/python-modules/nixpkgs/default.nix2
-rw-r--r--pkgs/development/python-modules/nltk/default.nix22
-rw-r--r--pkgs/development/python-modules/pagerduty/default.nix2
-rw-r--r--pkgs/development/python-modules/pandas/default.nix4
-rw-r--r--pkgs/development/python-modules/peewee/default.nix4
-rw-r--r--pkgs/development/python-modules/pilkit/default.nix2
-rw-r--r--pkgs/development/python-modules/protobuf/default.nix8
-rw-r--r--pkgs/development/python-modules/py3exiv2/default.nix4
-rw-r--r--pkgs/development/python-modules/py3status/default.nix4
-rw-r--r--pkgs/development/python-modules/pychef/default.nix2
-rw-r--r--pkgs/development/python-modules/pylama/default.nix4
-rw-r--r--pkgs/development/python-modules/pysaml2/default.nix4
-rw-r--r--pkgs/development/python-modules/pyschedule/default.nix29
-rw-r--r--pkgs/development/python-modules/pytest-ansible/default.nix2
-rw-r--r--pkgs/development/python-modules/pytest-click/default.nix40
-rw-r--r--pkgs/development/python-modules/pytest-pylint/default.nix36
-rw-r--r--pkgs/development/python-modules/python-engineio/default.nix2
-rw-r--r--pkgs/development/python-modules/python-json-logger/default.nix2
-rw-r--r--pkgs/development/python-modules/python-snappy/default.nix2
-rw-r--r--pkgs/development/python-modules/python-socketio/default.nix2
-rw-r--r--pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix2
-rw-r--r--pkgs/development/python-modules/shellingham/default.nix4
-rw-r--r--pkgs/development/python-modules/shodan/default.nix4
-rw-r--r--pkgs/development/python-modules/slicerator/default.nix2
-rw-r--r--pkgs/development/python-modules/smart_open/default.nix4
-rw-r--r--pkgs/development/python-modules/ssdeep/default.nix2
-rw-r--r--pkgs/development/python-modules/streamz/default.nix2
-rw-r--r--pkgs/development/python-modules/sympy/default.nix10
-rw-r--r--pkgs/development/python-modules/tenacity/default.nix4
-rw-r--r--pkgs/development/python-modules/tensorflow-probability/default.nix41
-rw-r--r--pkgs/development/python-modules/tinycss2/default.nix15
-rw-r--r--pkgs/development/python-modules/tinycss2/remove-redundant-dependency.patch12
-rw-r--r--pkgs/development/python-modules/twilio/default.nix4
-rw-r--r--pkgs/development/python-modules/xattr/default.nix2
-rw-r--r--pkgs/development/python-modules/zeep/default.nix59
-rw-r--r--pkgs/development/python-modules/zope-deferredimport/default.nix2
-rw-r--r--pkgs/development/python-modules/zope-hookable/default.nix2
-rw-r--r--pkgs/development/python-modules/zope_contenttype/default.nix2
-rw-r--r--pkgs/development/python-modules/zope_deprecation/default.nix2
-rw-r--r--pkgs/development/python-modules/zope_lifecycleevent/default.nix2
-rw-r--r--pkgs/development/python-modules/zope_location/default.nix2
-rw-r--r--pkgs/development/python-modules/zope_proxy/default.nix2
-rw-r--r--pkgs/development/python-modules/zope_size/default.nix2
67 files changed, 583 insertions, 138 deletions
diff --git a/pkgs/development/python-modules/XlsxWriter/default.nix b/pkgs/development/python-modules/XlsxWriter/default.nix
index 99da64268ee2..e7c5595fe087 100644
--- a/pkgs/development/python-modules/XlsxWriter/default.nix
+++ b/pkgs/development/python-modules/XlsxWriter/default.nix
@@ -3,7 +3,7 @@
 buildPythonPackage rec {
 
   pname = "XlsxWriter";
-  version = "1.1.5";
+  version = "1.1.6";
 
   # 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 = "13250y53mr0pki93sqscy2bx01fxh6b6wvvj6m95ky0wqrrbmg39";
+    sha256 = "1hmagwh2k61r90a9xgp3xj24wb97ckllvgn82vsin9kvhhj1459i";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/aiolifx/default.nix b/pkgs/development/python-modules/aiolifx/default.nix
index b7855bee72dc..0afaa65e40c5 100644
--- a/pkgs/development/python-modules/aiolifx/default.nix
+++ b/pkgs/development/python-modules/aiolifx/default.nix
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ bitstring ifaddr ];
 
   meta = with lib; {
-    homepage = http://github.com/frawau/aiolifx;
+    homepage = https://github.com/frawau/aiolifx;
     license = licenses.mit;
     description = "API for local communication with LIFX devices over a LAN with asyncio";
     maintainers = with maintainers; [ netixx ];
diff --git a/pkgs/development/python-modules/aioresponses/default.nix b/pkgs/development/python-modules/aioresponses/default.nix
new file mode 100644
index 000000000000..55120ad58038
--- /dev/null
+++ b/pkgs/development/python-modules/aioresponses/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, pbr
+, aiohttp
+, ddt
+, asynctest
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "aioresponses";
+  version = "0.6.0";
+  disabled = pythonOlder "3.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0ii1jiwb8qa2y8cqa1zqn7mjax9l8bpf16k4clv616mxw1l0bvs6";
+  };
+
+  nativeBuildInputs = [
+    pbr
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  checkInputs = [
+    asynctest
+    ddt
+    pytest
+  ];
+
+  # Skip a test which makes requests to httpbin.org
+  checkPhase = ''
+    pytest -k "not test_address_as_instance_of_url_combined_with_pass_through"
+  '';
+
+  meta = {
+    description = "A helper to mock/fake web requests in python aiohttp package";
+    homepage = https://github.com/pnuckowski/aioresponses;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ rvl ];
+  };
+}
diff --git a/pkgs/development/python-modules/annexremote/default.nix b/pkgs/development/python-modules/annexremote/default.nix
new file mode 100644
index 000000000000..f07f05b98843
--- /dev/null
+++ b/pkgs/development/python-modules/annexremote/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, isPy3k
+, buildPythonPackage
+, fetchFromGitHub
+, future
+, mock
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "annexremote";
+  version = "1.3.1";
+
+  # use fetchFromGitHub instead of fetchPypi because the test suite of
+  # the package is not included into the PyPI tarball
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "Lykos153";
+    repo = "AnnexRemote";
+    sha256 = "13ny7h41430pi9393dw3qgwxvzcxacapjsw0d3vjm7lc4h566alq";
+  };
+
+  propagatedBuildInputs = [ future ];
+
+  checkInputs = [ nose ] ++ lib.optional (!isPy3k) mock;
+  checkPhase = "nosetests -v";
+
+  meta = with lib; {
+    description = "Helper module to easily develop git-annex remotes";
+    homepage = https://github.com/Lykos153/AnnexRemote;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ montag451 ];
+  };
+}
diff --git a/pkgs/development/python-modules/argh/default.nix b/pkgs/development/python-modules/argh/default.nix
index ef21a3f871db..8c6afb099f91 100644
--- a/pkgs/development/python-modules/argh/default.nix
+++ b/pkgs/development/python-modules/argh/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/neithere/argh/;
+    homepage = https://github.com/neithere/argh/;
     description = "An unobtrusive argparse wrapper with natural syntax";
     license = licenses.lgpl2;
     maintainers = with maintainers; [ domenkozar ];
diff --git a/pkgs/development/python-modules/cairosvg/default.nix b/pkgs/development/python-modules/cairosvg/default.nix
index 17d442e4527e..beee82950496 100644
--- a/pkgs/development/python-modules/cairosvg/default.nix
+++ b/pkgs/development/python-modules/cairosvg/default.nix
@@ -13,6 +13,15 @@ buildPythonPackage rec {
     sha256 = "66f333ef5dc79fdfbd3bbe98adc791b1f854e0461067d202fa7b15de66d517ec";
   };
 
+  patches = [
+    # fix isort-check
+    (fetchpatch {
+      url = https://github.com/Kozea/CairoSVG/commit/b2534b0fc80b9f24a2bff2c938ac5da73ff1e478.patch;
+      excludes = [ "test_non_regression/__init__.py" ];
+      sha256 = "1bms75dd0fd978yhlr0k565zq45lzxf0vkihryb7gcwnd42bl6yf";
+    })
+  ];
+
   propagatedBuildInputs = [ cairocffi cssselect2 defusedxml pillow tinycss2 ];
 
   checkInputs = [ pytest pytestrunner pytestcov pytest-flake8 pytest-isort ];
diff --git a/pkgs/development/python-modules/casttube/default.nix b/pkgs/development/python-modules/casttube/default.nix
index 60d9fe2aef1a..5d3b80aeb168 100644
--- a/pkgs/development/python-modules/casttube/default.nix
+++ b/pkgs/development/python-modules/casttube/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Interact with the Youtube Chromecast api";
-    homepage = http://github.com/ur1katz/casttube;
+    homepage = https://github.com/ur1katz/casttube;
     license = licenses.mit;
     maintainers = with maintainers; [ fpletz ];
   };
diff --git a/pkgs/development/python-modules/dask-glm/default.nix b/pkgs/development/python-modules/dask-glm/default.nix
index ec241fb9f6c1..73705d9982aa 100644
--- a/pkgs/development/python-modules/dask-glm/default.nix
+++ b/pkgs/development/python-modules/dask-glm/default.nix
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/dask/dask-glm/;
+    homepage = https://github.com/dask/dask-glm/;
     description = "Generalized Linear Models with Dask";
     license = licenses.bsd3;
     maintainers = [ maintainers.costrouc ];
diff --git a/pkgs/development/python-modules/django-cache-url/default.nix b/pkgs/development/python-modules/django-cache-url/default.nix
index 4cff6f2a69b0..6b8aac33139c 100644
--- a/pkgs/development/python-modules/django-cache-url/default.nix
+++ b/pkgs/development/python-modules/django-cache-url/default.nix
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/ghickman/django-cache-url;
+    homepage = https://github.com/ghickman/django-cache-url;
     description = "Use Cache URLs in your Django application";
     license = licenses.mit;
     maintainers = [ maintainers.costrouc ];
diff --git a/pkgs/development/python-modules/django-discover-runner/default.nix b/pkgs/development/python-modules/django-discover-runner/default.nix
index d25d9e79947b..82895f76473b 100644
--- a/pkgs/development/python-modules/django-discover-runner/default.nix
+++ b/pkgs/development/python-modules/django-discover-runner/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/jezdez/django-discover-runner;
+    homepage = https://github.com/jezdez/django-discover-runner;
     description = "A Django test runner based on unittest2's test discovery";
     license = licenses.bsd0;
     maintainers = [ maintainers.costrouc ];
diff --git a/pkgs/development/python-modules/django-sesame/default.nix b/pkgs/development/python-modules/django-sesame/default.nix
index 9887580b0fdd..68fa0dce6159 100644
--- a/pkgs/development/python-modules/django-sesame/default.nix
+++ b/pkgs/development/python-modules/django-sesame/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "URLs with authentication tokens for automatic login";
-    homepage = http://github.com/aaugustin/django-sesame;
+    homepage = https://github.com/aaugustin/django-sesame;
     license = licenses.bsd3;
     maintainers = with maintainers; [ elohmeier ];
   };
diff --git a/pkgs/development/python-modules/dm-sonnet/default.nix b/pkgs/development/python-modules/dm-sonnet/default.nix
new file mode 100644
index 000000000000..718084364179
--- /dev/null
+++ b/pkgs/development/python-modules/dm-sonnet/default.nix
@@ -0,0 +1,85 @@
+{ lib
+, fetchFromGitHub
+, buildBazelPackage
+, buildPythonPackage
+, git
+, python
+, six
+, absl-py
+, semantic-version
+, contextlib2
+, wrapt
+, tensorflow
+, tensorflow-probability
+}:
+
+let
+  version = "1.30";
+
+  # first build all binaries and generate setup.py using bazel
+  bazel-build = buildBazelPackage rec {
+    name = "dm-sonnet-bazel-${version}";
+
+    src = fetchFromGitHub {
+      owner = "deepmind";
+      repo = "sonnet";
+      rev = "v${version}";
+      sha256 = "1dli4a4arx2gmb4p676pfibvnpag9f13znisrk9381g7xpqqmaw6";
+    };
+
+    nativeBuildInputs = [
+      git # needed to fetch the bazel deps (protobuf in particular)
+    ];
+
+    # see https://github.com/deepmind/sonnet/blob/master/docs/INSTALL.md
+    bazelTarget = ":install";
+
+    fetchAttrs = {
+      sha256 = "1qwq6xp6gdmy8f0k96q3nsgqs56adrbgq39g5smwik6griwfx9mr";
+    };
+
+    buildAttrs = {
+      preBuild = ''
+        patchShebangs .
+      '';
+
+      installPhase = ''
+        # do not generate a wheel, instead just copy the generated files to $out to be installed by buildPythonPackage
+        sed -i 's,.*bdist_wheel.*,cp -rL . "$out"; exit 0,' bazel-bin/install
+
+        # the target directory "dist" does not actually matter since we're not generating a wheel
+        bazel-bin/install dist
+      '';
+    };
+  };
+
+# now use pip to install the package prepared by bazel
+in buildPythonPackage rec {
+  pname = "dm-sonnet";
+  inherit version;
+
+  src = bazel-build;
+
+  propagatedBuildInputs = [
+    six
+    absl-py
+    semantic-version
+    contextlib2
+    wrapt
+    tensorflow
+    tensorflow-probability
+  ];
+
+  # not sure how to properly run the real test suite -- through bazel?
+  checkPhase = ''
+    ${python.interpreter} -c "import sonnet"
+  '';
+
+  meta = with lib; {
+    description = "TensorFlow-based neural network library";
+    homepage = https://sonnet.dev;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/python-modules/favicon/default.nix b/pkgs/development/python-modules/favicon/default.nix
index e4675274c09f..019f4be91c82 100644
--- a/pkgs/development/python-modules/favicon/default.nix
+++ b/pkgs/development/python-modules/favicon/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Find a website's favicon";
-    homepage = http://github.com/scottwernervt/favicon;
+    homepage = https://github.com/scottwernervt/favicon;
     license = licenses.mit;
     maintainers = with maintainers; [ elohmeier ];
   };
diff --git a/pkgs/development/python-modules/flask-socketio/default.nix b/pkgs/development/python-modules/flask-socketio/default.nix
index c2f7caf1b818..b97fc2430be7 100644
--- a/pkgs/development/python-modules/flask-socketio/default.nix
+++ b/pkgs/development/python-modules/flask-socketio/default.nix
@@ -26,7 +26,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Socket.IO integration for Flask applications";
-    homepage = http://github.com/miguelgrinberg/Flask-SocketIO/;
+    homepage = https://github.com/miguelgrinberg/Flask-SocketIO/;
     license = licenses.mit;
     maintainers = [ maintainers.mic92 ];
   };
diff --git a/pkgs/development/python-modules/genanki/default.nix b/pkgs/development/python-modules/genanki/default.nix
index 45906c3c434d..af2f99289a30 100644
--- a/pkgs/development/python-modules/genanki/default.nix
+++ b/pkgs/development/python-modules/genanki/default.nix
@@ -30,7 +30,7 @@ buildPythonPackage rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/kerrickstaley/genanki;
+    homepage = https://github.com/kerrickstaley/genanki;
     description = "Generate Anki decks programmatically";
     license = licenses.mit;
     maintainers = with maintainers; [ teto ];
diff --git a/pkgs/development/python-modules/gensim/default.nix b/pkgs/development/python-modules/gensim/default.nix
index 8c7b96e66dda..2bd1bfce6f95 100644
--- a/pkgs/development/python-modules/gensim/default.nix
+++ b/pkgs/development/python-modules/gensim/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "gensim";
-  version = "3.7.1";
+  version = "3.7.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ed845ac585f724ae1f40fdb517ed8ade822531f9bbcd1be4a599c2e86aff48a8";
+    sha256 = "1la4y935sdah8ywa7krwy80hcl4n2k8cdx4ncy3dg3y2mdg3vq24";
   };
 
   propagatedBuildInputs = [ smart_open numpy six scipy ];
diff --git a/pkgs/development/python-modules/gnureadline/default.nix b/pkgs/development/python-modules/gnureadline/default.nix
index b690faccf069..967fc1c57457 100644
--- a/pkgs/development/python-modules/gnureadline/default.nix
+++ b/pkgs/development/python-modules/gnureadline/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "The standard Python readline extension statically linked against the GNU readline library";
-    homepage = http://github.com/ludwigschwardt/python-gnureadline;
+    homepage = https://github.com/ludwigschwardt/python-gnureadline;
     license = licenses.gpl3;
   };
 
diff --git a/pkgs/development/python-modules/graph_nets/default.nix b/pkgs/development/python-modules/graph_nets/default.nix
new file mode 100644
index 000000000000..58aa6c84ade3
--- /dev/null
+++ b/pkgs/development/python-modules/graph_nets/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, tensorflow
+, absl-py
+, dm-sonnet
+, networkx
+, numpy
+, setuptools
+, six
+, future
+}:
+
+buildPythonPackage rec {
+  pname = "graph_nets";
+  version = "1.0.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "15cbs9smmgqz2n9mnlzdbqj3iv9iw179d2g0f9lnimdy7xl4jqdf";
+  };
+
+  buildInputs = [];
+
+  postPatch = ''
+    # https://github.com/deepmind/graph_nets/issues/63
+    sed -i 's/dm-sonnet==1.23/dm-sonnet/' setup.py
+  '';
+
+  propagatedBuildInputs = [
+    tensorflow
+    absl-py
+    dm-sonnet
+    networkx
+    numpy
+    setuptools
+    six
+    future
+  ];
+
+  meta = with lib; {
+    description = "Build Graph Nets in Tensorflow";
+    homepage = https://github.com/deepmind/graph_nets;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ timokau ];
+  };
+}
diff --git a/pkgs/development/python-modules/hdmedians/default.nix b/pkgs/development/python-modules/hdmedians/default.nix
index 76d5921487e7..3a573f69c700 100644
--- a/pkgs/development/python-modules/hdmedians/default.nix
+++ b/pkgs/development/python-modules/hdmedians/default.nix
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/daleroberts/hdmedians;
+    homepage = https://github.com/daleroberts/hdmedians;
     description = "High-dimensional medians";
     license = licenses.gpl3;
     maintainers = [ maintainers.costrouc ];
diff --git a/pkgs/development/python-modules/humanfriendly/default.nix b/pkgs/development/python-modules/humanfriendly/default.nix
new file mode 100644
index 000000000000..bef32f947c37
--- /dev/null
+++ b/pkgs/development/python-modules/humanfriendly/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, pythonOlder
+, buildPythonPackage
+, fetchPypi
+, monotonic
+}:
+
+buildPythonPackage rec {
+  pname = "humanfriendly";
+  version = "4.18";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "33ee8ceb63f1db61cce8b5c800c531e1a61023ac5488ccde2ba574a85be00a85";
+  };
+
+  propagatedBuildInputs = lib.optional (pythonOlder "3.3") monotonic;
+
+  # humanfriendly tests depends on coloredlogs which itself depends on
+  # humanfriendly. This lead to infinite recursion when trying to
+  # build this package so we have to disable the test suite :(
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Human friendly output for text interfaces using Python";
+    homepage = https://humanfriendly.readthedocs.io/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ montag451 ];
+  };
+}
diff --git a/pkgs/development/python-modules/ipdbplugin/default.nix b/pkgs/development/python-modules/ipdbplugin/default.nix
index 402361a6c74a..b092a9fa2aec 100644
--- a/pkgs/development/python-modules/ipdbplugin/default.nix
+++ b/pkgs/development/python-modules/ipdbplugin/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ nose ipython ];
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/flavioamieiro/nose-ipdb/tree/master;
+    homepage = https://github.com/flavioamieiro/nose-ipdb/tree/master;
     description = "Nose plugin to use iPdb instead of Pdb when tests fail";
     license = licenses.lgpl2;
     maintainers = [ maintainers.costrouc ];
diff --git a/pkgs/development/python-modules/keepkey/default.nix b/pkgs/development/python-modules/keepkey/default.nix
index 551614409db4..bbe72befb6d2 100644
--- a/pkgs/development/python-modules/keepkey/default.nix
+++ b/pkgs/development/python-modules/keepkey/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "keepkey";
-  version = "6.0.2";
+  version = "6.0.3";
 
   src = fetchFromGitHub {
     owner = "keepkey";
     repo = "python-keepkey";
     rev = "v${version}";
-    sha256 = "1778c9vabn9a7b7lbirwclswnqmzqm00slklvnhqacbbdf4rp417";
+    sha256 = "0jnkh1nin1lwnx32ak6sv8gzmpnkvcy6vm23wzm1ymzfndxk6rnm";
   };
 
   propagatedBuildInputs = [ protobuf hidapi trezor ];
diff --git a/pkgs/development/python-modules/lektor/default.nix b/pkgs/development/python-modules/lektor/default.nix
index 6eb84043d784..0fe3a11ae261 100644
--- a/pkgs/development/python-modules/lektor/default.nix
+++ b/pkgs/development/python-modules/lektor/default.nix
@@ -1,6 +1,6 @@
-{ stdenv
+{ lib
 , buildPythonPackage
-, fetchgit
+, fetchFromGitHub
 , click
 , watchdog
 , exifread
@@ -12,35 +12,47 @@
 , flask
 , pyopenssl
 , ndg-httpsclient
-, pkgs
+, pytest
+, pytestcov
+, pytest-mock
+, pytest-pylint
+, pytest-click
+, isPy27
+, functools32
 }:
 
 buildPythonPackage rec {
   pname = "lektor";
-  version = "2.3";
+  version = "3.1.3";
 
-  src = fetchgit {
-    url = "https://github.com/lektor/lektor";
-    rev = "refs/tags/${version}";
-    sha256 = "1n0ylh1sbpvi9li3g6a7j7m28njfibn10y6s2gayjxwm6fpphqxy";
+  src = fetchFromGitHub {
+    owner = "lektor";
+    repo = "lektor";
+    rev = version;
+    sha256 = "16qw68rz5q77w84lwyhjpfd3bm4mfrhcjrnxwwnz3vmi610h68hx";
   };
 
-  buildInputs = [ pkgs.glibcLocales ];
   propagatedBuildInputs = [
     click watchdog exifread requests mistune inifile Babel jinja2
     flask pyopenssl ndg-httpsclient
+  ] ++ lib.optionals isPy27 [ functools32 ];
+
+  checkInputs = [
+    pytest pytestcov pytest-mock pytest-pylint pytest-click
   ];
 
-  LC_ALL="en_US.UTF-8";
+  checkPhase = ''
+    pytest
+  '';
 
-  # No tests included in archive
+  # many errors -- tests assume inside of git repo, linting errors 13/317 fail
   doCheck = false;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A static content management system";
     homepage    = "https://www.getlektor.com/";
     license     = licenses.bsd0;
-    maintainers = with maintainers; [ vozz ];
+    maintainers = with maintainers; [ vozz costrouc ];
   };
 
 }
diff --git a/pkgs/development/python-modules/nixpkgs-pytools/default.nix b/pkgs/development/python-modules/nixpkgs-pytools/default.nix
new file mode 100644
index 000000000000..9bb4a3e41f32
--- /dev/null
+++ b/pkgs/development/python-modules/nixpkgs-pytools/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, jinja2
+, setuptools
+, isPy27
+}:
+
+buildPythonPackage rec {
+  pname = "nixpkgs-pytools";
+  version = "1.0.0";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "6aaf1e990be639a0d01afb454756606f3111dd8c596b6e848d4a0cec019168d0";
+  };
+
+  propagatedBuildInputs = [
+    jinja2
+    setuptools
+  ];
+
+  # tests require network ..
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Tools for removing the tedious nature of creating nixpkgs derivations";
+    homepage = https://github.com/nix-community/nixpkgs-pytools;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/nixpkgs/default.nix b/pkgs/development/python-modules/nixpkgs/default.nix
index bfd2476c8ca9..ea0a359a49c3 100644
--- a/pkgs/development/python-modules/nixpkgs/default.nix
+++ b/pkgs/development/python-modules/nixpkgs/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Allows to `from nixpkgs import` stuff in interactive Python sessions";
-    homepage = http://github.com/t184256/nixpkgs-python-importer;
+    homepage = https://github.com/t184256/nixpkgs-python-importer;
     license = licenses.mit;
     maintainers = with maintainers; [ t184256 ];
   };
diff --git a/pkgs/development/python-modules/nltk/default.nix b/pkgs/development/python-modules/nltk/default.nix
index 56edc44bce71..9ae4f00b495b 100644
--- a/pkgs/development/python-modules/nltk/default.nix
+++ b/pkgs/development/python-modules/nltk/default.nix
@@ -1,17 +1,25 @@
-{ fetchurl, buildPythonPackage, lib, six, pythonAtLeast, pythonOlder }:
+{ fetchPypi, buildPythonPackage, lib, six, singledispatch, isPy3k, fetchpatch }:
 
 buildPythonPackage rec {
-  version = "3.2.5";
+  version = "3.4";
   pname = "nltk";
 
-  src = fetchurl {
-    url = "mirror://pypi/n/nltk/nltk-${version}.tar.gz";
-    sha256 = "2661f9971d983db314bbebd51ba770811a362c6597fd0f303bb1d3beadcb4834";
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "286f6797204ffdb52525a1d21ec0a221ec68b8e3fa4f2d25f412ac8e63c70e8d";
   };
 
-  propagatedBuildInputs = [ six ];
+  propagatedBuildInputs = [ six ] ++ lib.optional (!isPy3k) singledispatch;
 
-  disabled = pythonOlder "2.7" || pythonOlder "3.4" && (pythonAtLeast "3.0");
+  # TODO: remove patch during update to new version
+  patches = [
+    (fetchpatch {
+      url = https://github.com/nltk/nltk/commit/3966111cbf2f35fb86082b2f12acd90d75e9b8bb.patch;
+      includes = [ "setup.py" ];
+      sha256 = "1sxafnvf6nzv6d996xc1rys06x62s36swgpfqhsyh6l1lj7y38jw";
+    })
+  ];
 
   # Tests require some data, the downloading of which is impure. It would
   # probably make sense to make the data another derivation, but then feeding
diff --git a/pkgs/development/python-modules/pagerduty/default.nix b/pkgs/development/python-modules/pagerduty/default.nix
index 634de3947a67..d3f47dad3ca2 100644
--- a/pkgs/development/python-modules/pagerduty/default.nix
+++ b/pkgs/development/python-modules/pagerduty/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   };
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/samuel/python-pagerduty;
+    homepage = https://github.com/samuel/python-pagerduty;
     description = "Library for the PagerDuty service API";
     license = licenses.bsd0;
   };
diff --git a/pkgs/development/python-modules/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix
index 1944e23f4b49..7416717585f1 100644
--- a/pkgs/development/python-modules/pandas/default.nix
+++ b/pkgs/development/python-modules/pandas/default.nix
@@ -30,11 +30,11 @@ let
 
 in buildPythonPackage rec {
   pname = "pandas";
-  version = "0.24.1";
+  version = "0.24.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "435821cb2501eabbcee7e83614bd710940dc0cf28b5afbc4bdb816c31cec71af";
+    sha256 = "18imlm8xbhcbwy4wa957a1fkamrcb0z988z006jpfda3ki09z4ag";
   };
 
   checkInputs = [ pytest glibcLocales moto hypothesis ];
diff --git a/pkgs/development/python-modules/peewee/default.nix b/pkgs/development/python-modules/peewee/default.nix
index 344f52d245f6..08c908e0aa59 100644
--- a/pkgs/development/python-modules/peewee/default.nix
+++ b/pkgs/development/python-modules/peewee/default.nix
@@ -10,14 +10,14 @@
 buildPythonPackage rec {
 
   pname = "peewee";
-  version = "3.9.2";
+  version = "3.9.3";
 
   # pypi release does not provide tests
   src = fetchFromGitHub {
     owner = "coleifer";
     repo = pname;
     rev = version;
-    sha256 = "0rmjr90555s1n6caqbncvilx6v30cksmcr4bjzylapsl3a5aw9aa";
+    sha256 = "1frwwqkk0y1bkcm7bdzbyv2119vv640ncgs4d55zhbs70fxm2ylj";
   };
 
 
diff --git a/pkgs/development/python-modules/pilkit/default.nix b/pkgs/development/python-modules/pilkit/default.nix
index 2f4f4b264ce6..0f2a2bb4a8b7 100644
--- a/pkgs/development/python-modules/pilkit/default.nix
+++ b/pkgs/development/python-modules/pilkit/default.nix
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   buildInputs = [ pillow nose_progressive nose mock blessings ];
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/matthewwithanm/pilkit/;
+    homepage = https://github.com/matthewwithanm/pilkit/;
     description = "A collection of utilities and processors for the Python Imaging Libary";
     license = licenses.bsd0;
     maintainers = with maintainers; [ domenkozar ];
diff --git a/pkgs/development/python-modules/protobuf/default.nix b/pkgs/development/python-modules/protobuf/default.nix
index 4f00537db0c8..69dce2723ebb 100644
--- a/pkgs/development/python-modules/protobuf/default.nix
+++ b/pkgs/development/python-modules/protobuf/default.nix
@@ -18,8 +18,8 @@ buildPythonPackage rec {
   nativeBuildInputs = [ google_apputils pyext ];
   buildInputs = [ protobuf ];
 
-  patches = optional isPy37
-    # Python 3.7 compatibility (remove when protobuf 3.7 is released)
+  patches = optional (isPy37 && (versionOlder protobuf.version "3.6.1.2"))
+    # Python 3.7 compatibility (not needed for protobuf >= 3.6.1.2)
     (fetchpatch {
       url = "https://github.com/protocolbuffers/protobuf/commit/0a59054c30e4f0ba10f10acfc1d7f3814c63e1a7.patch";
       sha256 = "09hw22y3423v8bbmc9xm07znwdxfbya6rp78d4zqw6fisdvjkqf1";
@@ -41,9 +41,9 @@ buildPythonPackage rec {
 
   preBuild = ''
     # Workaround for https://github.com/google/protobuf/issues/2895
-    ${python}/bin/${python.executable} setup.py build
+    ${python.interpreter} setup.py build
   '' + optionalString (versionAtLeast protobuf.version "2.6.0") ''
-    ${python}/bin/${python.executable} setup.py build_ext --cpp_implementation
+    ${python.interpreter} setup.py build_ext --cpp_implementation
   '';
 
   installFlags = optional (versionAtLeast protobuf.version "2.6.0")
diff --git a/pkgs/development/python-modules/py3exiv2/default.nix b/pkgs/development/python-modules/py3exiv2/default.nix
index 676f6b22990b..2a886c4cf915 100644
--- a/pkgs/development/python-modules/py3exiv2/default.nix
+++ b/pkgs/development/python-modules/py3exiv2/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "py3exiv2";
-  version = "0.5.0";
+  version = "0.6.1";
   disabled = !(isPy3k);
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "09mv7hcczayzjbd4dsrph16ab21slaiamgph9lwr1kjdw7ri5cpg";
+    sha256 = "1j2pkynqdqrxf86qyzrjj76i33ylxfsrqxv4j2x9bkd0hk6x0pa6";
   };
 
   buildInputs = [ exiv2 boost ];
diff --git a/pkgs/development/python-modules/py3status/default.nix b/pkgs/development/python-modules/py3status/default.nix
index d8f3c01bbd48..8cca405f7bfd 100644
--- a/pkgs/development/python-modules/py3status/default.nix
+++ b/pkgs/development/python-modules/py3status/default.nix
@@ -23,11 +23,11 @@
 
 buildPythonPackage rec {
   pname = "py3status";
-  version = "3.16";
+  version = "3.18";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1xrfph277bgjln3jbpzpgkhxad04fjvj7s3xfil42q1sxi4s3q3g";
+    sha256 = "053znyl68sjmlp3r4br5jxhqqswjfbb1rb8k6f9qpzcym37439r0";
   };
 
   doCheck = false;
diff --git a/pkgs/development/python-modules/pychef/default.nix b/pkgs/development/python-modules/pychef/default.nix
index f3c4109dd93d..51ce6241bb9c 100644
--- a/pkgs/development/python-modules/pychef/default.nix
+++ b/pkgs/development/python-modules/pychef/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/coderanger/pychef;
+    homepage = https://github.com/coderanger/pychef;
     description = "Python implementation of a Chef API client";
     license = licenses.bsd0;
   };
diff --git a/pkgs/development/python-modules/pylama/default.nix b/pkgs/development/python-modules/pylama/default.nix
index f424a89ae33f..3073f55ca3ae 100644
--- a/pkgs/development/python-modules/pylama/default.nix
+++ b/pkgs/development/python-modules/pylama/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "pylama";
-  version = "7.6.6";
+  version = "7.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f81bf3bbd15db802b620903df491e5cd6469dcd542424ce6718425037dcc4d10";
+    sha256 = "9bae53ef9c1a431371d6a8dca406816a60d547147b60a4934721898f553b7d8f";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pysaml2/default.nix b/pkgs/development/python-modules/pysaml2/default.nix
index 04d0d1c34a54..9512fce4f452 100644
--- a/pkgs/development/python-modules/pysaml2/default.nix
+++ b/pkgs/development/python-modules/pysaml2/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pysaml2";
-  version = "4.6.5";
+  version = "4.7.0";
 
   # No tests in PyPI tarball
   src = fetchFromGitHub {
     owner = "IdentityPython";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0xlbr52vzx1j9sg65jhqv01vp4a49afjy03lc2zb0ggx0xxzngvb";
+    sha256 = "1bpfvy2xd3aqf79ihglmxlxnv7406184p99h5mn5h9ifs54vvhhl";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/pyschedule/default.nix b/pkgs/development/python-modules/pyschedule/default.nix
new file mode 100644
index 000000000000..5fbabdc09883
--- /dev/null
+++ b/pkgs/development/python-modules/pyschedule/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pulp
+}:
+
+buildPythonPackage rec {
+  pname = "pyschedule";
+  version = "0.2.34";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "6bba9e9ea07906ce2dfe3cd847c1822b137f6b13e9f975c50b347312fd98e110";
+  };
+
+  propagatedBuildInputs = [
+    pulp
+  ];
+
+  # tests not included with pypi release (in examples)
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Formulate and solve resource-constrained scheduling problems";
+    homepage = https://github.com/timnon/pyschedule;
+    license = licenses.asl20;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-ansible/default.nix b/pkgs/development/python-modules/pytest-ansible/default.nix
index 77ea742387e8..e37fa07f2723 100644
--- a/pkgs/development/python-modules/pytest-ansible/default.nix
+++ b/pkgs/development/python-modules/pytest-ansible/default.nix
@@ -33,7 +33,7 @@ buildPythonPackage rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/jlaska/pytest-ansible;
+    homepage = https://github.com/jlaska/pytest-ansible;
     description = "Plugin for py.test to simplify calling ansible modules from tests or fixtures";
     license = licenses.mit;
     maintainers = [ maintainers.costrouc ];
diff --git a/pkgs/development/python-modules/pytest-click/default.nix b/pkgs/development/python-modules/pytest-click/default.nix
new file mode 100644
index 000000000000..e20ebc77ad1d
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-click/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytest
+, click
+, pytestcov
+, isPy27
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-click";
+  version = "0.3";
+
+  src = fetchFromGitHub {
+    owner = "Stranger6667";
+    repo = "pytest-click";
+    rev = version;
+    sha256 = "1cd15anw8d4rq6qs03j6ag38199rqw7vp0w0w0fm41mvdzr0lwvz";
+  };
+
+  postConfigure = ''
+    substituteInPlace setup.py \
+      --replace "mock==1.0.1" "mock"
+  '';
+
+  propagatedBuildInputs = [
+    pytest
+    click
+  ];
+
+  checkInputs = [ pytestcov ] ++ lib.optionals isPy27 [ mock ];
+
+  meta = with lib; {
+    description = "pytest plugin for click";
+    homepage = https://github.com/Stranger6667/pytest-click;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-pylint/default.nix b/pkgs/development/python-modules/pytest-pylint/default.nix
new file mode 100644
index 000000000000..8943f220fe62
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-pylint/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, pylint
+, six
+, pytestrunner
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-pylint";
+  version = "0.14.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "7bfbb66fc6dc160193a9e813a7c55e5ae32028f18660deeb90e1cb7e980cbbac";
+  };
+
+  buildInputs = [ pytestrunner ];
+
+  propagatedBuildInputs = [
+    pytest
+    pylint
+    six
+  ];
+
+  # tests not included with release
+  doCheck = false;
+
+  meta = with lib; {
+    description = "pytest plugin to check source code with pylint";
+    homepage = https://github.com/carsongee/pytest-pylint;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-engineio/default.nix b/pkgs/development/python-modules/python-engineio/default.nix
index 7e5be24efaa2..adb6d71fb40d 100644
--- a/pkgs/development/python-modules/python-engineio/default.nix
+++ b/pkgs/development/python-modules/python-engineio/default.nix
@@ -48,7 +48,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Engine.IO server";
-    homepage = http://github.com/miguelgrinberg/python-engineio/;
+    homepage = https://github.com/miguelgrinberg/python-engineio/;
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = [ maintainers.mic92 ];
diff --git a/pkgs/development/python-modules/python-json-logger/default.nix b/pkgs/development/python-modules/python-json-logger/default.nix
index 381d54677d03..8dfea69a2334 100644
--- a/pkgs/development/python-modules/python-json-logger/default.nix
+++ b/pkgs/development/python-modules/python-json-logger/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   checkInputs = [ nose ];
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/madzak/python-json-logger;
+    homepage = https://github.com/madzak/python-json-logger;
     description = "A python library adding a json log formatter";
     license = licenses.bsdOriginal;
     maintainers = [ maintainers.costrouc ];
diff --git a/pkgs/development/python-modules/python-snappy/default.nix b/pkgs/development/python-modules/python-snappy/default.nix
index 4615bfcccce1..fd84c587bdc0 100644
--- a/pkgs/development/python-modules/python-snappy/default.nix
+++ b/pkgs/development/python-modules/python-snappy/default.nix
@@ -32,7 +32,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Python library for the snappy compression library from Google";
-    homepage = http://github.com/andrix/python-snappy;
+    homepage = https://github.com/andrix/python-snappy;
     license = licenses.bsd3;
     maintainers = [ maintainers.costrouc ];
   };
diff --git a/pkgs/development/python-modules/python-socketio/default.nix b/pkgs/development/python-modules/python-socketio/default.nix
index 368b26f2fb5e..5dff7189e66c 100644
--- a/pkgs/development/python-modules/python-socketio/default.nix
+++ b/pkgs/development/python-modules/python-socketio/default.nix
@@ -26,7 +26,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Socket.IO server";
-    homepage = http://github.com/miguelgrinberg/python-socketio/;
+    homepage = https://github.com/miguelgrinberg/python-socketio/;
     license = licenses.mit;
     maintainers = [ maintainers.mic92 ];
   };
diff --git a/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix b/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix
index 6f85280979bd..baf26c2437bc 100644
--- a/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix
+++ b/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix
@@ -26,7 +26,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Sphinx extension for Read the Docs overrides";
-    homepage = http://github.com/rtfd/readthedocs-sphinx-ext;
+    homepage = https://github.com/rtfd/readthedocs-sphinx-ext;
     license = licenses.mit;
   };
 }
diff --git a/pkgs/development/python-modules/shellingham/default.nix b/pkgs/development/python-modules/shellingham/default.nix
index c1791db9fbc9..707a79e10551 100644
--- a/pkgs/development/python-modules/shellingham/default.nix
+++ b/pkgs/development/python-modules/shellingham/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "shellingham";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "116r78nhw74rh857kv9l614xjr6k89919s6l8b14hlvy8fz8rg51";
+    sha256 = "1q7kws7w4x2hji3g7y0ni9ddk4sd676ylrb3db54gbpys6xj6nwq";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/shodan/default.nix b/pkgs/development/python-modules/shodan/default.nix
index bf57b9846ee5..586edd766cda 100644
--- a/pkgs/development/python-modules/shodan/default.nix
+++ b/pkgs/development/python-modules/shodan/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "shodan";
-  version = "1.11.1";
+  version = "1.12.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0kjcyw3xmps3maf4vzn1pypc6i60q8b67xj78v4gbv4yx2cp2fzr";
+    sha256 = "0fd68yaqhpay7jxhyc6xkdrak88wdblxs0phgdkngbakx2yaw2y3";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/slicerator/default.nix b/pkgs/development/python-modules/slicerator/default.nix
index 6af7fafdddf8..af17780909e6 100644
--- a/pkgs/development/python-modules/slicerator/default.nix
+++ b/pkgs/development/python-modules/slicerator/default.nix
@@ -24,7 +24,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/soft-matter/slicerator;
+    homepage = https://github.com/soft-matter/slicerator;
     description = "A lazy-loading, fancy-sliceable iterable";
     license = licenses.bsdOriginal;
     maintainers = [ maintainers.costrouc ];
diff --git a/pkgs/development/python-modules/smart_open/default.nix b/pkgs/development/python-modules/smart_open/default.nix
index 9d4df1135994..7504d527ca7b 100644
--- a/pkgs/development/python-modules/smart_open/default.nix
+++ b/pkgs/development/python-modules/smart_open/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "smart_open";
-  version = "1.8.0";
+  version = "1.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a52206bb69c38c5f08709ec2ee5704b0f86fc0a770935b5dad9b5841bfd5f502";
+    sha256 = "0a38mwlz92mlaxz8f8z4yyacpgykiysbcwfykrgr74vlic8x4m5i";
   };
 
   # nixpkgs version of moto is >=1.2.0, remove version pin to fix build
diff --git a/pkgs/development/python-modules/ssdeep/default.nix b/pkgs/development/python-modules/ssdeep/default.nix
index f06138b4c255..f41452b4b61d 100644
--- a/pkgs/development/python-modules/ssdeep/default.nix
+++ b/pkgs/development/python-modules/ssdeep/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/DinoTools/python-ssdeep;
+    homepage = https://github.com/DinoTools/python-ssdeep;
     description = "Python wrapper for the ssdeep library";
     license = licenses.lgpl3;
   };
diff --git a/pkgs/development/python-modules/streamz/default.nix b/pkgs/development/python-modules/streamz/default.nix
index b23853a9bae0..592ce28b7a5b 100644
--- a/pkgs/development/python-modules/streamz/default.nix
+++ b/pkgs/development/python-modules/streamz/default.nix
@@ -35,7 +35,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Pipelines to manage continuous streams of data";
-    homepage = http://github.com/mrocklin/streamz/;
+    homepage = https://github.com/mrocklin/streamz/;
     license = licenses.bsd3;
     maintainers = [ maintainers.costrouc ];
   };
diff --git a/pkgs/development/python-modules/sympy/default.nix b/pkgs/development/python-modules/sympy/default.nix
index 1bf7511d2bb9..c09267662c17 100644
--- a/pkgs/development/python-modules/sympy/default.nix
+++ b/pkgs/development/python-modules/sympy/default.nix
@@ -8,25 +8,25 @@
 
 buildPythonPackage rec {
   pname = "sympy";
-  version = "1.3"; # Upgrades may break sage. Please test or ping @timokau.
+  version = "1.4"; # Upgrades may break sage. Please test or ping @timokau.
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0m0vhyv15zszn19mk5xq3py4iijjbr7f3fpy1s57b8q7c9arncg1";
+    sha256 = "1q937csy8rd18pk2fz1ssj7jyj7l3rjx4nzbiz5vcymfhrb1x8bi";
   };
 
   checkInputs = [ glibcLocales ];
 
   propagatedBuildInputs = [ mpmath ];
 
-  # some tests fail: https://github.com/sympy/sympy/issues/15149
+  # tests take ~1h
   doCheck = false;
 
   patches = [
     # to be fixed by https://github.com/sympy/sympy/pull/13476
     (fetchpatch {
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/sympy/patches/03_undeffun_sage.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
-      sha256 = "1mh2va1rlgizgvx8yzqwgvbf5wvswarn511002b361mc8yy0bnhr";
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/sympy/patches/03_undeffun_sage.patch?id=3277ba76d0ba7174608a31a0c6623e9210c63e3d";
+      sha256 = "0xcp1qafvqnivvvi0byh51mbgqicjhmswwvqvamjz9rxfzm5f7d7";
     })
   ];
 
diff --git a/pkgs/development/python-modules/tenacity/default.nix b/pkgs/development/python-modules/tenacity/default.nix
index d34231ca9a9e..3540bebd1960 100644
--- a/pkgs/development/python-modules/tenacity/default.nix
+++ b/pkgs/development/python-modules/tenacity/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "tenacity";
-  version = "5.0.3";
+  version = "5.0.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "12z36fq6qfn9sgd1snsfwrk5j2cw29bsb7mkb0g818fal41g7dr4";
+    sha256 = "06sp12cn8zcb7rqklq91f6mxhvrdq5cs0p3pdiazacqcmvvwbhx0";
   };
 
   nativeBuildInputs = [ pbr ];
diff --git a/pkgs/development/python-modules/tensorflow-probability/default.nix b/pkgs/development/python-modules/tensorflow-probability/default.nix
new file mode 100644
index 000000000000..aa32904b8d33
--- /dev/null
+++ b/pkgs/development/python-modules/tensorflow-probability/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, tensorflow
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "tensorflow-probability";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "tensorflow";
+    repo = "probability";
+    rev = "v${version}";
+    sha256 = "1y210n4asv8j39pk68bdfrz01gddflvzhxbcvj5jw6rjgaagnhvx";
+  };
+
+  propagatedBuildInputs = [
+    tensorflow
+  ];
+
+  checkInputs = [
+    pytest
+  ];
+
+  # Tests have an invalid import (`tensorflow_probability.opensource`), should
+  # be resolved in the next version with
+  # https://github.com/tensorflow/probability/commit/77d5957f2f0bdddcb46582799cd9c5c5167a1a40
+  doCheck = false;
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with lib; {
+    description = "Library for probabilistic reasoning and statistical analysis";
+    homepage = https://www.tensorflow.org/probability/;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ timokau ];
+  };
+}
diff --git a/pkgs/development/python-modules/tinycss2/default.nix b/pkgs/development/python-modules/tinycss2/default.nix
index 21f89e31f376..894d4f737fb6 100644
--- a/pkgs/development/python-modules/tinycss2/default.nix
+++ b/pkgs/development/python-modules/tinycss2/default.nix
@@ -1,19 +1,22 @@
-{ lib, buildPythonPackage, fetchPypi, webencodings, pytest, pytestrunner, pytestcov, pytest-flake8, pytest-isort, glibcLocales }:
+{ lib, buildPythonPackage, pythonOlder, fetchPypi
+, webencodings
+, pytest, pytestrunner, pytestcov, pytest-flake8, pytest-isort }:
 
 buildPythonPackage rec {
   pname = "tinycss2";
-  version = "0.6.1";
+  version = "1.0.2";
+  disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7c53c2c0e914c7711c295b3101bcc78e0b7eda23ff20228a936efe11cdcc7136";
+    sha256 = "1kw84y09lggji4krkc58jyhsfj31w8npwhznr7lf19d0zbix09v4";
   };
 
-  propagatedBuildInputs = [ webencodings ];
+  patches = [ ./remove-redundant-dependency.patch ];
 
-  checkInputs = [ pytest pytestrunner pytestcov pytest-flake8 pytest-isort glibcLocales ];
+  propagatedBuildInputs = [ webencodings ];
 
-  LC_ALL = "en_US.UTF-8";
+  checkInputs = [ pytest pytestrunner pytestcov pytest-flake8 pytest-isort ];
 
   meta = with lib; {
     description = "Low-level CSS parser for Python";
diff --git a/pkgs/development/python-modules/tinycss2/remove-redundant-dependency.patch b/pkgs/development/python-modules/tinycss2/remove-redundant-dependency.patch
new file mode 100644
index 000000000000..27ec511c55f6
--- /dev/null
+++ b/pkgs/development/python-modules/tinycss2/remove-redundant-dependency.patch
@@ -0,0 +1,12 @@
+diff --git a/setup.cfg b/setup.cfg
+index b3b3c2d..480f3e6 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -33,7 +33,6 @@ project_urls =
+ 
+ [options]
+ packages = find:
+-setup_requires = pytest-runner
+ install_requires = 
+ 	setuptools >= 39.2.0
+ 	webencodings >= 0.4
diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix
index 2b04fdc20c95..9c20226fea05 100644
--- a/pkgs/development/python-modules/twilio/default.nix
+++ b/pkgs/development/python-modules/twilio/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "twilio";
-  version = "6.26.0";
+  version = "6.26.1";
   # tests not included in PyPi, so fetch from github instead
   src = fetchFromGitHub {
     owner = "twilio";
     repo = "twilio-python";
     rev = version;
-    sha256 = "0l50n5hljkp7w2l4c36arxf4dxhkfhs7ywwck9y1gvcgsnvccmss";
+    sha256 = "1ly22ah487jkq0my1l3c6hbx24fgganjhxrlrcw5jfc80qmgd3hd";
   };
 
   buildInputs = [ nose mock ];
diff --git a/pkgs/development/python-modules/xattr/default.nix b/pkgs/development/python-modules/xattr/default.nix
index 8591e7d01b2c..c8940b54c46c 100644
--- a/pkgs/development/python-modules/xattr/default.nix
+++ b/pkgs/development/python-modules/xattr/default.nix
@@ -24,7 +24,7 @@ buildPythonPackage rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/xattr/xattr;
+    homepage = https://github.com/xattr/xattr;
     description = "Python wrapper for extended filesystem attributes";
     license = licenses.mit;
   };
diff --git a/pkgs/development/python-modules/zeep/default.nix b/pkgs/development/python-modules/zeep/default.nix
index c4d9222e8179..0513183d484c 100644
--- a/pkgs/development/python-modules/zeep/default.nix
+++ b/pkgs/development/python-modules/zeep/default.nix
@@ -1,88 +1,67 @@
 { fetchPypi
 , lib
 , buildPythonPackage
-, python
 , isPy3k
 , appdirs
+, attrs
 , cached-property
 , defusedxml
 , isodate
 , lxml
-, pytz
+, requests
 , requests_toolbelt
 , six
+, pytz
+, tornado
+, aiohttp
 # test dependencies
 , freezegun
 , mock
-, nose
 , pretend
-, pytest
+, pytest_3
 , pytestcov
 , requests-mock
-, tornado
-, attrs
+, aioresponses
 }:
 
 buildPythonPackage rec {
   pname = "zeep";
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0bfpdy3hi8aa45piwg5gj0xxa187v13d66qr1ki73qn7c6rbizp5";
+    sha256 = "144dk7gw93l4amrwmp5vzxxkcjsgkx6fjqzvsawx2iap23j605j9";
   };
 
   propagatedBuildInputs = [
-    attrs
     appdirs
+    attrs
     cached-property
     defusedxml
     isodate
     lxml
-    pytz
+    requests
     requests_toolbelt
     six
-  ];
-
-  # testtools dependency not supported for py3k
-  doCheck = !isPy3k;
+    pytz
 
-  checkInputs = [
+    # optional requirements
     tornado
-  ];
+  ] ++ lib.optional isPy3k aiohttp;
 
-  buildInputs = if isPy3k then [] else [
+  checkInputs = [
     freezegun
     mock
-    nose
     pretend
-    pytest
     pytestcov
+    pytest_3
     requests-mock
-  ];
-
-  patchPhase = ''
-    # remove overly strict bounds and lint requirements
-    sed -e "s/freezegun==.*'/freezegun'/" \
-        -e "s/pytest-cov==.*'/pytest-cov'/" \
-        -e "s/'isort.*//" \
-        -e "s/'flake8.*//" \
-        -i setup.py
-
-    # locale.preferredencoding() != 'utf-8'
-    sed -e "s/xsd', 'r')/xsd', 'r', encoding='utf-8')/" -i tests/*.py
-
-    # cache defaults to home directory, which doesn't exist
-    sed -e "s|SqliteCache()|SqliteCache(path='./zeeptest.db')|" \
-        -i tests/test_transports.py
-
-    # requires xmlsec python module
-    rm tests/test_wsse_signature.py
-  '';
+  ] ++ lib.optional isPy3k aioresponses;
 
   checkPhase = ''
     runHook preCheck
-    ${python.interpreter} -m pytest tests
+    # ignored tests requires xmlsec python module
+    HOME=$(mktemp -d) pytest tests --ignore tests/test_wsse_signature.py
     runHook postCheck
   '';
 
diff --git a/pkgs/development/python-modules/zope-deferredimport/default.nix b/pkgs/development/python-modules/zope-deferredimport/default.nix
index 65ca0cc1ea9c..f447d29f2804 100644
--- a/pkgs/development/python-modules/zope-deferredimport/default.nix
+++ b/pkgs/development/python-modules/zope-deferredimport/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Allows you to perform imports names that will only be resolved when used in the code";
-    homepage = http://github.com/zopefoundation/zope.deferredimport;
+    homepage = https://github.com/zopefoundation/zope.deferredimport;
     license = licenses.zpl21;
   };
 }
diff --git a/pkgs/development/python-modules/zope-hookable/default.nix b/pkgs/development/python-modules/zope-hookable/default.nix
index de99386560ba..0b7bc80bf3a6 100644
--- a/pkgs/development/python-modules/zope-hookable/default.nix
+++ b/pkgs/development/python-modules/zope-hookable/default.nix
@@ -18,7 +18,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Supports the efficient creation of “hookable” objects";
-    homepage = http://github.com/zopefoundation/zope.hookable;
+    homepage = https://github.com/zopefoundation/zope.hookable;
     license = licenses.zpl21;
   };
 }
diff --git a/pkgs/development/python-modules/zope_contenttype/default.nix b/pkgs/development/python-modules/zope_contenttype/default.nix
index f310042976c2..9dac64907be9 100644
--- a/pkgs/development/python-modules/zope_contenttype/default.nix
+++ b/pkgs/development/python-modules/zope_contenttype/default.nix
@@ -13,7 +13,7 @@ buildPythonPackage rec {
   };
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/zopefoundation/zope.contenttype;
+    homepage = https://github.com/zopefoundation/zope.contenttype;
     description = "A utility module for content-type (MIME type) handling";
     license = licenses.zpl20;
     maintainers = with maintainers; [ goibhniu ];
diff --git a/pkgs/development/python-modules/zope_deprecation/default.nix b/pkgs/development/python-modules/zope_deprecation/default.nix
index f6c5f51b6265..3a2040cf008b 100644
--- a/pkgs/development/python-modules/zope_deprecation/default.nix
+++ b/pkgs/development/python-modules/zope_deprecation/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   buildInputs = [ zope_testing ];
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/zopefoundation/zope.deprecation;
+    homepage = https://github.com/zopefoundation/zope.deprecation;
     description = "Zope Deprecation Infrastructure";
     license = licenses.zpl20;
     maintainers = with maintainers; [ garbas domenkozar ];
diff --git a/pkgs/development/python-modules/zope_lifecycleevent/default.nix b/pkgs/development/python-modules/zope_lifecycleevent/default.nix
index c72eeeb921df..738b30c489f5 100644
--- a/pkgs/development/python-modules/zope_lifecycleevent/default.nix
+++ b/pkgs/development/python-modules/zope_lifecycleevent/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ zope_event zope_component ];
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/zopefoundation/zope.lifecycleevent;
+    homepage = https://github.com/zopefoundation/zope.lifecycleevent;
     description = "Object life-cycle events";
     license = licenses.zpl20;
     maintainers = with maintainers; [ goibhniu ];
diff --git a/pkgs/development/python-modules/zope_location/default.nix b/pkgs/development/python-modules/zope_location/default.nix
index 70ba9a8e88a9..7c0df16f7751 100644
--- a/pkgs/development/python-modules/zope_location/default.nix
+++ b/pkgs/development/python-modules/zope_location/default.nix
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/zopefoundation/zope.location/;
+    homepage = https://github.com/zopefoundation/zope.location/;
     description = "Zope Location";
     license = licenses.zpl20;
     maintainers = with maintainers; [ goibhniu ];
diff --git a/pkgs/development/python-modules/zope_proxy/default.nix b/pkgs/development/python-modules/zope_proxy/default.nix
index 7c4b5d89ea30..08932c1cba19 100644
--- a/pkgs/development/python-modules/zope_proxy/default.nix
+++ b/pkgs/development/python-modules/zope_proxy/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/zopefoundation/zope.proxy;
+    homepage = https://github.com/zopefoundation/zope.proxy;
     description = "Generic Transparent Proxies";
     license = licenses.zpl20;
     maintainers = with maintainers; [ goibhniu ];
diff --git a/pkgs/development/python-modules/zope_size/default.nix b/pkgs/development/python-modules/zope_size/default.nix
index de1a34a3f79e..8651e2d6822f 100644
--- a/pkgs/development/python-modules/zope_size/default.nix
+++ b/pkgs/development/python-modules/zope_size/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ zope_i18nmessageid zope_interface ];
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/zopefoundation/zope.size;
+    homepage = https://github.com/zopefoundation/zope.size;
     description = "Interfaces and simple adapter that give the size of an object";
     license = licenses.zpl20;
     maintainers = with maintainers; [ goibhniu ];