summary refs log tree commit diff
path: root/pkgs/development/python-modules
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules')
-rw-r--r--pkgs/development/python-modules/ailment/default.nix4
-rw-r--r--pkgs/development/python-modules/aioambient/default.nix10
-rw-r--r--pkgs/development/python-modules/aiolip/default.nix4
-rw-r--r--pkgs/development/python-modules/aiorpcx/default.nix4
-rw-r--r--pkgs/development/python-modules/aiosmb/default.nix16
-rw-r--r--pkgs/development/python-modules/aiowinreg/default.nix11
-rw-r--r--pkgs/development/python-modules/amcrest/default.nix8
-rw-r--r--pkgs/development/python-modules/angr/default.nix4
-rw-r--r--pkgs/development/python-modules/angrop/default.nix4
-rw-r--r--pkgs/development/python-modules/anyio/default.nix11
-rw-r--r--pkgs/development/python-modules/apispec/default.nix4
-rw-r--r--pkgs/development/python-modules/archinfo/default.nix4
-rw-r--r--pkgs/development/python-modules/astroid/default.nix24
-rw-r--r--pkgs/development/python-modules/async-dns/default.nix6
-rw-r--r--pkgs/development/python-modules/autologging/default.nix2
-rw-r--r--pkgs/development/python-modules/bitstring/default.nix23
-rw-r--r--pkgs/development/python-modules/bootstrapped-pip/2.nix4
-rw-r--r--pkgs/development/python-modules/bootstrapped-pip/default.nix4
-rw-r--r--pkgs/development/python-modules/brotlicffi/default.nix44
-rw-r--r--pkgs/development/python-modules/buildbot/default.nix20
-rw-r--r--pkgs/development/python-modules/buildbot/pkg.nix2
-rw-r--r--pkgs/development/python-modules/buildbot/plugins.nix10
-rwxr-xr-xpkgs/development/python-modules/buildbot/update.sh12
-rw-r--r--pkgs/development/python-modules/buildbot/worker.nix2
-rw-r--r--pkgs/development/python-modules/cbor2/default.nix4
-rw-r--r--pkgs/development/python-modules/claripy/default.nix4
-rw-r--r--pkgs/development/python-modules/cle/default.nix4
-rw-r--r--pkgs/development/python-modules/click-repl/default.nix4
-rw-r--r--pkgs/development/python-modules/clickhouse-cli/default.nix4
-rw-r--r--pkgs/development/python-modules/clintermission/default.nix4
-rw-r--r--pkgs/development/python-modules/coconut/default.nix4
-rw-r--r--pkgs/development/python-modules/datasets/default.nix10
-rw-r--r--pkgs/development/python-modules/dbus-next/default.nix7
-rw-r--r--pkgs/development/python-modules/dipy/default.nix4
-rw-r--r--pkgs/development/python-modules/dotmap/default.nix4
-rw-r--r--pkgs/development/python-modules/dufte/default.nix25
-rw-r--r--pkgs/development/python-modules/emoji/default.nix4
-rw-r--r--pkgs/development/python-modules/environmental-override/default.nix26
-rw-r--r--pkgs/development/python-modules/geocachingapi/default.nix44
-rw-r--r--pkgs/development/python-modules/hap-python/default.nix4
-rw-r--r--pkgs/development/python-modules/iaqualink/default.nix4
-rw-r--r--pkgs/development/python-modules/ipython/5.nix4
-rw-r--r--pkgs/development/python-modules/ipython/7.16.nix4
-rw-r--r--pkgs/development/python-modules/ipython/default.nix4
-rw-r--r--pkgs/development/python-modules/iso8601/default.nix4
-rw-r--r--pkgs/development/python-modules/joblib/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyter_console/5.nix4
-rw-r--r--pkgs/development/python-modules/jupyter_console/default.nix4
-rw-r--r--pkgs/development/python-modules/luddite/default.nix37
-rw-r--r--pkgs/development/python-modules/lz4/default.nix (renamed from pkgs/development/python-modules/python-lz4/default.nix)0
-rw-r--r--pkgs/development/python-modules/matrix-client/default.nix27
-rw-r--r--pkgs/development/python-modules/millheater/default.nix5
-rw-r--r--pkgs/development/python-modules/motioneye-client/default.nix4
-rw-r--r--pkgs/development/python-modules/msldap/default.nix4
-rw-r--r--pkgs/development/python-modules/nbxmpp/default.nix35
-rw-r--r--pkgs/development/python-modules/neo/default.nix6
-rw-r--r--pkgs/development/python-modules/nexia/default.nix4
-rw-r--r--pkgs/development/python-modules/nvchecker/default.nix13
-rw-r--r--pkgs/development/python-modules/palace/default.nix40
-rw-r--r--pkgs/development/python-modules/papis/default.nix4
-rw-r--r--pkgs/development/python-modules/perfplot/default.nix23
-rw-r--r--pkgs/development/python-modules/pg8000/default.nix9
-rw-r--r--pkgs/development/python-modules/pglast/default.nix4
-rw-r--r--pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--pkgs/development/python-modules/pip/default.nix4
-rw-r--r--pkgs/development/python-modules/pipdate/default.nix26
-rw-r--r--pkgs/development/python-modules/plexapi/default.nix11
-rw-r--r--pkgs/development/python-modules/praw/default.nix4
-rw-r--r--pkgs/development/python-modules/prompt-toolkit/1.nix (renamed from pkgs/development/python-modules/prompt_toolkit/1.nix)23
-rw-r--r--pkgs/development/python-modules/prompt-toolkit/default.nix (renamed from pkgs/development/python-modules/prompt_toolkit/default.nix)22
-rw-r--r--pkgs/development/python-modules/ptpython/default.nix4
-rw-r--r--pkgs/development/python-modules/pweave/default.nix2
-rw-r--r--pkgs/development/python-modules/pyairvisual/default.nix4
-rw-r--r--pkgs/development/python-modules/pyarrow/default.nix4
-rw-r--r--pkgs/development/python-modules/pybind11/default.nix14
-rw-r--r--pkgs/development/python-modules/pyfantom/default.nix2
-rw-r--r--pkgs/development/python-modules/pyfma/default.nix30
-rw-r--r--pkgs/development/python-modules/pyiqvia/default.nix15
-rw-r--r--pkgs/development/python-modules/pykoplenti/default.nix4
-rw-r--r--pkgs/development/python-modules/pylint/default.nix4
-rw-r--r--pkgs/development/python-modules/pymodbus/default.nix4
-rw-r--r--pkgs/development/python-modules/pypck/default.nix6
-rw-r--r--pkgs/development/python-modules/pyqtgraph/default.nix2
-rw-r--r--pkgs/development/python-modules/pyroma/default.nix44
-rw-r--r--pkgs/development/python-modules/pysma/default.nix4
-rw-r--r--pkgs/development/python-modules/pytenable/default.nix4
-rw-r--r--pkgs/development/python-modules/pytesseract/default.nix4
-rw-r--r--pkgs/development/python-modules/pytesseract/tesseract-binary.patch6
-rw-r--r--pkgs/development/python-modules/python-magic/default.nix9
-rw-r--r--pkgs/development/python-modules/python-magic/libmagic-path.patch41
-rw-r--r--pkgs/development/python-modules/python-mapnik/default.nix45
-rw-r--r--pkgs/development/python-modules/python-uinput/default.nix2
-rw-r--r--pkgs/development/python-modules/pytile/default.nix4
-rw-r--r--pkgs/development/python-modules/pytube/default.nix4
-rw-r--r--pkgs/development/python-modules/pyupgrade/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvex/default.nix4
-rw-r--r--pkgs/development/python-modules/pywemo/default.nix4
-rw-r--r--pkgs/development/python-modules/questionary/default.nix4
-rw-r--r--pkgs/development/python-modules/regenmaschine/default.nix4
-rw-r--r--pkgs/development/python-modules/sentry-sdk/default.nix4
-rw-r--r--pkgs/development/python-modules/setuptools/44.0.nix2
-rw-r--r--pkgs/development/python-modules/setuptools/default.nix14
-rw-r--r--pkgs/development/python-modules/simplejson/default.nix11
-rw-r--r--pkgs/development/python-modules/softlayer/default.nix6
-rw-r--r--pkgs/development/python-modules/sphinx-inline-tabs/default.nix34
-rw-r--r--pkgs/development/python-modules/sphinxext-opengraph/default.nix32
-rw-r--r--pkgs/development/python-modules/sqlalchemy/default.nix4
-rw-r--r--pkgs/development/python-modules/subunit/default.nix2
-rw-r--r--pkgs/development/python-modules/tensorflow/default.nix12
-rw-r--r--pkgs/development/python-modules/trezor/default.nix9
-rw-r--r--pkgs/development/python-modules/types-requests/default.nix4
-rw-r--r--pkgs/development/python-modules/vispy/default.nix2
-rw-r--r--pkgs/development/python-modules/xstatic-jquery-file-upload/default.nix2
-rw-r--r--pkgs/development/python-modules/yalexs/default.nix4
-rw-r--r--pkgs/development/python-modules/youtube-transcript-api/default.nix27
115 files changed, 782 insertions, 403 deletions
diff --git a/pkgs/development/python-modules/ailment/default.nix b/pkgs/development/python-modules/ailment/default.nix
index 3ddd3d366e8..12cca132ab1 100644
--- a/pkgs/development/python-modules/ailment/default.nix
+++ b/pkgs/development/python-modules/ailment/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "ailment";
-  version = "9.0.9166";
+  version = "9.0.9297";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "09qbqn57h92f81xv35f645ai7nkkqf7cidkg3qrwfpxcwc2g9kdz";
+    sha256 = "01lj0abg93icvf4nz1ngshl04avm48lh0naqjcaaxa6ak1gxf97d";
   };
 
   propagatedBuildInputs = [ pyvex ];
diff --git a/pkgs/development/python-modules/aioambient/default.nix b/pkgs/development/python-modules/aioambient/default.nix
index 83c74925b8c..8d75a1b11ee 100644
--- a/pkgs/development/python-modules/aioambient/default.nix
+++ b/pkgs/development/python-modules/aioambient/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "aioambient";
-  version = "1.2.4";
+  version = "1.2.5";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "sha256-uqvM5F0rpw+xeCXYl4lGMt3r0ugPsUmSvujmTJ9HABk=";
+    sha256 = "1v8xr69y9cajyrdfz8wdksz1hclh5cvgxppf9lpygwfj4q70wh88";
   };
 
   nativeBuildInputs = [
@@ -46,12 +46,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    # https://github.com/bachya/aioambient/pull/84
-    substituteInPlace pyproject.toml \
-      --replace 'websockets = "^8.1"' 'websockets = ">=8.1,<10.0"'
-  '';
-
   # Ignore the examples directory as the files are prefixed with test_
   disabledTestPaths = [ "examples/" ];
 
diff --git a/pkgs/development/python-modules/aiolip/default.nix b/pkgs/development/python-modules/aiolip/default.nix
index 1db1ae1cf03..80e110cbd8f 100644
--- a/pkgs/development/python-modules/aiolip/default.nix
+++ b/pkgs/development/python-modules/aiolip/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "aiolip";
-  version = "1.1.4";
+  version = "1.1.6";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "bdraco";
     repo = pname;
     rev = version;
-    sha256 = "1f8mlvbnfcn3sigsmjdpdpgxmnbvcjhfr7lzch61i8sy25dgakji";
+    sha256 = "1bgmcl8q1p6f2xm3w2qylvla6vf6bd1p2hfwj4l8w6w0w04vr02g";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/aiorpcx/default.nix b/pkgs/development/python-modules/aiorpcx/default.nix
index 8e2078f5212..eae5b4a537c 100644
--- a/pkgs/development/python-modules/aiorpcx/default.nix
+++ b/pkgs/development/python-modules/aiorpcx/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "aiorpcx";
-  version = "0.18.7";
+  version = "0.22.1";
 
   src = fetchPypi {
     inherit version;
     pname = "aiorpcX";
-    sha256 = "808a9ec9172df11677a0f7b459b69d1a6cf8b19c19da55541fa31fb1afce5ce7";
+    sha256 = "0lx54bcinp44fmr8q4bbffsqbkg8kdcwykf9i5jj0bj3sfzgf9k0";
   };
 
   propagatedBuildInputs = [ attrs ];
diff --git a/pkgs/development/python-modules/aiosmb/default.nix b/pkgs/development/python-modules/aiosmb/default.nix
index 88c793f9cb5..06ae856296f 100644
--- a/pkgs/development/python-modules/aiosmb/default.nix
+++ b/pkgs/development/python-modules/aiosmb/default.nix
@@ -2,9 +2,9 @@
 , asysocks
 , buildPythonPackage
 , colorama
-, fetchPypi
+, fetchFromGitHub
 , minikerberos
-, prompt_toolkit
+, prompt-toolkit
 , pycryptodomex
 , pythonOlder
 , six
@@ -15,19 +15,21 @@
 
 buildPythonPackage rec {
   pname = "aiosmb";
-  version = "0.2.49";
+  version = "0.2.50";
   disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-XCaAaY7a6Gdddm9B0ET+rVzFra5W0GTI/HUMuvpyhzM=";
+  src = fetchFromGitHub {
+    owner = "skelsec";
+    repo = pname;
+    rev = version;
+    sha256 = "016pylxqmzm1hn1mvx6jhxvgckdqpf993sd1bki07pblmm4ikl6q";
   };
 
   propagatedBuildInputs = [
     asysocks
     colorama
     minikerberos
-    prompt_toolkit
+    prompt-toolkit
     pycryptodomex
     six
     tqdm
diff --git a/pkgs/development/python-modules/aiowinreg/default.nix b/pkgs/development/python-modules/aiowinreg/default.nix
index 17d9160ce56..3bfbbf7c12b 100644
--- a/pkgs/development/python-modules/aiowinreg/default.nix
+++ b/pkgs/development/python-modules/aiowinreg/default.nix
@@ -3,23 +3,28 @@
 , fetchPypi
 , pythonOlder
 , winacl
+, prompt-toolkit
 }:
 
 buildPythonPackage rec {
   pname = "aiowinreg";
-  version = "0.0.5";
+  version = "0.0.6";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "096663ec3db35fdc7ccc1c2d0d64a11cf64f4baa48955088e42b6a649ce418a5";
+    sha256 = "0h0r9xrz1n8y75f2p21f7phqrlpsymyiipmgzr0lj591irzjmjjy";
   };
 
-  propagatedBuildInputs = [ winacl ];
+  propagatedBuildInputs = [
+    prompt-toolkit
+    winacl
+  ];
 
   # Project doesn't have tests
   doCheck = false;
+
   pythonImportsCheck = [ "aiowinreg" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/amcrest/default.nix b/pkgs/development/python-modules/amcrest/default.nix
index 772b8fbaa04..dc132d102f2 100644
--- a/pkgs/development/python-modules/amcrest/default.nix
+++ b/pkgs/development/python-modules/amcrest/default.nix
@@ -4,26 +4,30 @@
 , fetchFromGitHub
 , mock
 , pytestCheckHook
+, pythonOlder
 , requests
 , responses
 , urllib3
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "amcrest";
-  version = "1.7.2";
+  version = "1.8.0";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "tchellomello";
     repo = "python-amcrest";
     rev = version;
-    sha256 = "06gbrshf6vqvq3k813d1w37k2kmps0g6msa4lp2f9xvzw3iczshy";
+    sha256 = "180c0g840vh8dg4f08j0r29pdnhisav93d3axfvicd8fsb2cn36g";
   };
 
   propagatedBuildInputs = [
     argcomplete
     requests
     urllib3
+    typing-extensions
   ];
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/angr/default.nix b/pkgs/development/python-modules/angr/default.nix
index acad9cb0f59..53098646db2 100644
--- a/pkgs/development/python-modules/angr/default.nix
+++ b/pkgs/development/python-modules/angr/default.nix
@@ -43,14 +43,14 @@ in
 
 buildPythonPackage rec {
   pname = "angr";
-  version = "9.0.9166";
+  version = "9.0.9297";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1h1jb57zp8wy24xy60j76sl4hrzhhwfsvfx26zhbnhqzmwghpd5x";
+    sha256 = "1n0qklh0cwp75mr7zgv7a9qm58gxpfbwialhnyg8w9y00mqh6flj";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/angrop/default.nix b/pkgs/development/python-modules/angrop/default.nix
index 1ab86c1820a..ed84b56f0f8 100644
--- a/pkgs/development/python-modules/angrop/default.nix
+++ b/pkgs/development/python-modules/angrop/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "angrop";
-  version = "9.0.9166";
+  version = "9.0.9297";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1myrzp5axg0dj7kxqc2mz3kfqlds3vzvavcncrj5y9xpx8m7l71m";
+    sha256 = "10ky13j66ysag9wmx8hsmr4pn16h24rp34zqi3qn7hk1v2jrkkx6";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/anyio/default.nix b/pkgs/development/python-modules/anyio/default.nix
index 4c6a5e19078..ac34c336cad 100644
--- a/pkgs/development/python-modules/anyio/default.nix
+++ b/pkgs/development/python-modules/anyio/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "anyio";
-  version = "3.2.1";
+  version = "3.3.0";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "agronholm";
     repo = pname;
     rev = version;
-    sha256 = "0fiqzsgr9c0yicsh1pwhyc6z4qyr2ng42dakyy4a81w9cff38had";
+    sha256 = "sha256-bMnAijFLXZSgTWsalT/J4sJ0Jrc1kFaQHJArwXnQFaQ=";
   };
 
   preBuild = ''
@@ -57,8 +57,13 @@ buildPythonPackage rec {
     mock
   ];
 
+  disabledTests = [
+    # block devices access
+    "test_is_block_device"
+  ];
+
   disabledTestPaths = [
-     # lots of DNS lookups
+    # lots of DNS lookups
     "tests/test_sockets.py"
   ] ++ lib.optionals stdenv.isDarwin [
     # darwin sandboxing limitations
diff --git a/pkgs/development/python-modules/apispec/default.nix b/pkgs/development/python-modules/apispec/default.nix
index 3bc1e6d4a5c..2753864fed8 100644
--- a/pkgs/development/python-modules/apispec/default.nix
+++ b/pkgs/development/python-modules/apispec/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "apispec";
-  version = "4.7.0";
+  version = "4.7.1";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-v6G+yLWyzqZyfgIMOm/hHZYwiN0u1hbhFHXOry1naTc=";
+    sha256 = "1yf71c9nq1rfb5pkgmfw486fvywi1bjnmgwxcly7y3basf3980kr";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/archinfo/default.nix b/pkgs/development/python-modules/archinfo/default.nix
index 40583a12ada..4f33bbb6101 100644
--- a/pkgs/development/python-modules/archinfo/default.nix
+++ b/pkgs/development/python-modules/archinfo/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.0.9166";
+  version = "9.0.9297";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0y77lyz019rm9zgxpam6dbb006c7j66hwy985h3fg6nbz74pcml5";
+    sha256 = "0hlwf98ijb8c9gc51pjy4kq4zal2cmqrr34dgk31f03dnp65yiz7";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/astroid/default.nix b/pkgs/development/python-modules/astroid/default.nix
index d6fda529d5d..59bd0bc7c36 100644
--- a/pkgs/development/python-modules/astroid/default.nix
+++ b/pkgs/development/python-modules/astroid/default.nix
@@ -1,25 +1,35 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , pythonOlder
 , isPyPy
 , lazy-object-proxy
 , wrapt
 , typed-ast
 , pytestCheckHook
+, setuptools-scm
+, pylint
 }:
 
 buildPythonPackage rec {
   pname = "astroid";
-  version = "2.5.1";
+  version = "2.5.6"; # Check whether the version is compatible with pylint
 
   disabled = pythonOlder "3.6";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "cfc35498ee64017be059ceffab0a25bedf7548ab76f2bea691c5565896e7128d";
+  src = fetchFromGitHub {
+    owner = "PyCQA";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-/nWXzuWkerUDvFT/tJTZuhfju46MAM0cwosVH9BXoY8=";
   };
 
+  SETUPTOOLS_SCM_PRETEND_VERSION=version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
   # From astroid/__pkginfo__.py
   propagatedBuildInputs = [
     lazy-object-proxy
@@ -30,6 +40,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  passthru.tests = {
+    inherit pylint;
+  };
+
   meta = with lib; {
     description = "An abstract syntax tree for Python with inference support";
     homepage = "https://github.com/PyCQA/astroid";
diff --git a/pkgs/development/python-modules/async-dns/default.nix b/pkgs/development/python-modules/async-dns/default.nix
index 3067269aac9..375e72d24fd 100644
--- a/pkgs/development/python-modules/async-dns/default.nix
+++ b/pkgs/development/python-modules/async-dns/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "async-dns";
-  version = "1.1.10";
+  version = "2.0.0";
   disabled = pythonOlder "3.6";
   format = "pyproject";
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "gera2ld";
     repo = "async_dns";
     rev = "v${version}";
-    sha256 = "1yxmdlf2n66kp2mprsd4bvfsf63l4c4cfkjm2rm063pmlifz2fvj";
+    sha256 = "0vn7hxvpzikd7q61a27fwzal4lwsra2063awyr6fjpy6lh3cjdwf";
   };
 
   nativeBuildInputs = [
@@ -26,7 +26,7 @@ buildPythonPackage rec {
   checkPhase = ''
     export HOME=$TMPDIR
     # Test needs network access
-    rm tests/test_resolver.py
+    rm -r tests/resolver
     ${python.interpreter} -m unittest
   '';
 
diff --git a/pkgs/development/python-modules/autologging/default.nix b/pkgs/development/python-modules/autologging/default.nix
index fdd935303d0..1b3a7d65218 100644
--- a/pkgs/development/python-modules/autologging/default.nix
+++ b/pkgs/development/python-modules/autologging/default.nix
@@ -11,7 +11,7 @@ buildPythonPackage rec {
   };
 
   meta = with lib; {
-    homepage = "http://ninthtest.info/python-autologging/";
+    homepage = "https://ninthtest.info/python-autologging/";
     description = "Easier logging and tracing for Python classes";
     license = licenses.mit;
     maintainers = with maintainers; [ twey ];
diff --git a/pkgs/development/python-modules/bitstring/default.nix b/pkgs/development/python-modules/bitstring/default.nix
index ed67f2be5c5..52bc9bae865 100644
--- a/pkgs/development/python-modules/bitstring/default.nix
+++ b/pkgs/development/python-modules/bitstring/default.nix
@@ -1,14 +1,27 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, python
+}:
 
 buildPythonPackage rec {
   pname = "bitstring";
-  version = "3.1.7";
+  version = "3.1.9";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0jl6192dwrlm5ybkbh7ywmyaymrc3cmz9y07nm7qdli9n9rfpwzx";
+  src = fetchFromGitHub {
+    owner = "scott-griffiths";
+    repo = pname;
+    rev = "bitstring-${version}";
+    sha256 = "0y2kcq58psvl038r6dhahhlhp1wjgr5zsms45wyz1naq6ri8x9qa";
   };
 
+  checkPhase = ''
+    cd test
+    ${python.interpreter} -m unittest discover
+  '';
+
+  pythonImportsCheck = [ "bitstring" ];
+
   meta = with lib; {
     description = "Module for binary data manipulation";
     homepage = "https://github.com/scott-griffiths/bitstring";
diff --git a/pkgs/development/python-modules/bootstrapped-pip/2.nix b/pkgs/development/python-modules/bootstrapped-pip/2.nix
index 5a6333d656a..f89d39ae2b7 100644
--- a/pkgs/development/python-modules/bootstrapped-pip/2.nix
+++ b/pkgs/development/python-modules/bootstrapped-pip/2.nix
@@ -30,9 +30,9 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper unzip ];
   buildInputs = [ python ];
 
-  buildPhase = ":";
+  dontBuild = true;
 
-  installPhase = lib.strings.optionalString (!stdenv.hostPlatform.isWindows) ''
+  installPhase = lib.optionalString (!stdenv.hostPlatform.isWindows) ''
     export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES=0
   '' + ''
     # Give folders a known name
diff --git a/pkgs/development/python-modules/bootstrapped-pip/default.nix b/pkgs/development/python-modules/bootstrapped-pip/default.nix
index 42eb1cccee3..84016043929 100644
--- a/pkgs/development/python-modules/bootstrapped-pip/default.nix
+++ b/pkgs/development/python-modules/bootstrapped-pip/default.nix
@@ -30,9 +30,9 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper unzip ];
   buildInputs = [ python ];
 
-  buildPhase = ":";
+  dontBuild = true;
 
-  installPhase = lib.strings.optionalString (!stdenv.hostPlatform.isWindows) ''
+  installPhase = lib.optionalString (!stdenv.hostPlatform.isWindows) ''
     export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES=0
   '' + ''
     # Give folders a known name
diff --git a/pkgs/development/python-modules/brotlicffi/default.nix b/pkgs/development/python-modules/brotlicffi/default.nix
new file mode 100644
index 00000000000..06cb2bf7580
--- /dev/null
+++ b/pkgs/development/python-modules/brotlicffi/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, pythonOlder
+, cffi
+, brotli
+}:
+
+buildPythonPackage rec {
+  pname = "brotlicffi";
+  version = "1.0.9.2";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "python-hyper";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0qx7an7772brmx1rbbrqzqnkqqvicc70mx740nl31kzzyv4jjs00";
+  };
+
+  buildInputs = [
+    brotli
+  ];
+
+  propagatedBuildInputs = [
+    cffi
+  ];
+
+  preBuild = ''
+    export USE_SHARED_BROTLI=1
+  '';
+
+  # Test data is not available, only when using libbortli git checkout
+  doCheck = false;
+
+  pythonImportsCheck = [ "brotlicffi" ];
+
+  meta = with lib; {
+    description = "Python CFFI bindings to the Brotli library";
+    homepage = "https://github.com/python-hyper/brotlicffi";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/buildbot/default.nix b/pkgs/development/python-modules/buildbot/default.nix
index 65919542057..a2471e45cfa 100644
--- a/pkgs/development/python-modules/buildbot/default.nix
+++ b/pkgs/development/python-modules/buildbot/default.nix
@@ -1,9 +1,10 @@
-{ stdenv, lib, buildPythonPackage, fetchPypi, makeWrapper, isPy3k,
-  python, twisted, jinja2, zope_interface, sqlalchemy,
-  sqlalchemy_migrate, python-dateutil, txaio, autobahn, pyjwt, pyyaml, unidiff, treq,
-  txrequests, pypugjs, boto3, moto, mock, python-lz4, setuptoolsTrial,
-  isort, pylint, flake8, buildbot-worker, buildbot-pkg, buildbot-plugins,
-  parameterized, git, openssh, glibcLocales, ldap3, nixosTests }:
+{ stdenv, lib, buildPythonPackage, fetchPypi, makeWrapper, isPy3k
+, python, twisted, jinja2, zope_interface, sqlalchemy
+, sqlalchemy_migrate, python-dateutil, txaio, autobahn, pyjwt, pyyaml, unidiff, treq
+, txrequests, pypugjs, boto3, moto, mock, lz4, setuptoolsTrial
+, isort, pylint, flake8, buildbot-worker, buildbot-pkg, buildbot-plugins
+, parameterized, git, openssh, glibcLocales, ldap3, nixosTests
+}:
 
 let
   withPlugins = plugins: buildPythonPackage {
@@ -25,11 +26,11 @@ let
 
   package = buildPythonPackage rec {
     pname = "buildbot";
-    version = "3.1.1";
+    version = "3.3.0";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0vh2v1qs65kwcj1x8r1wj2g456kflspyz7mjara9ph9qs7j97y74";
+      sha256 = "sha256-FST+mCIQpzxc/5iQdsSNBlKxY985v+z6Xeh8ZQRu2FE=";
     };
 
     propagatedBuildInputs = [
@@ -56,7 +57,7 @@ let
       boto3
       moto
       mock
-      python-lz4
+      lz4
       setuptoolsTrial
       isort
       pylint
@@ -96,6 +97,7 @@ let
     passthru = {
       inherit withPlugins;
       tests.buildbot = nixosTests.buildbot;
+      updateScript = ./update.sh;
     };
 
     meta = with lib; {
diff --git a/pkgs/development/python-modules/buildbot/pkg.nix b/pkgs/development/python-modules/buildbot/pkg.nix
index b00a2ece568..45254ca83f8 100644
--- a/pkgs/development/python-modules/buildbot/pkg.nix
+++ b/pkgs/development/python-modules/buildbot/pkg.nix
@@ -6,7 +6,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "13bcshfas3r7hl205il9fzdjfhd18jf0lxrr5wd8r6qzdrl6i1y6";
+    sha256 = "sha256-PVmDJN3/PMsvZrrwSNaUUQLPkOMWO6edIEEfZSwspTs=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/buildbot/plugins.nix b/pkgs/development/python-modules/buildbot/plugins.nix
index 62f32a00fb4..12c4146b513 100644
--- a/pkgs/development/python-modules/buildbot/plugins.nix
+++ b/pkgs/development/python-modules/buildbot/plugins.nix
@@ -7,7 +7,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "1qb82s72mrm39123kwkypa2nhdsks6v9nkpw4vvscnq4p9xbzw2c";
+      sha256 = "sha256-KFGTNudUxjSV6406NV4QJP8t9t5p2ckMlntkqsf1x2U=";
     };
 
     # Remove unneccessary circular dependency on buildbot
@@ -34,7 +34,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0kwzj28dmhkcr44nf39s82xjc9y5p27w4ywxfpm55cim3hwxbcb1";
+      sha256 = "sha256-UoKCRAnPAQjb7Fgm+YkGv1boXY+xSDkYA3E2EiEkNGE=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -56,7 +56,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0vvp6z0d0qf5i5kykzph28hr3g9wgzrmmbbzdnm94yk4wsqq7w86";
+      sha256 = "sha256-Ccmk8TPtMfGrlNaBKhos1s/G1pHzf+zSD+A88F+/8+c=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -78,7 +78,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0y839swv9vdkwi4i1hjiyrjbj1bs74sbkpr5f58ivkjlf5alb56b";
+      sha256 = "sha256-oHvn7E4NS0RhTU2hDn1GgFjalYCoXUNCtGEz2lHel+M=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -100,7 +100,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "1zsh1bvrl3byx0ycz5jnhijzifxglm8w7kcxp79k7frw7i02fpvy";
+      sha256 = "sha256-HoiR2WF6EWebbb9c3WcLU2H17HMqkrF6JNOwpUk9CbU=";
     };
 
     buildInputs = [ buildbot-pkg ];
diff --git a/pkgs/development/python-modules/buildbot/update.sh b/pkgs/development/python-modules/buildbot/update.sh
new file mode 100755
index 00000000000..3406f05db3e
--- /dev/null
+++ b/pkgs/development/python-modules/buildbot/update.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p nix-update
+set -eu -o pipefail
+
+nix-update python3Packages.buildbot
+nix-update --version=skip python3Packages.buildbot-worker
+nix-update --version=skip python3Packages.buildbot-pkg
+nix-update --version=skip python3Packages.buildbot-plugins.www
+nix-update --version=skip python3Packages.buildbot-plugins.console-view
+nix-update --version=skip python3Packages.buildbot-plugins.waterfall-view
+nix-update --version=skip python3Packages.buildbot-plugins.grid-view
+nix-update --version=skip python3Packages.buildbot-plugins.wsgi-dashboards
diff --git a/pkgs/development/python-modules/buildbot/worker.nix b/pkgs/development/python-modules/buildbot/worker.nix
index 4313d16d0b7..a31ba928bb9 100644
--- a/pkgs/development/python-modules/buildbot/worker.nix
+++ b/pkgs/development/python-modules/buildbot/worker.nix
@@ -7,7 +7,7 @@ buildPythonPackage (rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0q16vgvlhiybq5rhva9kcj5v2mhfpdb5czm2vng4rrfqqiqq918m";
+    sha256 = "sha256-nDP46rLWYXXKJktR6NTWLb0erC6FU8fXe9FAIX+MWuU=";
   };
 
   propagatedBuildInputs = [ twisted future ];
diff --git a/pkgs/development/python-modules/cbor2/default.nix b/pkgs/development/python-modules/cbor2/default.nix
index 7f417acd360..ef7b79989c4 100644
--- a/pkgs/development/python-modules/cbor2/default.nix
+++ b/pkgs/development/python-modules/cbor2/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "cbor2";
-  version = "5.4.0";
+  version = "5.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a7926f7244b08c413f1a4fa71a81aa256771c75bdf1a4fd77308547a2d63dd48";
+    sha256 = "1jga5wj3kalf6zj5gyrmy6kwmxxkld52mvcgxc5gb5dmdhpl7gx8";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/claripy/default.nix b/pkgs/development/python-modules/claripy/default.nix
index 3dc930473f5..b39034f3093 100644
--- a/pkgs/development/python-modules/claripy/default.nix
+++ b/pkgs/development/python-modules/claripy/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "claripy";
-  version = "9.0.9166";
+  version = "9.0.9297";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0rwl5q7z16agcykn0an2lyqfn2z5yvmg0xcvxfpvndf6zpnbqhx0";
+    sha256 = "1lacpdzaifn050msh4rf75qphbh56dc2kdk7m426q4ki3g7026n7";
   };
 
   # Use upstream z3 implementation
diff --git a/pkgs/development/python-modules/cle/default.nix b/pkgs/development/python-modules/cle/default.nix
index 0110625eba8..f3c2f9977b0 100644
--- a/pkgs/development/python-modules/cle/default.nix
+++ b/pkgs/development/python-modules/cle/default.nix
@@ -15,7 +15,7 @@
 
 let
   # The binaries are following the argr projects release cycle
-  version = "9.0.9166";
+  version = "9.0.9297";
 
   # Binary files from https://github.com/angr/binaries (only used for testing and only here)
   binaries = fetchFromGitHub {
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1mvdcwzim52mc7vjrr2cq8xwwi0v0ai3z608mg5nfbbf4zjji76c";
+    sha256 = "1n5ybbxmsm7mc7z40b9imbgzjzmbjq58sh6zvzjyqqnl9k657khc";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/click-repl/default.nix b/pkgs/development/python-modules/click-repl/default.nix
index ec4cffe0d39..84665ecb095 100644
--- a/pkgs/development/python-modules/click-repl/default.nix
+++ b/pkgs/development/python-modules/click-repl/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, click, prompt_toolkit }:
+{ lib, buildPythonPackage, fetchPypi, click, prompt-toolkit }:
 
 buildPythonPackage rec {
   pname = "click-repl";
@@ -9,7 +9,7 @@ buildPythonPackage rec {
     sha256 = "cd12f68d745bf6151210790540b4cb064c7b13e571bc64b6957d98d120dacfd8";
   };
 
-  propagatedBuildInputs = [ click prompt_toolkit ];
+  propagatedBuildInputs = [ click prompt-toolkit ];
 
   meta = with lib; {
     homepage = "https://github.com/click-contrib/click-repl";
diff --git a/pkgs/development/python-modules/clickhouse-cli/default.nix b/pkgs/development/python-modules/clickhouse-cli/default.nix
index 07ddca0680a..68d69023e25 100644
--- a/pkgs/development/python-modules/clickhouse-cli/default.nix
+++ b/pkgs/development/python-modules/clickhouse-cli/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , click
-, prompt_toolkit
+, prompt-toolkit
 , pygments
 , requests
 , sqlparse
@@ -19,7 +19,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     click
-    prompt_toolkit
+    prompt-toolkit
     pygments
     requests
     sqlparse
diff --git a/pkgs/development/python-modules/clintermission/default.nix b/pkgs/development/python-modules/clintermission/default.nix
index 04e97f4c669..a0e5dcb7142 100644
--- a/pkgs/development/python-modules/clintermission/default.nix
+++ b/pkgs/development/python-modules/clintermission/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonApplication, fetchFromGitHub, isPy3k, prompt_toolkit }:
+{ lib, buildPythonApplication, fetchFromGitHub, isPy3k, prompt-toolkit }:
 
 buildPythonApplication rec {
   pname = "clintermission";
@@ -11,7 +11,7 @@ buildPythonApplication rec {
     sha256 = "09wl0rpw6c9hab51rs957z64b0v9j4fcbqbn726wnapf4z5w6yxv";
   };
 
-  propagatedBuildInputs = [ prompt_toolkit ];
+  propagatedBuildInputs = [ prompt-toolkit ];
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/coconut/default.nix b/pkgs/development/python-modules/coconut/default.nix
index 55eadddaa1d..e964f2abaaa 100644
--- a/pkgs/development/python-modules/coconut/default.nix
+++ b/pkgs/development/python-modules/coconut/default.nix
@@ -7,7 +7,7 @@
 , mypy
 , pygments
 , pytestCheckHook
-, prompt_toolkit
+, prompt-toolkit
 , tkinter
 , watchdog
 }:
@@ -23,7 +23,7 @@ buildPythonApplication rec {
     sha256 = "1pz13vza3yy95dbylnq89fzc3mwgcqr7ds096wy25k6vxd9dp9c3";
   };
 
-  propagatedBuildInputs = [ cpyparsing pygments prompt_toolkit ipykernel mypy watchdog ];
+  propagatedBuildInputs = [ cpyparsing pygments prompt-toolkit ipykernel mypy watchdog ];
 
   patches = [
     (fetchpatch {
diff --git a/pkgs/development/python-modules/datasets/default.nix b/pkgs/development/python-modules/datasets/default.nix
index 0141b79f5d6..27ee2ebedcf 100644
--- a/pkgs/development/python-modules/datasets/default.nix
+++ b/pkgs/development/python-modules/datasets/default.nix
@@ -16,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "datasets";
-  version = "1.8.0";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner = "huggingface";
     repo = pname;
     rev = version;
-    sha256 = "sha256-is8TS84varARWyfeDTbQH0pcYFTk0PcEyK183emB4GE=";
+    sha256 = "0pm14cp7xaagpf4j96v0ybi5gn3r9p0if3pc197ckwx6sw3lx29p";
   };
 
   propagatedBuildInputs = [
@@ -39,12 +39,6 @@ buildPythonPackage rec {
     xxhash
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace '"tqdm>=4.27,<4.50.0"' '"tqdm>=4.27"' \
-      --replace "huggingface_hub==0.0.2" "huggingface_hub>=0.0.2"
-  '';
-
   # Tests require pervasive internet access.
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/dbus-next/default.nix b/pkgs/development/python-modules/dbus-next/default.nix
index ba27b633fef..4786d8af0dd 100644
--- a/pkgs/development/python-modules/dbus-next/default.nix
+++ b/pkgs/development/python-modules/dbus-next/default.nix
@@ -2,23 +2,22 @@
 , buildPythonPackage
 , fetchFromGitHub
 , python
-, dbus, dbus-python, pytest, pytest-cov, pytest-asyncio, pytest-timeout
+, dbus, pytest, pytest-cov, pytest-asyncio, pytest-timeout
 }:
 
 buildPythonPackage rec {
   pname = "dbus-next";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchFromGitHub {
     owner = "altdesktop";
     repo = "python-dbus-next";
     rev = "v${version}";
-    sha256 = "0x78ghkci4las13gwbrm8fzg671lx1q2cn8h0f64ki8yag1myia1";
+    sha256 = "sha256-EKEQZFRUe+E65Z6DNCJFL5uCI5kbXrN7Tzd4O0X5Cqo=";
   };
 
   checkInputs = [
     dbus
-    dbus-python
     pytest
     pytest-cov
     pytest-asyncio
diff --git a/pkgs/development/python-modules/dipy/default.nix b/pkgs/development/python-modules/dipy/default.nix
index 51d689f9859..3712dfbaee1 100644
--- a/pkgs/development/python-modules/dipy/default.nix
+++ b/pkgs/development/python-modules/dipy/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "dipy";
-  version = "1.3.0";
+  version = "1.4.1";
 
   disabled = isPy27;
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner  = "dipy";
     repo   = pname;
     rev    = version;
-    sha256 = "0555abx0fwqmk6dc3im7r45d9j7r9xh6gm9mbwfwvlf7laf8h098";
+    sha256 = "0zaqsiq73vprbqbzvzswjfmqgappl5vhpl2fwjrrda33c27klpzj";
   };
 
   nativeBuildInputs = [ cython packaging ];
diff --git a/pkgs/development/python-modules/dotmap/default.nix b/pkgs/development/python-modules/dotmap/default.nix
index cb5f032a6f2..e9bb585544e 100644
--- a/pkgs/development/python-modules/dotmap/default.nix
+++ b/pkgs/development/python-modules/dotmap/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "dotmap";
-  version = "1.3.23";
+  version = "1.3.24";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0hy88kzzb7zhxfr7iyvl6rhmvz02538pbna7zypaard4a88bbbka";
+    sha256 = "1mvkhkrhzzzng17j2yvwp4x1hj8wls3qw5lngqs777a2qc1mhg0r";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/dufte/default.nix b/pkgs/development/python-modules/dufte/default.nix
index d1c9680cb7b..b9a96cbc829 100644
--- a/pkgs/development/python-modules/dufte/default.nix
+++ b/pkgs/development/python-modules/dufte/default.nix
@@ -1,23 +1,23 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, isPy3k
+, fetchFromGitHub
 , pythonOlder
 , importlib-metadata
 , matplotlib
 , numpy
-, exdown
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "dufte";
-  version = "0.2.12";
-  disabled = !isPy3k;
+  version = "0.2.27";
+  disabled = pythonOlder "3.6";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0ag1d7h1wijkc7v2vpgkbqjlnpiwd4nh8zhxiby0989bpmlp3jr3";
+  src = fetchFromGitHub {
+    owner = "nschloe";
+    repo = pname;
+    rev = version;
+    sha256 = "1i68h224hx9clxj3l0rd2yigsi6fqsr3x10vj5hf3j6s69iah7r3";
   };
   format = "pyproject";
 
@@ -28,13 +28,10 @@ buildPythonPackage rec {
     importlib-metadata
   ];
 
-  preCheck = ''
-    export HOME=$TMPDIR
-    mkdir -p $HOME/.matplotlib
-    echo "backend: ps" > $HOME/.matplotlib/matplotlibrc
-  '';
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  checkInputs = [ exdown pytestCheckHook ];
   pythonImportsCheck = [ "dufte" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/emoji/default.nix b/pkgs/development/python-modules/emoji/default.nix
index 67c9c7a1abd..0dabc80b1ca 100644
--- a/pkgs/development/python-modules/emoji/default.nix
+++ b/pkgs/development/python-modules/emoji/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "emoji";
-  version = "1.4.0";
+  version = "1.4.2";
 
   src = fetchFromGitHub {
     owner = "carpedm20";
     repo = pname;
     rev = "v.${version}";
-    sha256 = "0xksxdld20sh3c2s6pry1fm2br9xq8ypdq5pf971fpg5pk2f4iy9";
+    sha256 = "072m0l1wcbz1jiyc2x5dx0b4ks5zri7m5lhjjy9sgq4qwlqsnr5n";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/environmental-override/default.nix b/pkgs/development/python-modules/environmental-override/default.nix
new file mode 100644
index 00000000000..23540115313
--- /dev/null
+++ b/pkgs/development/python-modules/environmental-override/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "environmental-override";
+  version = "0.1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1vhd37i6f8xh6kd61yxc2ynzgcln7v2p7fyzjmhbkdnws6gwfs6s";
+  };
+
+  # No tests have been written for this library.
+  doCheck = false;
+
+  pythonImportsCheck = [ "environmental_override" ];
+
+  meta = {
+    description = "Easily configure apps using simple environmental overrides";
+    homepage = "https://github.com/coddingtonbear/environmental-override";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ nathanruiz ];
+  };
+}
diff --git a/pkgs/development/python-modules/geocachingapi/default.nix b/pkgs/development/python-modules/geocachingapi/default.nix
new file mode 100644
index 00000000000..952457c5360
--- /dev/null
+++ b/pkgs/development/python-modules/geocachingapi/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, aiohttp
+, backoff
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools-scm
+, yarl
+}:
+
+buildPythonPackage rec {
+  pname = "geocachingapi";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "Sholofly";
+    repo = "geocachingapi-python";
+    rev = version;
+    sha256 = "1vdknsxd7rvw6g5lwxlxj97l9ic8cch8rdki3aczs6xzw5adxhcs";
+  };
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  propagatedBuildInputs = [
+    aiohttp
+    backoff
+    yarl
+  ];
+
+  # Tests require a token and network access
+  doCheck = false;
+
+  pythonImportsCheck = [ "geocachingapi" ];
+
+  meta = with lib; {
+    description = "Python API to control the Geocaching API";
+    homepage = "https://github.com/Sholofly/geocachingapi-python";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/hap-python/default.nix b/pkgs/development/python-modules/hap-python/default.nix
index c4811677655..e48826eae9f 100644
--- a/pkgs/development/python-modules/hap-python/default.nix
+++ b/pkgs/development/python-modules/hap-python/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "hap-python";
-  version = "3.5.2";
+  version = "4.0.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "ikalchev";
     repo = "HAP-python";
     rev = "v${version}";
-    sha256 = "1irf4dcq9fcqvvjbijkymm63n2s7a19igs1zsbv7y8fa5a2yprhd";
+    sha256 = "1k4gq23j4f7yppxf8rzrrayn6clj48cdzixjdsmv5awhzsf9n6w4";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/iaqualink/default.nix b/pkgs/development/python-modules/iaqualink/default.nix
index 223f3893e18..5806104d419 100644
--- a/pkgs/development/python-modules/iaqualink/default.nix
+++ b/pkgs/development/python-modules/iaqualink/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "iaqualink";
-  version = "0.4.0";
+  version = "0.4.1";
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "flz";
     repo = "iaqualink-py";
     rev = "v${version}";
-    sha256 = "13iwngjjqzr1pkmskbc2wakccvcjkf4bk65f4jp4ywpciilr4zjw";
+    sha256 = "0xgxajw38jrc55xh8w8mq0dk82ml77mfs8yn05gcpv8l24y70chq";
   };
 
   nativeBuildInputs = [ pytest-runner ];
diff --git a/pkgs/development/python-modules/ipython/5.nix b/pkgs/development/python-modules/ipython/5.nix
index a75ceaa0b76..45096bf7781 100644
--- a/pkgs/development/python-modules/ipython/5.nix
+++ b/pkgs/development/python-modules/ipython/5.nix
@@ -19,7 +19,7 @@
 , requests
 , simplegeneric
 , traitlets
-, prompt_toolkit
+, prompt-toolkit
 , pexpect
 , appnope
 }:
@@ -51,7 +51,7 @@ buildPythonPackage rec {
   checkInputs = [ nose pygments testpath ] ++ lib.optional isPy27 mock;
 
   propagatedBuildInputs = [
-    backports_shutil_get_terminal_size decorator pickleshare prompt_toolkit
+    backports_shutil_get_terminal_size decorator pickleshare prompt-toolkit
     simplegeneric traitlets requests pathlib2 pexpect
   ] ++ lib.optionals stdenv.isDarwin [ appnope ];
 
diff --git a/pkgs/development/python-modules/ipython/7.16.nix b/pkgs/development/python-modules/ipython/7.16.nix
index 9700737f485..d0ca5eef7cd 100644
--- a/pkgs/development/python-modules/ipython/7.16.nix
+++ b/pkgs/development/python-modules/ipython/7.16.nix
@@ -13,7 +13,7 @@
 , decorator
 , pickleshare
 , traitlets
-, prompt_toolkit
+, prompt-toolkit
 , pexpect
 , appnope
 , backcall
@@ -43,7 +43,7 @@ buildPythonPackage rec {
     decorator
     pickleshare
     traitlets
-    prompt_toolkit
+    prompt-toolkit
     pygments
     pexpect
     backcall
diff --git a/pkgs/development/python-modules/ipython/default.nix b/pkgs/development/python-modules/ipython/default.nix
index cd68bb62a12..e036a337864 100644
--- a/pkgs/development/python-modules/ipython/default.nix
+++ b/pkgs/development/python-modules/ipython/default.nix
@@ -14,7 +14,7 @@
 , matplotlib-inline
 , pickleshare
 , traitlets
-, prompt_toolkit
+, prompt-toolkit
 , pexpect
 , appnope
 , backcall
@@ -45,7 +45,7 @@ buildPythonPackage rec {
     matplotlib-inline
     pickleshare
     traitlets
-    prompt_toolkit
+    prompt-toolkit
     pygments
     pexpect
     backcall
diff --git a/pkgs/development/python-modules/iso8601/default.nix b/pkgs/development/python-modules/iso8601/default.nix
index d0a74f400bb..3a255ac047e 100644
--- a/pkgs/development/python-modules/iso8601/default.nix
+++ b/pkgs/development/python-modules/iso8601/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "iso8601";
-  version = "0.1.14";
+  version = "0.1.16";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8aafd56fa0290496c5edbb13c311f78fa3a241f0853540da09d9363eae3ebd79";
+    sha256 = "sha256-NlMvd8yABZTo8WZB7a5/G695MvBdjlCFRblfxTxtyFs=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/joblib/default.nix b/pkgs/development/python-modules/joblib/default.nix
index e8d2ced7602..aad27b5ae63 100644
--- a/pkgs/development/python-modules/joblib/default.nix
+++ b/pkgs/development/python-modules/joblib/default.nix
@@ -5,7 +5,7 @@
 , stdenv
 , numpydoc
 , pytestCheckHook
-, python-lz4
+, lz4
 , setuptools
 , sphinx
 }:
@@ -22,7 +22,7 @@ buildPythonPackage rec {
   };
 
   checkInputs = [ sphinx numpydoc pytestCheckHook ];
-  propagatedBuildInputs = [ python-lz4 setuptools ];
+  propagatedBuildInputs = [ lz4 setuptools ];
 
   pytestFlagsArray = [ "joblib/test" ];
   disabledTests = [
diff --git a/pkgs/development/python-modules/jupyter_console/5.nix b/pkgs/development/python-modules/jupyter_console/5.nix
index 440f22b1332..2072b24a378 100644
--- a/pkgs/development/python-modules/jupyter_console/5.nix
+++ b/pkgs/development/python-modules/jupyter_console/5.nix
@@ -5,7 +5,7 @@
 , jupyter_client
 , ipython
 , ipykernel
-, prompt_toolkit
+, prompt-toolkit
 , pygments
 }:
 
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     jupyter_client
     ipython
     ipykernel
-    prompt_toolkit
+    prompt-toolkit
     pygments
   ];
 
diff --git a/pkgs/development/python-modules/jupyter_console/default.nix b/pkgs/development/python-modules/jupyter_console/default.nix
index 22e057a5654..2858f008c2c 100644
--- a/pkgs/development/python-modules/jupyter_console/default.nix
+++ b/pkgs/development/python-modules/jupyter_console/default.nix
@@ -5,7 +5,7 @@
 , jupyter_client
 , ipython
 , ipykernel
-, prompt_toolkit
+, prompt-toolkit
 , pygments
 , pythonOlder
 }:
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     jupyter_client
     ipython
     ipykernel
-    prompt_toolkit
+    prompt-toolkit
     pygments
   ];
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/luddite/default.nix b/pkgs/development/python-modules/luddite/default.nix
new file mode 100644
index 00000000000..7e8a1c5dfed
--- /dev/null
+++ b/pkgs/development/python-modules/luddite/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, pytestCheckHook
+, pytest-socket
+, pytest-mock
+}:
+
+buildPythonPackage rec {
+  pname = "luddite";
+  version = "1.0.2";
+
+  src = fetchFromGitHub {
+    owner = "jumptrading";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "8/7uwO5HLhyXYt+T6VUO/O7TN9+FfRlT8y0r5+CJ/l4=";
+  };
+
+  postPatch = ''
+    substituteInPlace pytest.ini \
+      --replace "--cov=luddite --cov-report=html --cov-report=term --no-cov-on-fail" ""
+  '';
+
+  propagatedBuildInputs = [ setuptools ];
+
+  checkInputs = [ pytestCheckHook pytest-socket pytest-mock ];
+  pythonImportsCheck = [ "luddite" ];
+
+  meta = with lib; {
+    description = "Checks for out-of-date package versions";
+    homepage = "https://github.com/jumptrading/luddite";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ angustrau ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-lz4/default.nix b/pkgs/development/python-modules/lz4/default.nix
index 180264f102d..180264f102d 100644
--- a/pkgs/development/python-modules/python-lz4/default.nix
+++ b/pkgs/development/python-modules/lz4/default.nix
diff --git a/pkgs/development/python-modules/matrix-client/default.nix b/pkgs/development/python-modules/matrix-client/default.nix
index 354eace5047..6605009b8fd 100644
--- a/pkgs/development/python-modules/matrix-client/default.nix
+++ b/pkgs/development/python-modules/matrix-client/default.nix
@@ -1,25 +1,40 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pytestCheckHook
 , requests
-, pytest, pytest-runner, responses
+, responses
+, urllib3
 }:
 
 buildPythonPackage rec {
   pname = "matrix_client";
-  version = "0.3.2";
+  version = "0.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1mgjd0ymf9mvqjkvgx3xjhxap7rzdmpa21wfy0cxbw2xcswcrqyw";
+    sha256 = "0mii7ib3bah5ppqs7i8sjv5l0zbl57011908m4l0jbyby90ayy06";
   };
 
-  checkInputs = [ pytest pytest-runner responses ];
+  propagatedBuildInputs = [
+    requests
+    urllib3
+  ];
 
-  propagatedBuildInputs = [ requests ];
+  checkInputs = [
+    pytestCheckHook
+    responses
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py --replace \
+      "pytest-runner~=5.1" ""
+  '';
+
+  pythonImportsCheck = [ "matrix_client" ];
 
   meta = with lib; {
-    description = "Matrix Client-Server SDK";
+    description = "Python Matrix Client-Server SDK";
     homepage = "https://github.com/matrix-org/matrix-python-sdk";
     license = licenses.asl20;
     maintainers = with maintainers; [ olejorgenb ];
diff --git a/pkgs/development/python-modules/millheater/default.nix b/pkgs/development/python-modules/millheater/default.nix
index 9a329ef2651..3c68a576723 100644
--- a/pkgs/development/python-modules/millheater/default.nix
+++ b/pkgs/development/python-modules/millheater/default.nix
@@ -1,3 +1,4 @@
+
 { lib
 , aiohttp
 , async-timeout
@@ -9,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "millheater";
-  version = "0.5.0";
+  version = "0.5.2";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "Danielhiversen";
     repo = "pymill";
     rev = version;
-    sha256 = "sha256-uMvCpXz+amb5mR9ebkAit21UFYpsTkjkZRXtmcvWt8k=";
+    sha256 = "0ndfxdg10m9mahnwbs66dnyc1lr8q7vs71y6zwxlc0h27hr3gr0d";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/motioneye-client/default.nix b/pkgs/development/python-modules/motioneye-client/default.nix
index a769128fd86..35632e780e7 100644
--- a/pkgs/development/python-modules/motioneye-client/default.nix
+++ b/pkgs/development/python-modules/motioneye-client/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "motioneye-client";
-  version = "0.3.9";
+  version = "0.3.11";
   format = "pyproject";
   disabled = pythonOlder "3.8";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "dermotduffy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-pLdAxBipmr+HUr9NSupm7h/68PK95r3zY/qZTBs1m54=";
+    sha256 = "0f34ig8njyn7dzy8272m0b1nlnnhir58ar3vx4zps10i0dc32hb2";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/msldap/default.nix b/pkgs/development/python-modules/msldap/default.nix
index 649276ef252..f0e6e5abaa9 100644
--- a/pkgs/development/python-modules/msldap/default.nix
+++ b/pkgs/development/python-modules/msldap/default.nix
@@ -4,7 +4,7 @@
 , asn1crypto
 , asysocks
 , minikerberos
-, prompt_toolkit
+, prompt-toolkit
 , tqdm
 , winacl
 , winsspi
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     asn1crypto
     asysocks
     minikerberos
-    prompt_toolkit
+    prompt-toolkit
     tqdm
     winacl
     winsspi
diff --git a/pkgs/development/python-modules/nbxmpp/default.nix b/pkgs/development/python-modules/nbxmpp/default.nix
index c145b9d888f..44460a21d5b 100644
--- a/pkgs/development/python-modules/nbxmpp/default.nix
+++ b/pkgs/development/python-modules/nbxmpp/default.nix
@@ -1,24 +1,45 @@
-{ lib, buildPythonPackage, pythonOlder, fetchFromGitLab
-, gobject-introspection, idna, libsoup, precis-i18n, pygobject3, pyopenssl
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitLab
+, gobject-introspection
+, idna
+, libsoup
+, precis-i18n
+, pygobject3
+, pyopenssl
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "nbxmpp";
-  version = "2.0.2";
+  version = "2.0.3";
 
   disabled = pythonOlder "3.7";
 
-  # Tests aren't included in PyPI tarball.
   src = fetchFromGitLab {
     domain = "dev.gajim.org";
     owner = "gajim";
     repo = "python-nbxmpp";
     rev = "nbxmpp-${version}";
-    sha256 = "0z27mxgfk7hvpx0xdrd8g9441rywv74yk7s83zjnc2mc7xvpwhf4";
+    sha256 = "0gzyd25sja7n49f1ihyg6gch1b0r409r0p3qpwn8w8xy7jgn6ysc";
   };
 
-  buildInputs = [ precis-i18n ];
-  propagatedBuildInputs = [ gobject-introspection idna libsoup pygobject3 pyopenssl ];
+  buildInputs = [
+    precis-i18n
+  ];
+
+  propagatedBuildInputs = [
+    gobject-introspection
+    idna
+    libsoup
+    pygobject3
+    pyopenssl
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
   pythonImportsCheck = [ "nbxmpp" ];
 
diff --git a/pkgs/development/python-modules/neo/default.nix b/pkgs/development/python-modules/neo/default.nix
index e5db8450e78..27da5b71b68 100644
--- a/pkgs/development/python-modules/neo/default.nix
+++ b/pkgs/development/python-modules/neo/default.nix
@@ -4,15 +4,17 @@
 , nose
 , numpy
 , quantities
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "neo";
-  version = "0.9.0";
+  version = "0.10.0";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6e31c88d7c52174fa2512df589b2b5003e9471fde27fca9f315f4770ba3bd3cb";
+    sha256 = "0lw3r9p1ky1cswhrs9radc0vq1qfzbrk7qd00f34g96g30zab4g5";
   };
 
   propagatedBuildInputs = [ numpy quantities ];
diff --git a/pkgs/development/python-modules/nexia/default.nix b/pkgs/development/python-modules/nexia/default.nix
index b9553765fb4..22dbea2cd51 100644
--- a/pkgs/development/python-modules/nexia/default.nix
+++ b/pkgs/development/python-modules/nexia/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "nexia";
-  version = "0.9.10";
+  version = "0.9.11";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "bdraco";
     repo = pname;
     rev = version;
-    sha256 = "0k97i243ap1sap5smvfmpsjqzkx5adjvi14awv82pcp52ckzkbi9";
+    sha256 = "0ql08nfvh6rjhjdh78gzih7az95m0fc9wxc22yqmlc9grifnp9i5";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/nvchecker/default.nix b/pkgs/development/python-modules/nvchecker/default.nix
index b3fd0384ef4..62942108ff4 100644
--- a/pkgs/development/python-modules/nvchecker/default.nix
+++ b/pkgs/development/python-modules/nvchecker/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , pythonOlder
 , pytestCheckHook
 , setuptools
@@ -21,24 +20,16 @@
 
 buildPythonPackage rec {
   pname = "nvchecker";
-  version = "2.3";
+  version = "2.4";
 
   # Tests not included in PyPI tarball
   src = fetchFromGitHub {
     owner = "lilydjwg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ikqjlw6v7va69i8qskj1lf07ik84q4n3qgsb7khk520gv2ks3sx";
+    sha256 = "0ys4shp7gz6aaxrbflwcz7yjbvdv2v8pgj047p4rnp8ascpxg044";
   };
 
-  patches = [
-    # Fix test that fail in sandbox build. See https://github.com/lilydjwg/nvchecker/pull/179
-    (fetchpatch {
-      url = "https://github.com/lilydjwg/nvchecker/commit/7366d82bfc3dcf231f7908e259bf2437cf7dafd5.patch";
-      sha256 = "0pwrwa2wyy4i668lk2mqzzy6y3xi08mq3w520b4954kfm07g75a9";
-    })
-  ];
-
   nativeBuildInputs = [ installShellFiles docutils ];
   propagatedBuildInputs = [ setuptools packaging toml structlog appdirs tornado pycurl aiohttp ];
   checkInputs = [ pytestCheckHook pytest-asyncio flaky pytest-httpbin ];
diff --git a/pkgs/development/python-modules/palace/default.nix b/pkgs/development/python-modules/palace/default.nix
new file mode 100644
index 00000000000..60d73bca09f
--- /dev/null
+++ b/pkgs/development/python-modules/palace/default.nix
@@ -0,0 +1,40 @@
+{ lib, buildPythonPackage, fetchFromSourcehut, pythonOlder
+, cmake, cython, alure2, typing-extensions
+}:
+
+buildPythonPackage rec {
+  pname = "palace";
+  version = "0.2.5";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromSourcehut {
+    owner = "~cnx";
+    repo = pname;
+    rev = version;
+    sha256 = "1z0m35y4v1bg6vz680pwdicm9ssryl0q6dm9hfpb8hnifmridpcj";
+  };
+
+  # Nix uses Release CMake configuration instead of what is assumed by palace.
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace IMPORTED_LOCATION_NOCONFIG IMPORTED_LOCATION_RELEASE
+  '';
+
+  dontUseCmakeConfigure = true;
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ cython ];
+  propagatedBuildInputs = [ alure2 ] ++ lib.optionals (pythonOlder "3.8") [
+    typing-extensions
+  ];
+
+  doCheck = false; # FIXME: tests need an audio device
+  pythonImportsCheck = [ "palace" ];
+
+  meta = with lib; {
+    description = "Pythonic Audio Library and Codecs Environment";
+    homepage = "https://mcsinyx.gitlab.io/palace";
+    license = licenses.lgpl3Plus;
+    maintainers = [ maintainers.McSinyx ];
+  };
+}
diff --git a/pkgs/development/python-modules/papis/default.nix b/pkgs/development/python-modules/papis/default.nix
index 72eb9a185d7..1805172f4d7 100644
--- a/pkgs/development/python-modules/papis/default.nix
+++ b/pkgs/development/python-modules/papis/default.nix
@@ -2,7 +2,7 @@
 , requests, filetype, pyparsing, configparser, arxiv2bib
 , pyyaml, chardet, beautifulsoup4, colorama, bibtexparser
 , click, python-slugify, habanero, isbnlib, typing-extensions
-, prompt_toolkit, pygments, stevedore, tqdm, lxml
+, prompt-toolkit, pygments, stevedore, tqdm, lxml
 , python-doi, isPy3k, pytest-cov
 #, optional, dependencies
 , whoosh, pytest
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     requests filetype pyparsing configparser arxiv2bib
     pyyaml chardet beautifulsoup4 colorama bibtexparser
     click python-slugify habanero isbnlib
-    prompt_toolkit pygments typing-extensions
+    prompt-toolkit pygments typing-extensions
     stevedore tqdm lxml
     python-doi
     # optional dependencies
diff --git a/pkgs/development/python-modules/perfplot/default.nix b/pkgs/development/python-modules/perfplot/default.nix
index 76f2f8d2931..8e15cc0be8d 100644
--- a/pkgs/development/python-modules/perfplot/default.nix
+++ b/pkgs/development/python-modules/perfplot/default.nix
@@ -7,20 +7,20 @@
 , pipdate
 , tqdm
 , rich
-, pytest
-, isPy27
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "perfplot";
-  version = "0.9.5";
-  disabled = isPy27;
+  version = "0.9.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "nschloe";
-    repo = "perfplot";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "1nr31a7qvipqjycw2flkabnhnc4drbi1xpjm8yjxw2gjzznd1jg4";
+    sha256 = "11f31d6xqxp04693symc2dl8890gjaycrb2a35y5xy023abwir5b";
   };
   format = "pyproject";
 
@@ -34,20 +34,15 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    pytest
+    pytestCheckHook
   ];
 
-  checkPhase = ''
-    export HOME=$TMPDIR
-    mkdir -p $HOME/.matplotlib
-    echo "backend: ps" > $HOME/.matplotlib/matplotlibrc
-    pytest test/perfplot_test.py
-  '';
+  pythonImportsCheck = [ "perfplot" ];
 
   meta = with lib; {
     description = "Performance plots for Python code snippets";
     homepage = "https://github.com/nschloe/perfplot";
     license = licenses.mit;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/pg8000/default.nix b/pkgs/development/python-modules/pg8000/default.nix
index db18611f20a..07efa604cad 100644
--- a/pkgs/development/python-modules/pg8000/default.nix
+++ b/pkgs/development/python-modules/pg8000/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "pg8000";
-  version = "1.20.0";
+  version = "1.21.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-SQ7CKpJgHwRUs+1MjU7N3DD2bA4/eD8OzFgQN3SajFU=";
+    sha256 = "1msj0vk14fbsis8yfk0my1ygpcli9jz3ivwdi9k6ii5i6330i4f9";
   };
 
   propagatedBuildInputs = [
@@ -21,11 +21,6 @@ buildPythonPackage rec {
     scramp
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "scramp==1.4.0" "scramp>=1.4.0"
-  '';
-
   # Tests require a running PostgreSQL instance
   doCheck = false;
   pythonImportsCheck = [ "pg8000" ];
diff --git a/pkgs/development/python-modules/pglast/default.nix b/pkgs/development/python-modules/pglast/default.nix
index 8184c6d0d18..d4a07857e3a 100644
--- a/pkgs/development/python-modules/pglast/default.nix
+++ b/pkgs/development/python-modules/pglast/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pglast";
-  version = "3.0";
+  version = "3.3";
 
   # PyPI tarball does not include all the required files
   src = fetchFromGitHub {
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     repo = pname;
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "0yi24wj19rzw5dvppm8g3hnfskyzbrqw14q8x9f2q5zi8g6xnnrd";
+    sha256 = "0l7nvbs1x1qil6mc0rxk7925i5xr3nbqnv0vakx3yv911kj3yhgv";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix
index fa869c5d75d..6d2a4cac36b 100644
--- a/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/pkgs/development/python-modules/phonenumbers/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "phonenumbers";
-  version = "8.12.26";
+  version = "8.12.28";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Zbq269vg7FGWx0YmlJdI21M30jiVqrwe+PXXKEeHmYo=";
+    sha256 = "1g86bf791lr9ggrfgllah9liwa3bx917h9ffrdb01kjwdna4zsj2";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pip/default.nix b/pkgs/development/python-modules/pip/default.nix
index f7979966703..50783f4eeb6 100644
--- a/pkgs/development/python-modules/pip/default.nix
+++ b/pkgs/development/python-modules/pip/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "pip";
-  version = "21.0.1";
+  version = "21.1.3";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "pypa";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Yt5xqdo735f5sQKP8GnKM201SoIi7ZP9l2gw+feUVW0=";
+    sha256 = "sha256-zfMz9p4I6Kmw849xuvnmGWHmWtajDntFW1jjDilKkgk=";
     name = "${pname}-${version}-source";
   };
 
diff --git a/pkgs/development/python-modules/pipdate/default.nix b/pkgs/development/python-modules/pipdate/default.nix
index 35fbb624e6b..627e2b0a6fa 100644
--- a/pkgs/development/python-modules/pipdate/default.nix
+++ b/pkgs/development/python-modules/pipdate/default.nix
@@ -2,23 +2,23 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
-, isPy27
 , appdirs
 , importlib-metadata
 , requests
-, pytest
+, rich
+, setuptools
 , wheel
 }:
 
 buildPythonPackage rec {
   pname = "pipdate";
-  version = "0.5.2";
+  version = "0.5.5";
   format = "pyproject";
-  disabled = isPy27; # abandoned
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "507065231f2d50b6319d483432cba82aadad78be21b7a2969b5881ed8dee9ab4";
+    sha256 = "03hr9i691cpg9q2xc1xr4lpd90xs8rba0xjh6qmc1vg7lgcdgbaa";
   };
 
   nativeBuildInputs = [ wheel ];
@@ -26,25 +26,19 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     appdirs
     requests
+    rich
+    setuptools
   ] ++ lib.optionals (pythonOlder "3.8") [
     importlib-metadata
   ];
 
-  checkInputs = [
-    pytest
-  ];
-
-  checkPhase = ''
-    HOME=$(mktemp -d) pytest test/test_pipdate.py
-  '';
-
-  # tests require network access
+  # Tests require network access and pythonImportsCheck requires configuration file
   doCheck = false;
 
   meta = with lib; {
     description = "pip update helpers";
     homepage = "https://github.com/nschloe/pipdate";
-    license = licenses.mit;
-    maintainers = [ maintainers.costrouc ];
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/plexapi/default.nix b/pkgs/development/python-modules/plexapi/default.nix
index d2e04586e38..2df3e3a17c8 100644
--- a/pkgs/development/python-modules/plexapi/default.nix
+++ b/pkgs/development/python-modules/plexapi/default.nix
@@ -4,19 +4,19 @@
 , requests
 , tqdm
 , websocket-client
-, isPy27
+, pythonOlder
 }:
 
 buildPythonPackage rec {
-  pname = "PlexAPI";
-  version = "4.6.1";
-  disabled = isPy27;
+  pname = "plexapi";
+  version = "4.7.0";
+  disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "pkkid";
     repo = "python-plexapi";
     rev = version;
-    sha256 = "sha256-WL5UBsvAdtfOCkVX9NI0Z2fJ2CAO+NwD8wvkvkJ2uww=";
+    sha256 = "1gh36ln9ki69rs7ml9syqq956i996rdi145qffjwb3736zylrzkp";
   };
 
   propagatedBuildInputs = [
@@ -27,6 +27,7 @@ buildPythonPackage rec {
 
   # Tests require a running Plex instance
   doCheck = false;
+
   pythonImportsCheck = [ "plexapi" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/praw/default.nix b/pkgs/development/python-modules/praw/default.nix
index e104dbff4f6..1196a6575da 100644
--- a/pkgs/development/python-modules/praw/default.nix
+++ b/pkgs/development/python-modules/praw/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "praw";
-  version = "7.3.0";
+  version = "7.4.0";
 
   src = fetchFromGitHub {
     owner = "praw-dev";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0pj987v04y5askczlma2ilwllwfsg7p5mwhv0h1lcl1lg0fbsvn9";
+    sha256 = "1wcr59k1bncwfza5k8mllaxz8fwfyqbwgm5xp908w2449i71wl7r";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/prompt_toolkit/1.nix b/pkgs/development/python-modules/prompt-toolkit/1.nix
index bc39a8c9229..e1b9695071a 100644
--- a/pkgs/development/python-modules/prompt_toolkit/1.nix
+++ b/pkgs/development/python-modules/prompt-toolkit/1.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pytest
+, pytestCheckHook
 , docopt
 , six
 , wcwidth
@@ -9,22 +9,24 @@
 }:
 
 buildPythonPackage rec {
-  pname = "prompt_toolkit";
+  pname = "prompt-toolkit";
   version = "1.0.18";
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "prompt_toolkit";
+    inherit version;
     sha256 = "dd4fca02c8069497ad931a2d09914c6b0d1b50151ce876bc15bde4c747090126";
   };
-  checkPhase = ''
-    rm prompt_toolkit/win32_types.py
-    py.test -k 'not test_pathcompleter_can_expanduser'
-  '';
 
-  checkInputs = [ pytest ];
   propagatedBuildInputs = [ docopt six wcwidth pygments ];
 
-  meta = {
+  checkInputs = [ pytestCheckHook ];
+
+  disabledTests = [
+    "test_pathcompleter_can_expanduser"
+  ];
+
+  meta = with lib; {
     description = "Python library for building powerful interactive command lines";
     longDescription = ''
       prompt_toolkit could be a replacement for readline, but it can be
@@ -33,6 +35,7 @@ buildPythonPackage rec {
       with a nice interactive Python shell (called ptpython) built on top.
     '';
     homepage = "https://github.com/jonathanslenders/python-prompt-toolkit";
-    license = lib.licenses.bsd3;
+    maintainers = with maintainers; [ ];
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/python-modules/prompt_toolkit/default.nix b/pkgs/development/python-modules/prompt-toolkit/default.nix
index 266ac3c90c3..9aed0211a95 100644
--- a/pkgs/development/python-modules/prompt_toolkit/default.nix
+++ b/pkgs/development/python-modules/prompt-toolkit/default.nix
@@ -1,27 +1,30 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pytest
+, pytestCheckHook
 , six
 , wcwidth
 }:
 
 buildPythonPackage rec {
-  pname = "prompt_toolkit";
+  pname = "prompt-toolkit";
   version = "3.0.19";
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "prompt_toolkit";
+    inherit version;
     sha256 = "08360ee3a3148bdb5163621709ee322ec34fc4375099afa4bbf751e9b7b7fa4f";
   };
-  checkPhase = ''
-    py.test -k 'not test_pathcompleter_can_expanduser'
-  '';
 
-  checkInputs = [ pytest ];
   propagatedBuildInputs = [ six wcwidth ];
 
-  meta = {
+  checkInputs = [ pytestCheckHook ];
+
+  disabledTests = [
+    "test_pathcompleter_can_expanduser"
+  ];
+
+  meta = with lib; {
     description = "Python library for building powerful interactive command lines";
     longDescription = ''
       prompt_toolkit could be a replacement for readline, but it can be
@@ -30,6 +33,7 @@ buildPythonPackage rec {
       with a nice interactive Python shell (called ptpython) built on top.
     '';
     homepage = "https://github.com/jonathanslenders/python-prompt-toolkit";
-    license = lib.licenses.bsd3;
+    maintainers = with maintainers; [ ];
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/python-modules/ptpython/default.nix b/pkgs/development/python-modules/ptpython/default.nix
index 65915c85869..2e8bde6f536 100644
--- a/pkgs/development/python-modules/ptpython/default.nix
+++ b/pkgs/development/python-modules/ptpython/default.nix
@@ -4,7 +4,7 @@
 , importlib-metadata
 , isPy3k
 , jedi
-, prompt_toolkit
+, prompt-toolkit
 , pygments
 }:
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     appdirs
     black # yes, this is in install_requires
     jedi
-    prompt_toolkit
+    prompt-toolkit
     pygments
   ] ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
 
diff --git a/pkgs/development/python-modules/pweave/default.nix b/pkgs/development/python-modules/pweave/default.nix
index 1b8e1a3cc6f..b97d5149652 100644
--- a/pkgs/development/python-modules/pweave/default.nix
+++ b/pkgs/development/python-modules/pweave/default.nix
@@ -28,7 +28,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Scientific reports with embedded python computations with reST, LaTeX or markdown";
-    homepage = "http://mpastell.com/pweave/";
+    homepage = "https://mpastell.com/pweave/";
     license = licenses.bsd3;
   };
 
diff --git a/pkgs/development/python-modules/pyairvisual/default.nix b/pkgs/development/python-modules/pyairvisual/default.nix
index 65f70efb7c5..fadb3f58d50 100644
--- a/pkgs/development/python-modules/pyairvisual/default.nix
+++ b/pkgs/development/python-modules/pyairvisual/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "pyairvisual";
-  version = "5.0.8";
+  version = "5.0.9";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "sha256-QgMc0O5jk5LgKQg9ZMCZd3dNLv1typm1Rp2u8kSsqYk=";
+    sha256 = "1jfbwnipklpgxjgsgsx4j53anbqyrbgvj0wb84fvsm32jq9m8avf";
   };
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/pkgs/development/python-modules/pyarrow/default.nix b/pkgs/development/python-modules/pyarrow/default.nix
index 989433b499d..e9510d9552c 100644
--- a/pkgs/development/python-modules/pyarrow/default.nix
+++ b/pkgs/development/python-modules/pyarrow/default.nix
@@ -41,9 +41,9 @@ buildPythonPackage rec {
     # enabled in nixpkgs.
     # Upstream Issue: https://issues.apache.org/jira/browse/ARROW-11393
     "--deselect=pyarrow/tests/test_memory.py::test_env_var"
-    # Deselect the parquet dataset write test because it erroneously fails to find the
+    # Deselect a parquet dataset test because it erroneously fails to find the
     # pyarrow._dataset module.
-    "--deselect=pyarrow/tests/parquet/test_dataset.py::test_write_to_dataset_filesystem"
+    "--deselect=pyarrow/tests/parquet/test_dataset.py::test_parquet_dataset_deprecated_properties"
   ];
 
   dontUseSetuptoolsCheck = true;
diff --git a/pkgs/development/python-modules/pybind11/default.nix b/pkgs/development/python-modules/pybind11/default.nix
index 2208cca708d..3f825a06cd3 100644
--- a/pkgs/development/python-modules/pybind11/default.nix
+++ b/pkgs/development/python-modules/pybind11/default.nix
@@ -2,35 +2,25 @@
 , lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , cmake
 , eigen
 , python
 , catch
 , numpy
 , pytest
-, scipy
 }:
 
 buildPythonPackage rec {
   pname = "pybind11";
-  version = "2.6.2";
+  version = "2.7.0";
 
   src = fetchFromGitHub {
     owner = "pybind";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1lsacpawl2gb5qlh0cawj9swsyfbwhzhwiv6553a7lsigdbadqpy";
+    sha256 = "sha256-iEXoNTsfsDq79bKV7A4aOCHr11rT/cqnyLghEtGsaks=";
   };
 
-  patches = [
-    # fix pybind11Config.cmake
-    (fetchpatch {
-      url = "https://github.com/pybind/pybind11/commit/d9c4e1047a95f023633a7260af5a633307438941.patch";
-      sha256 = "0kran295kj31xfs6mfha5ip132zd0pnj2dl36qzgyc1rpnha5gz4";
-    })
-  ];
-
   nativeBuildInputs = [ cmake ];
 
   dontUseCmakeBuildDir = true;
diff --git a/pkgs/development/python-modules/pyfantom/default.nix b/pkgs/development/python-modules/pyfantom/default.nix
index d7c77e763e7..d27cccfbd8c 100644
--- a/pkgs/development/python-modules/pyfantom/default.nix
+++ b/pkgs/development/python-modules/pyfantom/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage {
   doCheck = false;
 
   meta = with lib; {
-    homepage = "http://pyfantom.ni.fr.eu.org/";
+    homepage = "https://pyfantom.ni.fr.eu.org/";
     description = "Wrapper for the LEGO Mindstorms Fantom Driver";
     license = licenses.gpl2;
   };
diff --git a/pkgs/development/python-modules/pyfma/default.nix b/pkgs/development/python-modules/pyfma/default.nix
index d53c62e2f3a..e41d51c1771 100644
--- a/pkgs/development/python-modules/pyfma/default.nix
+++ b/pkgs/development/python-modules/pyfma/default.nix
@@ -1,31 +1,37 @@
 { lib
 , buildPythonPackage
-, isPy27
-, fetchPypi
-, pybind11
-, exdown
+, fetchFromGitHub
+, importlib-metadata
 , numpy
+, pybind11
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyfma";
   version = "0.1.4";
+  disabled = pythonOlder "3.7";
 
-  disabled = isPy27;
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "5bc6bf57d960a5232b7a56bd38e9fe3dce0911016746029931044b66bdec46e9";
+  src = fetchFromGitHub {
+    owner = "nschloe";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1wkcl41j2d1yflc5dl30ys1yxx68w9zn3vj8brwkm1ar9jnfmg4h";
   };
+  format = "pyproject";
 
   buildInputs = [
     pybind11
   ];
 
-  checkInputs = [
-    exdown
+  propagatedBuildInputs = [
     numpy
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
+  ];
+
+  checkInputs = [
     pytestCheckHook
   ];
 
@@ -35,6 +41,6 @@ buildPythonPackage rec {
     description = "Fused multiply-add for Python";
     homepage = "https://github.com/nschloe/pyfma";
     license = licenses.mit;
-    maintainers = [ maintainers.costrouc];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/pyiqvia/default.nix b/pkgs/development/python-modules/pyiqvia/default.nix
index 34bc7bb5eb6..5dce573eaeb 100644
--- a/pkgs/development/python-modules/pyiqvia/default.nix
+++ b/pkgs/development/python-modules/pyiqvia/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pyiqvia";
-  version = "1.0.0";
+  version = "1.0.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -21,12 +21,16 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "sha256-6BbJgRpn2hivm4N3Zpll9NACMSNlIhxj8CF2iVduIro=";
+    sha256 = "18qzxxn9xw9rwv3qz8k3zxh9xxy8c7rs8xlsrdrcq9wb0dhd7p0r";
   };
 
-  nativeBuildInputs = [ poetry-core ];
+  nativeBuildInputs = [
+    poetry-core
+  ];
 
-  propagatedBuildInputs = [ aiohttp ];
+  propagatedBuildInputs = [
+    aiohttp
+  ];
 
   checkInputs = [
     aresponses
@@ -36,7 +40,8 @@ buildPythonPackage rec {
   ];
 
   # Ignore the examples as they are prefixed with test_
-  pytestFlagsArray = [ "--ignore examples/" ];
+  disabledTestPaths = [ "examples/" ];
+
   pythonImportsCheck = [ "pyiqvia" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pykoplenti/default.nix b/pkgs/development/python-modules/pykoplenti/default.nix
index 98182ddf68c..ba39dc536e2 100644
--- a/pkgs/development/python-modules/pykoplenti/default.nix
+++ b/pkgs/development/python-modules/pykoplenti/default.nix
@@ -3,7 +3,7 @@
 , buildPythonPackage
 , click
 , fetchFromGitHub
-, prompt_toolkit
+, prompt-toolkit
 , pycryptodome
 , pythonOlder
 }:
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     aiohttp
     click
-    prompt_toolkit
+    prompt-toolkit
     pycryptodome
   ];
 
diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix
index 6c2702ef3db..ef42bd43239 100644
--- a/pkgs/development/python-modules/pylint/default.nix
+++ b/pkgs/development/python-modules/pylint/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "pylint";
-  version = "2.7.2";
+  version = "2.7.4";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0e21d3b80b96740909d77206d741aa3ce0b06b41be375d92e1f3244a274c1f8a";
+    sha256 = "bd38914c7731cdc518634a8d3c5585951302b6e2b6de60fbb3f7a0220e21eeee";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pymodbus/default.nix b/pkgs/development/python-modules/pymodbus/default.nix
index 46b60419ad8..b96c5f8d15d 100644
--- a/pkgs/development/python-modules/pymodbus/default.nix
+++ b/pkgs/development/python-modules/pymodbus/default.nix
@@ -5,7 +5,7 @@
 , click
 , fetchFromGitHub
 , mock
-, prompt_toolkit
+, prompt-toolkit
 , pygments
 , pyserial
 , pyserial-asyncio
@@ -31,7 +31,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     aiohttp
     click
-    prompt_toolkit
+    prompt-toolkit
     pygments
     pyserial
     pyserial-asyncio
diff --git a/pkgs/development/python-modules/pypck/default.nix b/pkgs/development/python-modules/pypck/default.nix
index b0ea3fdcb24..797657a28c5 100644
--- a/pkgs/development/python-modules/pypck/default.nix
+++ b/pkgs/development/python-modules/pypck/default.nix
@@ -2,7 +2,6 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pytest-asyncio
-, pytest-cov
 , pytest-timeout
 , pytestCheckHook
 , pythonOlder
@@ -11,19 +10,18 @@
 
 buildPythonPackage rec {
   pname = "pypck";
-  version = "0.7.10";
+  version = "0.7.11";
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "alengwenus";
     repo = pname;
     rev = version;
-    sha256 = "sha256-B2imewEONewj1Y+Q316reIBZB/b9WQAu67x9cLMkRTU=";
+    sha256 = "1jj0y487qcxrprx4x2rs6r7rqsf5m9khk0xhigbvnbyvh8rsd2jr";
   };
 
   checkInputs = [
     pytest-asyncio
-    pytest-cov
     pytest-timeout
     pytestCheckHook
   ];
diff --git a/pkgs/development/python-modules/pyqtgraph/default.nix b/pkgs/development/python-modules/pyqtgraph/default.nix
index 54a136d5dcd..49401bf1f84 100644
--- a/pkgs/development/python-modules/pyqtgraph/default.nix
+++ b/pkgs/development/python-modules/pyqtgraph/default.nix
@@ -55,7 +55,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Scientific Graphics and GUI Library for Python";
-    homepage = "http://www.pyqtgraph.org/";
+    homepage = "https://www.pyqtgraph.org/";
     changelog = "https://github.com/pyqtgraph/pyqtgraph/blob/master/CHANGELOG";
     license = licenses.mit;
     platforms = platforms.unix;
diff --git a/pkgs/development/python-modules/pyroma/default.nix b/pkgs/development/python-modules/pyroma/default.nix
index c8fc988b96c..03eea0b8b5e 100644
--- a/pkgs/development/python-modules/pyroma/default.nix
+++ b/pkgs/development/python-modules/pyroma/default.nix
@@ -1,26 +1,48 @@
-{ lib, buildPythonPackage, fetchPypi
-, docutils, pygments, setuptools
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, docutils
+, pygments
+, setuptools
+, requests
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pyroma";
-  version = "3.1";
+  version = "3.2";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "45ad8201da9a813b5597bb85c80bbece93af9ec89170fc2be5ad85fa9463cef1";
+  src = fetchFromGitHub {
+    owner = "regebro";
+    repo = pname;
+    rev = version;
+    sha256 = "0ln9w984n48nyxwzd1y48l6b18lnv52radcyizaw56lapcgxrzdr";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "pygments < 2.6" "pygments"
-  '';
+  propagatedBuildInputs = [
+    docutils
+    pygments
+    setuptools
+    requests
+  ];
 
-  propagatedBuildInputs = [ docutils pygments setuptools ];
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [ "pyroma/tests.py" ];
+
+  disabledTests = [
+    # PyPI tests require network access
+    "PyPITest"
+  ];
+
+  pythonImportsCheck = [ "pyroma" ];
 
   meta = with lib; {
     description = "Test your project's packaging friendliness";
     homepage = "https://github.com/regebro/pyroma";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pysma/default.nix b/pkgs/development/python-modules/pysma/default.nix
index 4f04038d650..f538830a7fb 100644
--- a/pkgs/development/python-modules/pysma/default.nix
+++ b/pkgs/development/python-modules/pysma/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "pysma";
-  version = "0.6.4";
+  version = "0.6.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-hnvbQOilsoHn1qc/pKJ2Eq1VwJi+HbGlAAJwiME1Pgc=";
+    sha256 = "0kabwx8mi2kkbxxg7abnxwggxvidjrzgp5yidiyll5iba0ghhgnw";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pytenable/default.nix b/pkgs/development/python-modules/pytenable/default.nix
index b547d030ced..d2e227c1b17 100644
--- a/pkgs/development/python-modules/pytenable/default.nix
+++ b/pkgs/development/python-modules/pytenable/default.nix
@@ -18,13 +18,13 @@
 
 buildPythonPackage rec {
   pname = "pytenable";
-  version = "1.3.2";
+  version = "1.3.3";
 
   src = fetchFromGitHub {
     owner = "tenable";
     repo = "pyTenable";
     rev = version;
-    sha256 = "sha256-S39rl8bJsxYAmTcaZk9+s9G45lOvREjlGVBk1m30tJo=";
+    sha256 = "19vhy7mf972545abydywyig82gkxalp6sfwinvj71hzbihwwzjpq";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pytesseract/default.nix b/pkgs/development/python-modules/pytesseract/default.nix
index a7af2d1db03..6fcb9f97d32 100644
--- a/pkgs/development/python-modules/pytesseract/default.nix
+++ b/pkgs/development/python-modules/pytesseract/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pytesseract";
-  version = "0.3.7";
+  version = "0.3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4ecfc898d00a70fcc38d2bce729de1597c67e7bc5d2fa26094714c9f5b573645";
+    sha256 = "sha256-YUigHkN1dghi6PVupxjiK10TsoFFTfRuqNrJgHeT/Fo=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/pytesseract/tesseract-binary.patch b/pkgs/development/python-modules/pytesseract/tesseract-binary.patch
index 27b042bbaa5..78dfacb94ab 100644
--- a/pkgs/development/python-modules/pytesseract/tesseract-binary.patch
+++ b/pkgs/development/python-modules/pytesseract/tesseract-binary.patch
@@ -1,7 +1,7 @@
-diff --git a/src/pytesseract.py b/src/pytesseract.py
+diff --git a/pytesseract/pytesseract.py b/pytesseract/pytesseract.py
 index 132f59b..f161e5c 100755
---- a/src/pytesseract.py
-+++ b/src/pytesseract.py
+--- a/pytesseract/pytesseract.py
++++ b/pytesseract/pytesseract.py
 @@ -23,7 +23,7 @@ except ImportError:
      import Image
  
diff --git a/pkgs/development/python-modules/python-magic/default.nix b/pkgs/development/python-modules/python-magic/default.nix
index 6737f126073..02f1cc69152 100644
--- a/pkgs/development/python-modules/python-magic/default.nix
+++ b/pkgs/development/python-modules/python-magic/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "python-magic";
-  version = "0.4.22";
+  version = "0.4.24";
 
   src = fetchFromGitHub {
     owner = "ahupp";
     repo = "python-magic";
     rev = version;
-    sha256 = "0zbdjr5shijs0jayz7gycpx0kn6v2bh83dpanyajk2vmy47jvbd6";
+    sha256 = "17jalhjbfd600lzfz296m0nvgp6c7vx1mgz82jbzn8hgdzknf4w0";
   };
 
   patches = [
@@ -32,9 +32,10 @@ buildPythonPackage rec {
     LC_ALL="en_US.UTF-8" ${python.interpreter} test/test.py
   '';
 
-  meta = {
+  meta = with lib; {
     description = "A python interface to the libmagic file type identification library";
     homepage = "https://github.com/ahupp/python-magic";
-    license = lib.licenses.mit;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/python-magic/libmagic-path.patch b/pkgs/development/python-modules/python-magic/libmagic-path.patch
index 5a1dbec7d51..e9530d6ddf7 100644
--- a/pkgs/development/python-modules/python-magic/libmagic-path.patch
+++ b/pkgs/development/python-modules/python-magic/libmagic-path.patch
@@ -1,17 +1,28 @@
-diff --git a/magic/loader.py b/magic/loader.py
-index 6b2bfcb..69778af 100644
---- a/magic/loader.py
-+++ b/magic/loader.py
-@@ -5,11 +5,7 @@ import glob
+diff --git i/magic/loader.py w/magic/loader.py
+index 931f161..b8096d1 100644
+--- i/magic/loader.py
++++ w/magic/loader.py
+@@ -35,16 +35,12 @@ def _lib_candidates():
+ 
+ 
  def load_lib():
-   libmagic = None
-   # Let's try to find magic or magic1
--  dll = ctypes.util.find_library('magic') \
--        or ctypes.util.find_library('magic1') \
--        or ctypes.util.find_library('cygmagic-1') \
--        or ctypes.util.find_library('libmagic-1') \
--        or ctypes.util.find_library('msys-magic-1')  # for MSYS2
-+  dll = '@libmagic@'
++  lib = '@libmagic@'
+ 
+-  for lib in _lib_candidates():
+-    # find_library returns None when lib not found
+-    if lib is None:
+-      continue
+-    try:
+-      return ctypes.CDLL(lib)
+-    except OSError:
+-      pass
+-  else:
+-    # It is better to raise an ImportError since we are importing magic module
+-    raise ImportError('failed to find libmagic.  Check your installation')
++  try:
++    return ctypes.CDLL(lib)
++  except OSError:
++    pass
  
-   # necessary because find_library returns None if it doesn't find the library
-   if dll:
++  # It is better to raise an ImportError since we are importing magic module
++  raise ImportError('failed to find libmagic.  Check your installation')
diff --git a/pkgs/development/python-modules/python-mapnik/default.nix b/pkgs/development/python-modules/python-mapnik/default.nix
index 228e0d74ebc..3a4e4af54de 100644
--- a/pkgs/development/python-modules/python-mapnik/default.nix
+++ b/pkgs/development/python-modules/python-mapnik/default.nix
@@ -1,26 +1,29 @@
 { lib
 , buildPythonPackage
+, fetchFromGitHub
 , isPyPy
 , python
-, pkgs
 , pillow
 , pycairo
+, pkg-config
+, boost
+, cairo
+, harfbuzz
+, icu
+, libjpeg
+, libpng
+, libtiff
+, libwebp
+, mapnik
+, proj
+, zlib
 }:
 
-let
-  boost = pkgs.boost.override {
-    enablePython = true;
-    inherit python;
-  };
-  mapnik = pkgs.mapnik.override {
-    inherit python boost;
-  };
-
-in buildPythonPackage rec {
+buildPythonPackage rec {
   pname = "python-mapnik";
   version = "unstable-2020-02-24";
 
-  src = pkgs.fetchFromGitHub {
+  src = fetchFromGitHub {
     owner = "mapnik";
     repo = "python-mapnik";
     rev = "7da019cf9eb12af8f8aa88b7d75789dfcd1e901b";
@@ -29,10 +32,8 @@ in buildPythonPackage rec {
 
   disabled = isPyPy;
   doCheck = false; # doesn't find needed test data files
-  preBuild = let
-    pythonVersion = with lib.versions; "${major python.version}${minor python.version}";
-  in ''
-    export BOOST_PYTHON_LIB="boost_python${pythonVersion}"
+  preBuild = ''
+    export BOOST_PYTHON_LIB="boost_python${"${lib.versions.major python.version}${lib.versions.minor python.version}"}"
     export BOOST_THREAD_LIB="boost_thread"
     export BOOST_SYSTEM_LIB="boost_system"
     export PYCAIRO=true
@@ -40,7 +41,7 @@ in buildPythonPackage rec {
 
   nativeBuildInputs = [
     mapnik # for mapnik_config
-    pkgs.pkgconfig
+    pkg-config
   ];
 
   patches = [
@@ -50,7 +51,6 @@ in buildPythonPackage rec {
   buildInputs = [
     mapnik
     boost
-  ] ++ (with pkgs; [
     cairo
     harfbuzz
     icu
@@ -60,15 +60,16 @@ in buildPythonPackage rec {
     libwebp
     proj
     zlib
-  ]);
+  ];
+
   propagatedBuildInputs = [ pillow pycairo ];
 
-  pythonImportsCheck = [ "mapnik" ] ;
+  pythonImportsCheck = [ "mapnik" ];
 
   meta = with lib; {
     description = "Python bindings for Mapnik";
+    maintainers = with maintainers; [ ];
     homepage = "https://mapnik.org";
-    license  = licenses.lgpl21;
+    license = licenses.lgpl21;
   };
-
 }
diff --git a/pkgs/development/python-modules/python-uinput/default.nix b/pkgs/development/python-modules/python-uinput/default.nix
index 8d82ffb6b3b..efb1288943a 100644
--- a/pkgs/development/python-modules/python-uinput/default.nix
+++ b/pkgs/development/python-modules/python-uinput/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Pythonic API to Linux uinput kernel module";
-    homepage = "http://tjjr.fi/sw/python-uinput/";
+    homepage = "https://tjjr.fi/sw/python-uinput/";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ abbradar ];
   };
diff --git a/pkgs/development/python-modules/pytile/default.nix b/pkgs/development/python-modules/pytile/default.nix
index cf445fd9681..779703723ee 100644
--- a/pkgs/development/python-modules/pytile/default.nix
+++ b/pkgs/development/python-modules/pytile/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pytile";
-  version = "5.2.2";
+  version = "5.2.3";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "sha256-oVtTR5zucYvnaPO0i4sEBBU4nafq7GUfx3kPdSvptDo=";
+    sha256 = "01gxq6dbqjmsqndjcbqv79wd2wgs7krm0rn47k883gh2xg9sn606";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pytube/default.nix b/pkgs/development/python-modules/pytube/default.nix
index 62824354c67..93ff3936083 100644
--- a/pkgs/development/python-modules/pytube/default.nix
+++ b/pkgs/development/python-modules/pytube/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pytube";
-  version = "10.9.0";
+  version = "10.9.3";
 
   disabled = pythonOlder "3.6";
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "pytube";
     repo = "pytube";
     rev = "v${version}";
-    sha256 = "sha256-9kKazy0Fg3YcNIkzgVFQ46Ipn3Dngfnh5DjwRP/fZGg=";
+    sha256 = "sha256-x4u68O9dNhDZ+1Q+S4ou6zPqoR2/Yn5lcKgR2kyM/uo=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pyupgrade/default.nix b/pkgs/development/python-modules/pyupgrade/default.nix
index 202c8254f6b..3d37dcae872 100644
--- a/pkgs/development/python-modules/pyupgrade/default.nix
+++ b/pkgs/development/python-modules/pyupgrade/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pyupgrade";
-  version = "2.23.0";
+  version = "2.23.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "asottile";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0w1r9s3kr539vwfb7ld7jmr8q4jkr7jsnk51x50wji7jzs627a8i";
+    sha256 = "1jc0gh0y5fz02wab50v6m4x0pfycdkjvf1vw05d8d0yqsv7ld7fw";
   };
 
   checkInputs = [ pytestCheckHook ];
diff --git a/pkgs/development/python-modules/pyvex/default.nix b/pkgs/development/python-modules/pyvex/default.nix
index a6c2b1d381b..ee61f4fcca0 100644
--- a/pkgs/development/python-modules/pyvex/default.nix
+++ b/pkgs/development/python-modules/pyvex/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "pyvex";
-  version = "9.0.9166";
+  version = "9.0.9297";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0h7jw7blr4bal7pw711cxmwm4jjypchshc8ks04z2lyziy83ywja";
+    sha256 = "1dfg7kacmwln0sazs5hakmsmfbm8m55qq1ydxi4g2ix3bfxkc1c4";
   };
 
   postPatch = lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/development/python-modules/pywemo/default.nix b/pkgs/development/python-modules/pywemo/default.nix
index ad2574bd86c..80d69a04333 100644
--- a/pkgs/development/python-modules/pywemo/default.nix
+++ b/pkgs/development/python-modules/pywemo/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pywemo";
-  version = "0.6.5";
+  version = "0.6.6";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-8nLzNEle5eR5qc/tC1CX+Kh3WkPuKyy9VDMiAVbOykA=";
+    sha256 = "04h4av65x0a2iv3a4rpsq19m9pi7wk8j447rr5z7jwap870gs8nd";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/questionary/default.nix b/pkgs/development/python-modules/questionary/default.nix
index d7f93b3a47e..27619b78545 100644
--- a/pkgs/development/python-modules/questionary/default.nix
+++ b/pkgs/development/python-modules/questionary/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , poetry
-, prompt_toolkit
+, prompt-toolkit
 , pytest-cov
 , pytestCheckHook
 }:
@@ -24,7 +24,7 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    prompt_toolkit
+    prompt-toolkit
   ];
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/regenmaschine/default.nix b/pkgs/development/python-modules/regenmaschine/default.nix
index e19c744ba65..0f1240549af 100644
--- a/pkgs/development/python-modules/regenmaschine/default.nix
+++ b/pkgs/development/python-modules/regenmaschine/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "regenmaschine";
-  version = "3.1.3";
+  version = "3.1.4";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "sha256-3Q0JQQVspzuQQAn3S46uFbOYW2zQ7c1UL4zjEOnifDY=";
+    sha256 = "07ldbajm1y92szdc36z5cl02dpvbarsb8clq9m45849gm8g7yczd";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/sentry-sdk/default.nix b/pkgs/development/python-modules/sentry-sdk/default.nix
index 9b387582252..ff58edbeb31 100644
--- a/pkgs/development/python-modules/sentry-sdk/default.nix
+++ b/pkgs/development/python-modules/sentry-sdk/default.nix
@@ -29,11 +29,11 @@
 
 buildPythonPackage rec {
   pname = "sentry-sdk";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-UhCnEt1X2I0iXB/D/jo2Jv7kk2N7zVTiBIJs8EuNdpw=";
+    sha256 = "0v72zzghlk6kvjg7fg4c4mfr1kasnwlpjzk1wyqd864nz9293sgb";
   };
 
   checkInputs = [ blinker botocore chalice django flask tornado bottle rq falcon sqlalchemy werkzeug trytond
diff --git a/pkgs/development/python-modules/setuptools/44.0.nix b/pkgs/development/python-modules/setuptools/44.0.nix
index 7c7d6b01e40..40265dc639b 100644
--- a/pkgs/development/python-modules/setuptools/44.0.nix
+++ b/pkgs/development/python-modules/setuptools/44.0.nix
@@ -61,7 +61,7 @@ in buildPythonPackage rec {
     (setuptoolsBuildHook.override{setuptools=null; wheel=null;})
   ];
 
-  preBuild = lib.strings.optionalString (!stdenv.hostPlatform.isWindows) ''
+  preBuild = lib.optionalString (!stdenv.hostPlatform.isWindows) ''
     export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES=0
   '';
 
diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix
index 0e144c5b009..62e7fb686c4 100644
--- a/pkgs/development/python-modules/setuptools/default.nix
+++ b/pkgs/development/python-modules/setuptools/default.nix
@@ -14,12 +14,7 @@
 
 let
   pname = "setuptools";
-  version = "54.2.0";
-
-  bootstrap = fetchurl {
-    url = "https://raw.githubusercontent.com/pypa/setuptools/v52.0.0/bootstrap.py";
-    sha256 = "sha256-HzhlnJvMskBfb3kVnYltdnjS63wt1GWd0RK+VQqrJQ8=";
-  };
+  version = "57.2.0";
 
   # Create an sdist of setuptools
   sdist = stdenv.mkDerivation rec {
@@ -29,7 +24,7 @@ let
       owner = "pypa";
       repo = pname;
       rev = "v${version}";
-      sha256 = "sha256-ZHJZiwlWLHP4vf2TLwj/DYB9wjbRp0apVmmjsKCLPq0=";
+      sha256 = "sha256-zFmndVoATNxfvDsacY+gj5bzIbbd/8ldbsJj4qOawTA=";
       name = "${pname}-${version}-source";
     };
 
@@ -38,8 +33,7 @@ let
     ];
 
     buildPhase = ''
-      cp ${bootstrap} bootstrap.py
-      ${python.pythonForBuild.interpreter} bootstrap.py
+      ${python.pythonForBuild.interpreter} setup.py egg_info
       ${python.pythonForBuild.interpreter} setup.py sdist --formats=gztar
 
       # Here we untar the sdist and retar it in order to control the timestamps
@@ -68,7 +62,7 @@ in buildPythonPackage rec {
     (setuptoolsBuildHook.override{setuptools=null; wheel=null;})
   ];
 
-  preBuild = lib.strings.optionalString (!stdenv.hostPlatform.isWindows) ''
+  preBuild = lib.optionalString (!stdenv.hostPlatform.isWindows) ''
     export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES=0
   '';
 
diff --git a/pkgs/development/python-modules/simplejson/default.nix b/pkgs/development/python-modules/simplejson/default.nix
index dd27c02dc87..0d4d45cce5d 100644
--- a/pkgs/development/python-modules/simplejson/default.nix
+++ b/pkgs/development/python-modules/simplejson/default.nix
@@ -7,17 +7,20 @@
 
 buildPythonPackage rec {
   pname = "simplejson";
-  version = "3.17.2";
-  doCheck = !stdenv.isDarwin;
+  version = "3.17.3";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2ZC7aKyUUcth43Ce0j6JdjrJ4gb4QfJDlY2M5TLMQ+o=";
+    sha256 = "sha256-Ev1vKyxexPvTT+esf9ngUcHu70Brl27P3qbS5fK2HxU=";
   };
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  doCheck = !stdenv.isDarwin;
 
   pythonImportsCheck = [ "simplejson" ];
 
diff --git a/pkgs/development/python-modules/softlayer/default.nix b/pkgs/development/python-modules/softlayer/default.nix
index 78ecb3face3..f0ec10fafb9 100644
--- a/pkgs/development/python-modules/softlayer/default.nix
+++ b/pkgs/development/python-modules/softlayer/default.nix
@@ -5,7 +5,7 @@
 , ptable
 , click
 , requests
-, prompt_toolkit
+, prompt-toolkit
 , pygments
 , urllib3
 , pytest
@@ -20,9 +20,9 @@ buildPythonPackage rec {
   version = "5.8.4";
   disabled = isPy27;
 
-  propagatedBuildInputs = [ ptable click requests prompt_toolkit pygments urllib3 ];
+  propagatedBuildInputs = [ ptable click requests prompt-toolkit pygments urllib3 ];
 
-  checkInputs = [ pytest pytest-cov mock sphinx testtools ptable click requests prompt_toolkit pygments urllib3 ];
+  checkInputs = [ pytest pytest-cov mock sphinx testtools ];
 
   checkPhase = ''
     pytest
diff --git a/pkgs/development/python-modules/sphinx-inline-tabs/default.nix b/pkgs/development/python-modules/sphinx-inline-tabs/default.nix
new file mode 100644
index 00000000000..25e0aa6d6ce
--- /dev/null
+++ b/pkgs/development/python-modules/sphinx-inline-tabs/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, sphinx
+}:
+
+buildPythonPackage rec {
+  pname = "sphinx-inline-tabs";
+  version = "2021.04.11.beta9";
+  format = "flit";
+
+  src = fetchFromGitHub {
+    owner = "pradyunsg";
+    repo = "sphinx-inline-tabs";
+    rev = version;
+    sha256 = "sha256-UYrLQAXPProjpGPQNkju6+DmzjPG+jbjdKveoeViVTY=";
+  };
+
+  propagatedBuildInputs = [
+    sphinx
+  ];
+
+  # no tests, see https://github.com/pradyunsg/sphinx-inline-tabs/issues/6
+  doCheck = false;
+
+  pythonImportsCheck = [ "sphinx_inline_tabs" ];
+
+  meta = with lib; {
+    description = "Add inline tabbed content to your Sphinx documentation";
+    homepage = "https://github.com/pradyunsg/sphinx-inline-tabs";
+    license = licenses.mit;
+    maintainers = with maintainers; [ Luflosi ];
+  };
+}
diff --git a/pkgs/development/python-modules/sphinxext-opengraph/default.nix b/pkgs/development/python-modules/sphinxext-opengraph/default.nix
new file mode 100644
index 00000000000..08a87a2f7c0
--- /dev/null
+++ b/pkgs/development/python-modules/sphinxext-opengraph/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, sphinx
+}:
+
+buildPythonPackage rec {
+  pname = "sphinxext-opengraph";
+  version = "0.4.2";
+
+  src = fetchFromGitHub {
+    owner = "wpilibsuite";
+    repo = "sphinxext-opengraph";
+    rev = "v${version}";
+    sha256 = "sha256-978aPtaqUDHcswDdFynzi+IjDYaBmCZDZk+dmDkhajY=";
+  };
+
+  propagatedBuildInputs = [
+    sphinx
+  ];
+
+  doCheck = false; # no tests
+
+  pythonImportsCheck = [ "sphinxext.opengraph" ];
+
+  meta = with lib; {
+    description = "Sphinx extension to generate unique OpenGraph metadata";
+    homepage = "https://github.com/wpilibsuite/sphinxext-opengraph";
+    license = licenses.mit;
+    maintainers = with maintainers; [ Luflosi ];
+  };
+}
diff --git a/pkgs/development/python-modules/sqlalchemy/default.nix b/pkgs/development/python-modules/sqlalchemy/default.nix
index 3aaff20a9ea..37e89abf8da 100644
--- a/pkgs/development/python-modules/sqlalchemy/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "SQLAlchemy";
-  version = "1.4.20";
+  version = "1.4.22";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1l5miq1nzvg51yqw3pnaq17dgibhgx2m0il2ha79gwpyd8k3mviq";
+    sha256 = "sha256-7BvibNzNYNGANZpSfVmA2VmiYmmix7GzJ6HuoMqzftg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/subunit/default.nix b/pkgs/development/python-modules/subunit/default.nix
index f4622689187..c59626fc85c 100644
--- a/pkgs/development/python-modules/subunit/default.nix
+++ b/pkgs/development/python-modules/subunit/default.nix
@@ -27,7 +27,7 @@ buildPythonPackage {
       --ignore=python/subunit/tests/test_{output_filter,test_protocol{,2}}.py
   '';
 
-  patchPhase = ''
+  postPatch = ''
     sed -i 's/version=VERSION/version="${subunit.version}"/' setup.py
   '';
 }
diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix
index bbdecc8bdcd..c077265bf63 100644
--- a/pkgs/development/python-modules/tensorflow/default.nix
+++ b/pkgs/development/python-modules/tensorflow/default.nix
@@ -1,5 +1,5 @@
 { stdenv, bazel_3, buildBazelPackage, isPy3k, lib, fetchFromGitHub, symlinkJoin
-, addOpenGLRunpath
+, addOpenGLRunpath, fetchpatch
 # Python deps
 , buildPythonPackage, pythonOlder, pythonAtLeast, python
 # Python libraries
@@ -72,7 +72,7 @@ let
 
   tfFeature = x: if x then "1" else "0";
 
-  version = "2.4.1";
+  version = "2.4.2";
   variant = if cudaSupport then "-gpu" else "";
   pname = "tensorflow${variant}";
 
@@ -110,10 +110,16 @@ let
       owner = "tensorflow";
       repo = "tensorflow";
       rev = "v${version}";
-      sha256 = "sha256-J62QfP45g5nxN9Nqa1tAGyc4vD2JKh50ddHLrd6/qsY=";
+      sha256 = "07a2y05hixch1bjag5pzw3p1m7bdj3bq4gdvmsfk2xraz49b1pi8";
     };
 
     patches = [
+      # included from 2.6.0 onwards
+      (fetchpatch {
+        name = "fix-numpy-1.20-notimplementederror.patch";
+        url = "https://github.com/tensorflow/tensorflow/commit/b258941525f496763d4277045b6513c815720e3a.patch";
+        sha256 = "19f9bzrcfsynk11s2hqvscin5c65zf7r6g3nb10jnimw79vafiry";
+      })
       # Relax too strict Python packages versions dependencies.
       ./relax-dependencies.patch
       # Add missing `io_bazel_rules_docker` dependency.
diff --git a/pkgs/development/python-modules/trezor/default.nix b/pkgs/development/python-modules/trezor/default.nix
index 546989ef349..3015e8d7ebb 100644
--- a/pkgs/development/python-modules/trezor/default.nix
+++ b/pkgs/development/python-modules/trezor/default.nix
@@ -24,20 +24,15 @@
 
 buildPythonPackage rec {
   pname = "trezor";
-  version = "0.12.2";
+  version = "0.12.3";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0r0j0y0ii62ppawc8qqjyaq0fkmmb0zk1xb3f9navxp556w2dljv";
+    sha256 = "02c39c333435b8f6dc62cc79bb5bf35fc7f0eb144a1a748be3b7c065ee3e85ae";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace 'click>=7,<8' 'click>=7,<9'
-  '';
-
   nativeBuildInputs = [ installShellFiles ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/types-requests/default.nix b/pkgs/development/python-modules/types-requests/default.nix
index 0450da3f1a7..a291b23d3e2 100644
--- a/pkgs/development/python-modules/types-requests/default.nix
+++ b/pkgs/development/python-modules/types-requests/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "types-requests";
-  version = "2.25.0";
+  version = "2.25.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "022q31fgiyq6zfjv4pbpg10hh9m7x91wqfc6bdyin50hf980q3gf";
+    sha256 = "0vyr1vgg03a1gkjcz59iwqc1q9mx4ij7slslsp08z2h8fbhlwl9d";
   };
 
   # Modules doesn't have tests
diff --git a/pkgs/development/python-modules/vispy/default.nix b/pkgs/development/python-modules/vispy/default.nix
index 5524258a7e8..849f25ef0df 100644
--- a/pkgs/development/python-modules/vispy/default.nix
+++ b/pkgs/development/python-modules/vispy/default.nix
@@ -32,7 +32,7 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "vispy" ];
 
   meta = with lib; {
-    homepage = "http://vispy.org/index.html";
+    homepage = "https://vispy.org/index.html";
     description = "Interactive scientific visualization in Python";
     license = licenses.bsd3;
     maintainers = with maintainers; [ goertzenator ];
diff --git a/pkgs/development/python-modules/xstatic-jquery-file-upload/default.nix b/pkgs/development/python-modules/xstatic-jquery-file-upload/default.nix
index 0316a849376..ce3f8c76dfa 100644
--- a/pkgs/development/python-modules/xstatic-jquery-file-upload/default.nix
+++ b/pkgs/development/python-modules/xstatic-jquery-file-upload/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ xstatic-jquery ];
 
   meta = with lib;{
-    homepage =  "http://plugins.jquery.com/project/jQuery-File-Upload";
+    homepage =  "https://plugins.jquery.com/project/jQuery-File-Upload";
     description = "jquery-file-upload packaged static files for python";
     license = licenses.mit;
     maintainers = with maintainers; [ makefu ];
diff --git a/pkgs/development/python-modules/yalexs/default.nix b/pkgs/development/python-modules/yalexs/default.nix
index 502eb5c4f68..a97ebe947af 100644
--- a/pkgs/development/python-modules/yalexs/default.nix
+++ b/pkgs/development/python-modules/yalexs/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "yalexs";
-  version = "1.1.12";
+  version = "1.1.13";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "bdraco";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-J7jh8FufGQzYbVhdOPbIpZCjfWZV6oOShy82QXL82b4=";
+    sha256 = "0938540n60xv7kxam3azszn3nj0mnhhgh5p4hgbfxj43bkwpqz4n";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/youtube-transcript-api/default.nix b/pkgs/development/python-modules/youtube-transcript-api/default.nix
new file mode 100644
index 00000000000..6829df668b2
--- /dev/null
+++ b/pkgs/development/python-modules/youtube-transcript-api/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildPythonPackage, fetchFromGitHub, requests, mock, httpretty, pytestCheckHook }:
+
+buildPythonPackage rec {
+  pname = "youtube-transcript-api";
+  version = "0.4.1";
+
+  # PyPI tarball is missing some test files
+  src = fetchFromGitHub {
+    owner = "jdepoix";
+    repo = "youtube-transcript-api";
+    rev = "v${version}";
+    sha256 = "1gpk13j1n2bifwsg951gmrfnq8kfxjr15rq46dxn1bhyk9hr1zql";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  checkInputs = [ mock httpretty pytestCheckHook ];
+
+  pythonImportsCheck = [ "youtube_transcript_api" ];
+
+  meta = with lib; {
+    description = "Python API which allows you to get the transcripts/subtitles for a given YouTube video";
+    homepage = "https://github.com/jdepoix/youtube-transcript-api";
+    license = licenses.mit;
+    maintainers = [ maintainers.marsam ];
+  };
+}