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/azure-mgmt-reservations/default.nix12
-rw-r--r--pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix4
-rw-r--r--pkgs/development/python-modules/bitstruct/default.nix4
-rw-r--r--pkgs/development/python-modules/blspy/default.nix6
-rw-r--r--pkgs/development/python-modules/certomancer/default.nix71
-rw-r--r--pkgs/development/python-modules/crytic-compile/default.nix6
-rw-r--r--pkgs/development/python-modules/eagle100/default.nix4
-rw-r--r--pkgs/development/python-modules/flask-httpauth/default.nix4
-rw-r--r--pkgs/development/python-modules/flax/default.nix1
-rw-r--r--pkgs/development/python-modules/hydra-check/default.nix31
-rw-r--r--pkgs/development/python-modules/mutmut/default.nix4
-rw-r--r--pkgs/development/python-modules/policyuniverse/default.nix4
-rw-r--r--pkgs/development/python-modules/pyhanko-certvalidator/default.nix73
-rw-r--r--pkgs/development/python-modules/pyhanko/0001-Updating-pytest-aiohttp-version.patch25
-rw-r--r--pkgs/development/python-modules/pyhanko/default.nix132
-rw-r--r--pkgs/development/python-modules/pyinfra/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-mpl/default.nix4
-rw-r--r--pkgs/development/python-modules/python-barcode/default.nix48
-rw-r--r--pkgs/development/python-modules/python-pae/default.nix39
-rw-r--r--pkgs/development/python-modules/qiskit-ibmq-provider/default.nix6
-rw-r--r--pkgs/development/python-modules/qiskit-terra/default.nix6
-rw-r--r--pkgs/development/python-modules/qiskit/default.nix4
-rw-r--r--pkgs/development/python-modules/staticjinja/default.nix4
-rw-r--r--pkgs/development/python-modules/uharfbuzz/default.nix45
-rw-r--r--pkgs/development/python-modules/vispy/default.nix4
-rw-r--r--pkgs/development/python-modules/xhtml2pdf/default.nix10
-rw-r--r--pkgs/development/python-modules/xxhash/default.nix5
-rw-r--r--pkgs/development/python-modules/zwave-js-server-python/default.nix4
28 files changed, 500 insertions, 64 deletions
diff --git a/pkgs/development/python-modules/azure-mgmt-reservations/default.nix b/pkgs/development/python-modules/azure-mgmt-reservations/default.nix
index 7e08b16166d..0be05eb390f 100644
--- a/pkgs/development/python-modules/azure-mgmt-reservations/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-reservations/default.nix
@@ -5,18 +5,20 @@
 , msrestazure
 , azure-common
 , azure-mgmt-core
-, azure-mgmt-nspkg
-, isPy3k
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-reservations";
-  version = "1.0.0";
+  version = "2.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "880df54fdf3869ee6b142d4fc7a3fce518c850523c42cc895b7fb8359956554e";
+    hash = "sha256-5vXdXiRubnzPk4uTFeNHR6rwiHSGbeUREX9eW1pqC3E=";
   };
 
   propagatedBuildInputs = [
@@ -24,8 +26,6 @@ buildPythonPackage rec {
     msrestazure
     azure-common
     azure-mgmt-core
-  ] ++ lib.optionals (!isPy3k) [
-    azure-mgmt-nspkg
   ];
 
   # has no tests
diff --git a/pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix b/pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix
index 58d32853194..55f4d928492 100644
--- a/pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-servicelinker";
-  version = "1.0.0b1";
+  version = "1.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4f70d3bcd98ba539bfef870e3c497ebdc5efed3200c2627a61718baa9ab21a61";
+    sha256 = "sha256-lAjgwEa2TJDEUU8pwfwkU8EyA1bhLkcAv++I6WHb7Xs=";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/bitstruct/default.nix b/pkgs/development/python-modules/bitstruct/default.nix
index 8279f0ac976..5867e695b81 100644
--- a/pkgs/development/python-modules/bitstruct/default.nix
+++ b/pkgs/development/python-modules/bitstruct/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "bitstruct";
-  version = "8.14.0";
+  version = "8.14.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IwwZHHXxUm9pIs2wjqtvUsBVRS4iOb9WOPAunP04LJE=";
+    hash = "sha256-04ExvUR7avW49GTEh4eXyHpdnaHJW5NX4HHEJP3l8FU=";
   };
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/blspy/default.nix b/pkgs/development/python-modules/blspy/default.nix
index aac2c2b9739..9f07fa764f9 100644
--- a/pkgs/development/python-modules/blspy/default.nix
+++ b/pkgs/development/python-modules/blspy/default.nix
@@ -27,10 +27,10 @@ buildPythonPackage rec {
       src = ./dont_fetch_dependencies.patch;
       pybind11_src = pybind11.src;
       relic_src = fetchFromGitHub {
-        owner = "relic-toolkit";
+        owner = "Chia-Network";
         repo = "relic";
-        rev = "1885ae3b681c423c72b65ce1fe70910142cf941c"; # pinned by blspy
-        hash = "sha256-tsSZTcssl8t7Nqdex4BesgQ+ACPgTdtHnJFvS9josN0=";
+        rev = "1d98e5abf3ca5b14fd729bd5bcced88ea70ecfd7"; # pinned by blspy
+        hash = "sha256-IfTD8DvTEXeLUoKe4Ejafb+PEJW5DV/VXRYuutwGQHU=";
       };
       sodium_src = fetchFromGitHub {
         owner = "AmineKhaldi";
diff --git a/pkgs/development/python-modules/certomancer/default.nix b/pkgs/development/python-modules/certomancer/default.nix
new file mode 100644
index 00000000000..3d863165f29
--- /dev/null
+++ b/pkgs/development/python-modules/certomancer/default.nix
@@ -0,0 +1,71 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, asn1crypto
+, click
+, oscrypto
+, pyyaml
+, python-dateutil
+, tzlocal
+, pytest-aiohttp
+, pytz
+, freezegun
+, jinja2
+, pyhanko-certvalidator
+, requests
+, requests-mock
+, werkzeug
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "certomancer";
+  version = "0.8.2";
+  format = "setuptools";
+  disabled = pythonOlder "3.7";
+
+  # Tests are only available on GitHub
+  src = fetchFromGitHub {
+    owner = "MatthiasValvekens";
+    repo = "certomancer";
+    rev = version;
+    sha256 = "sha256-H43NlFNTwZtedHsB7c62MocwQVOi5JjVJxRcZY+Wn7Y=";
+  };
+
+  propagatedBuildInputs = [
+    asn1crypto
+    click
+    oscrypto
+    pyyaml
+    python-dateutil
+    tzlocal
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace ", 'pytest-runner'" "" \
+      --replace "pyhanko-certvalidator==0.19.2" "pyhanko-certvalidator==0.19.5"
+  '';
+
+  checkInputs = [
+    freezegun
+    jinja2
+    pyhanko-certvalidator
+    pytest-aiohttp
+    pytz
+    requests
+    requests-mock
+    werkzeug
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "certomancer" ];
+
+  meta = with lib; {
+    description = "Quickly construct, mock & deploy PKI test configurations using simple declarative configuration";
+    homepage = "https://github.com/MatthiasValvekens/certomancer";
+    license = licenses.mit;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/development/python-modules/crytic-compile/default.nix b/pkgs/development/python-modules/crytic-compile/default.nix
index 7260310ea03..393dcd5e9d8 100644
--- a/pkgs/development/python-modules/crytic-compile/default.nix
+++ b/pkgs/development/python-modules/crytic-compile/default.nix
@@ -2,15 +2,15 @@
 
 buildPythonPackage rec {
   pname = "crytic-compile";
-  version = "0.2.2";
+  version = "0.2.3";
 
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "crytic";
     repo = "crytic-compile";
-    rev = version;
-    sha256 = "sha256-4Lz+jJdKURp+K5XJJb7ksiFbnQwzS71gZWOufBvqz/k=";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-l8a9QXERpkVrx7zHluMlb3zBvJSODsviNtJPzvL3hDo=";
   };
 
   propagatedBuildInputs = [ pysha3 setuptools ];
diff --git a/pkgs/development/python-modules/eagle100/default.nix b/pkgs/development/python-modules/eagle100/default.nix
index 599181b1123..9d5e5d79502 100644
--- a/pkgs/development/python-modules/eagle100/default.nix
+++ b/pkgs/development/python-modules/eagle100/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "eagle100";
-  version = "0.1.0";
+  version = "0.1.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-i9ZvbjxSENJlQ+9sqWnIl1fL6tVbG3E/IUhe7b59sBk=";
+    hash = "sha256-eyYY1x8IjIfUx5OiaOomiWunsO1++seFwXlI/iKDDLw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/flask-httpauth/default.nix b/pkgs/development/python-modules/flask-httpauth/default.nix
index e667e08b144..fb313faff23 100644
--- a/pkgs/development/python-modules/flask-httpauth/default.nix
+++ b/pkgs/development/python-modules/flask-httpauth/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "flask-httpauth";
-  version = "4.5.0";
+  version = "4.6.0";
 
   disabled = python.pythonOlder "3";
 
   src = fetchPypi {
     pname = "Flask-HTTPAuth";
     version = version;
-    sha256 = "0ada63rkcvwkakjyx4ay98fjzwx5h55br12ys40ghkc5lbyl0l1r";
+    sha256 = "sha256-IHbPhuhMaqRC7gM0S/91Hq4TPTWhpIkx5vmfFHFhtVs=";
   };
 
   checkInputs = [ pytestCheckHook ];
diff --git a/pkgs/development/python-modules/flax/default.nix b/pkgs/development/python-modules/flax/default.nix
index 97f2c3c3862..1cd68790479 100644
--- a/pkgs/development/python-modules/flax/default.nix
+++ b/pkgs/development/python-modules/flax/default.nix
@@ -45,6 +45,7 @@ buildPythonPackage rec {
 
   pytestFlagsArray = [
     "-W ignore::FutureWarning"
+    "-W ignore::DeprecationWarning"
   ];
 
   disabledTestPaths = [
diff --git a/pkgs/development/python-modules/hydra-check/default.nix b/pkgs/development/python-modules/hydra-check/default.nix
index 48833d77e8b..8c1fd56b8d3 100644
--- a/pkgs/development/python-modules/hydra-check/default.nix
+++ b/pkgs/development/python-modules/hydra-check/default.nix
@@ -2,46 +2,39 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
-, docopt
+, poetry-core
 , requests
 , beautifulsoup4
-, mypy
-, types-requests
+, colorama
 }:
 
 buildPythonPackage rec {
   pname = "hydra-check";
-  version = "1.2.0";
-  disabled = pythonOlder "3.5";
+  version = "1.3.4";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.10";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = pname;
-    rev = version;
-    sha256 = "EegoQ8qTrFGFYbCDsbAOE4Afg9haLjYdC0Cux/yvSk8=";
+    rev = "v${version}";
+    sha256 = "sha256-voSbpOPJUPjwzdMLVt2TC/FIi6LKk01PLd/GczOAUR8=";
   };
 
+  nativeBuildInputs = [ poetry-core ];
   propagatedBuildInputs = [
-    docopt
+    colorama
     requests
     beautifulsoup4
   ];
 
-  checkInputs = [
-    mypy
-    types-requests
-  ];
-
-  checkPhase = ''
-    echo -e "\x1b[32m## run mypy\x1b[0m"
-    mypy hydracheck
-  '';
+  pythonImportsCheck = [ "hydra_check" ];
 
   meta = with lib; {
     description = "check hydra for the build status of a package";
     homepage = "https://github.com/nix-community/hydra-check";
     license = licenses.mit;
-    maintainers = with maintainers; [ makefu ];
+    maintainers = with maintainers; [ makefu artturin ];
   };
 }
-
diff --git a/pkgs/development/python-modules/mutmut/default.nix b/pkgs/development/python-modules/mutmut/default.nix
index ae0f06213a8..626c768f2a8 100644
--- a/pkgs/development/python-modules/mutmut/default.nix
+++ b/pkgs/development/python-modules/mutmut/default.nix
@@ -7,7 +7,7 @@
 , pony
 , junit-xml
 , pythonOlder
-, testVersion
+, testers
 }:
 
 let self = buildPythonApplication rec {
@@ -31,7 +31,7 @@ let self = buildPythonApplication rec {
 
   propagatedBuildInputs = [ click glob2 parso pony junit-xml ];
 
-  passthru.tests.version = testVersion { package = self; };
+  passthru.tests.version = testers.testVersion { package = self; };
 
   meta = with lib; {
     description = "mutation testing system for Python, with a strong focus on ease of use";
diff --git a/pkgs/development/python-modules/policyuniverse/default.nix b/pkgs/development/python-modules/policyuniverse/default.nix
index 9b03c3581bd..39f3be83ca2 100644
--- a/pkgs/development/python-modules/policyuniverse/default.nix
+++ b/pkgs/development/python-modules/policyuniverse/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "policyuniverse";
-  version = "1.5.0.20220420";
+  version = "1.5.0.20220421";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-HWyzwvsn3ikL5cbEPljMHShF2vQEOSP6umk08UZgQsI=";
+    sha256 = "sha256-1rY77cIxqVcde+AYE6qfRgZzB8vb3yiQ3Bj+P0o1zFM=";
   };
 
   # Tests are not shipped and there are no GitHub tags
diff --git a/pkgs/development/python-modules/pyhanko-certvalidator/default.nix b/pkgs/development/python-modules/pyhanko-certvalidator/default.nix
new file mode 100644
index 00000000000..4675e48a564
--- /dev/null
+++ b/pkgs/development/python-modules/pyhanko-certvalidator/default.nix
@@ -0,0 +1,73 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, aiohttp
+, asn1crypto
+, cryptography
+, oscrypto
+, requests
+, uritools
+, openssl
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pyhanko-certvalidator";
+  version = "0.19.5";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  # Tests are only available on GitHub
+  src = fetchFromGitHub {
+    owner = "MatthiasValvekens";
+    repo = "certvalidator";
+    rev = version;
+    sha256 = "sha256-UxlBggKgqvbKioG98UaKvhW0YgEa6PqV913nqYvTx1I=";
+  };
+
+  propagatedBuildInputs = [
+    asn1crypto
+    cryptography
+    oscrypto
+    requests
+    uritools
+  ];
+
+  checkInputs = [
+    aiohttp
+    pytestCheckHook
+  ];
+
+  disabledTestPaths = [
+    # Test looks for libcrypto.so.1.1
+    "dev/stress_test.py"
+    # Requests
+    "tests/test_crl_client.py"
+  ];
+
+  disabledTests = [
+    # Look for nonexisting certificates
+    "test_basic_certificate_validator_tls"
+    # Failed to fetch OCSP response from http://ocsp.digicert.com
+    "test_fetch_ocsp_aiohttp"
+    "test_fetch_ocsp_requests"
+    "test_fetch_ocsp_err_requests"
+    # Unable to build a validation path for the certificate "%s" - no issuer matching "%s" was found
+    "test_revocation_mode_hard_aiohttp_autofetch"
+    # The path could not be validated because no revocation information could be found for intermediate certificate 1
+    "test_revocation_mode_hard"
+  ];
+
+  pythonImportsCheck = [
+    "pyhanko_certvalidator"
+  ];
+
+  meta = with lib; {
+    description = "Python library for validating X.509 certificates and paths";
+    homepage = "https://github.com/MatthiasValvekens/certvalidator";
+    license = licenses.mit;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyhanko/0001-Updating-pytest-aiohttp-version.patch b/pkgs/development/python-modules/pyhanko/0001-Updating-pytest-aiohttp-version.patch
new file mode 100644
index 00000000000..562dc6461ef
--- /dev/null
+++ b/pkgs/development/python-modules/pyhanko/0001-Updating-pytest-aiohttp-version.patch
@@ -0,0 +1,25 @@
+From 942d4fd37786941bae91b769ef6499a4b4da6843 Mon Sep 17 00:00:00 2001
+From: "P. R. d. O" <d.ol.rod@tutanota.com>
+Date: Sat, 9 Apr 2022 12:40:59 -0600
+Subject: [PATCH] Updating pytest-aiohttp version
+
+---
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index fe33d9a..694fab4 100644
+--- a/setup.py
++++ b/setup.py
+@@ -85,7 +85,7 @@ setup(
+     tests_require=[
+         'pytest>=6.1.1', 'requests-mock>=1.8.0',
+         'freezegun>=1.1.0', 'certomancer~=0.8.1',
+-        'aiohttp~=3.8.0', 'pytest-aiohttp~=0.3.0',
++        'aiohttp~=3.8.0', 'pytest-aiohttp~=1.0.3',
+         'python-pae==0.1.0'
+     ],
+     keywords="signature pdf pades digital-signature pkcs11"
+-- 
+2.35.1
+
diff --git a/pkgs/development/python-modules/pyhanko/default.nix b/pkgs/development/python-modules/pyhanko/default.nix
new file mode 100644
index 00000000000..2cd71ae0f33
--- /dev/null
+++ b/pkgs/development/python-modules/pyhanko/default.nix
@@ -0,0 +1,132 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, asn1crypto
+, click
+, cryptography
+, pyhanko-certvalidator
+, pytz
+, pyyaml
+, qrcode
+, requests
+, tzlocal
+, certomancer
+, freezegun
+, python-pae
+, pytest-aiohttp
+, requests-mock
+, pytestCheckHook
+# Flags to add to the library
+, extraPubkeyAlgsSupport ? false
+, oscrypto
+, opentypeSupport ? false
+, fonttools
+, uharfbuzz
+, imageSupport ? false
+, pillow
+, python-barcode
+, pkcs11Support ? false
+, python-pkcs11
+, asyncHttpSupport ? false
+, aiohttp
+}:
+
+buildPythonPackage rec {
+  pname = "pyhanko";
+  version = "0.12.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  # Tests are only available on GitHub
+  src = fetchFromGitHub {
+    owner = "MatthiasValvekens";
+    repo = "pyHanko";
+    rev = version;
+    sha256 = "sha256-W60NTKEtCqJ/QdtNiieKUsrl2jIjIH86Wych68R3mBc=";
+  };
+
+  propagatedBuildInputs = [
+    click
+    pyhanko-certvalidator
+    pytz
+    pyyaml
+    qrcode
+    tzlocal
+  ] ++ lib.optionals (extraPubkeyAlgsSupport) [
+    oscrypto
+  ] ++ lib.optionals (opentypeSupport) [
+    fonttools
+    uharfbuzz
+  ] ++ lib.optionals (imageSupport) [
+    pillow
+    python-barcode
+  ] ++ lib.optionals (pkcs11Support) [
+    python-pkcs11
+  ] ++ lib.optionals (asyncHttpSupport) [
+    aiohttp
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace ", 'pytest-runner'" "" \
+      --replace "pytest-aiohttp~=0.3.0" "pytest-aiohttp~=1.0.3"
+  '';
+
+  checkInputs = [
+    aiohttp
+    certomancer
+    freezegun
+    python-pae
+    pytest-aiohttp
+    requests-mock
+    pytestCheckHook
+  ];
+
+  disabledTestPaths = lib.optionals (!opentypeSupport) [
+    "pyhanko_tests/test_stamp.py"
+    "pyhanko_tests/test_text.py"
+  ] ++ lib.optionals (!imageSupport) [
+    "pyhanko_tests/test_barcode.py"
+  ] ++ lib.optionals (!pkcs11Support) [
+    "pyhanko_tests/test_pkcs11.py"
+  ];
+
+  disabledTests = [
+    # Most of the test require working with local certificates,
+    # contacting OSCP or performing requests
+    "test_generic_data_sign_legacy"
+    "test_generic_data_sign"
+    "test_cms_v3_sign"
+    "test_detached_cms_with_self_reported_timestamp"
+    "test_detached_cms_with_tst"
+    "test_detached_cms_with_content_tst"
+    "test_detached_cms_with_wrong_content_tst"
+    "test_detached_with_malformed_content_tst"
+    "test_noop_attribute_prov"
+    "test_detached_cades_cms_with_tst"
+    "test_read_qr_config"
+    "test_no_changes_policy"
+    "test_bogus_metadata_manipulation"
+    "test_tamper_sig_obj"
+    "test_signed_file_diff_proxied_objs"
+    "test_pades_revinfo_live"
+    "test_diff_fallback_ok"
+    "test_no_diff_summary"
+    "test_ocsp_embed"
+    "test_ts_fetch_aiohttp"
+    "test_ts_fetch_requests"
+  ];
+
+  pythonImportsCheck = [
+    "pyhanko"
+  ];
+
+  meta = with lib; {
+    description = "Sign and stamp PDF files";
+    homepage = "https://github.com/MatthiasValvekens/pyHanko";
+    license = licenses.mit;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyinfra/default.nix b/pkgs/development/python-modules/pyinfra/default.nix
index dc25d162445..130486a55f1 100644
--- a/pkgs/development/python-modules/pyinfra/default.nix
+++ b/pkgs/development/python-modules/pyinfra/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "pyinfra";
-  version = "2.0";
+  version = "2.0.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-rzVirU697wGehCIc/WwE6Rg9AaYYELXfoe10GMRFHgw=";
+    sha256 = "sha256-157NtpA85FS27Ln1Xsvq5/qumSsr0WSDOhG0UwMUnRE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pytest-mpl/default.nix b/pkgs/development/python-modules/pytest-mpl/default.nix
index 040299ad544..f0215ed7d7b 100644
--- a/pkgs/development/python-modules/pytest-mpl/default.nix
+++ b/pkgs/development/python-modules/pytest-mpl/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-mpl";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-iE4HjS1TgK9WQzhOIzw1jpZZgl+y2X/9r48YXENMjYk=";
+    sha256 = "sha256-p5/UKLVoDYclp2o/MBb2oX1pHzxsQpHjmfwU1kFSKbw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/python-barcode/default.nix b/pkgs/development/python-modules/python-barcode/default.nix
new file mode 100644
index 00000000000..7a586c2caed
--- /dev/null
+++ b/pkgs/development/python-modules/python-barcode/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools-scm
+, imagesSupport ? false
+, pillow
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "python-barcode";
+  version = "0.13.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-+vukqiTp2Wl3e+UhwpT/GPbCs2rWO1/C8hCNly4jslI=";
+  };
+
+  propagatedBuildInputs = [
+    setuptools-scm
+  ] ++ lib.optionals (imagesSupport) [
+    pillow
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov=barcode" "" \
+      --replace "--cov-report=term-missing:skip-covered" "" \
+      --replace "--no-cov-on-fail" ""
+  '';
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "barcode" ];
+
+  meta = with lib; {
+    description = "Create standard barcodes with Python";
+    homepage = "https://github.com/WhyNotHugo/python-barcode";
+    license = licenses.mit;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-pae/default.nix b/pkgs/development/python-modules/python-pae/default.nix
new file mode 100644
index 00000000000..067d2a2843e
--- /dev/null
+++ b/pkgs/development/python-modules/python-pae/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, poetry-core
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "python-pae";
+  version = "0.1.0";
+  format = "pyproject";
+  disabled = pythonOlder "3.7";
+
+  # Tests are on GitHub
+  src = fetchFromGitHub {
+    owner = "MatthiasValvekens";
+    repo = "python-pae";
+    rev = version;
+    sha256 = "sha256-D0X2T0ze79KR6Gno4UWpA/XvlkK6Y/jXUtLbzlOKr3E=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "python_pae" ];
+
+  meta = with lib; {
+    description = "Pre-authentication encoding (PAE) implementation in Python";
+    homepage = "https://github.com/MatthiasValvekens/python-pae";
+    license = licenses.mit;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix b/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix
index 8f8d510712c..ca2f9b22d83 100644
--- a/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix
+++ b/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix
@@ -40,15 +40,15 @@ let
 in
 buildPythonPackage rec {
   pname = "qiskit-ibmq-provider";
-  version = "0.19.0";
+  version = "0.19.1";
 
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "Qiskit";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-ODu8OgGpzlMjRX7ebMu4DXKj6jUyohCq4Hb8aV5eWIU=";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-VdGdaOxCwD2Qa0JCCDVZJtcjhmTssS/KgpcjoaPXYB8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/qiskit-terra/default.nix b/pkgs/development/python-modules/qiskit-terra/default.nix
index 8289e3e24ec..ca71de5dbbd 100644
--- a/pkgs/development/python-modules/qiskit-terra/default.nix
+++ b/pkgs/development/python-modules/qiskit-terra/default.nix
@@ -55,7 +55,7 @@ in
 
 buildPythonPackage rec {
   pname = "qiskit-terra";
-  version = "0.20.0";
+  version = "0.20.1";
 
   disabled = pythonOlder "3.7";
 
@@ -63,7 +63,7 @@ buildPythonPackage rec {
     owner = "qiskit";
     repo = pname;
     rev = version;
-    sha256 = "sha256-/t87IgazpJlfd8NT2Pkn5b6/Ut104DcJEFCubQ/bBiw=";
+    sha256 = "sha256-spKLPUlUXBmnIo/rnBPUFf72Vxd53xFhh409KzytpkI=";
   };
 
   nativeBuildInputs = [ setuptools-rust ] ++ (with rustPlatform; [ rust.rustc rust.cargo cargoSetupHook ]);
@@ -71,7 +71,7 @@ buildPythonPackage rec {
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    sha256 = "sha256-tNiBXn32g1PTuTmKNXSac+4PLSc1Ao9n+oAMfvVYR30=";
+    sha256 = "sha256-KNx7c5Jc1AWIpldMQ1AcWYuMb4W+yLY/cgB87hzPuVY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/qiskit/default.nix b/pkgs/development/python-modules/qiskit/default.nix
index 74d227e22e9..b3c15b1b385 100644
--- a/pkgs/development/python-modules/qiskit/default.nix
+++ b/pkgs/development/python-modules/qiskit/default.nix
@@ -28,7 +28,7 @@ in
 buildPythonPackage rec {
   pname = "qiskit";
   # NOTE: This version denotes a specific set of subpackages. See https://qiskit.org/documentation/release_notes.html#version-history
-  version = "0.36.0";
+  version = "0.36.1";
 
   disabled = pythonOlder "3.6";
 
@@ -36,7 +36,7 @@ buildPythonPackage rec {
     owner = "Qiskit";
     repo = "qiskit";
     rev = version;
-    sha256 = "sha256-zTdvROru56/HNpoHKSVe3pQZeDSMFmaTCUAr1FOaE5A=";
+    sha256 = "sha256-cprFWWvYgfoJXvK0Xoi67BwOXQfz7XeHT/JbfErqblk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/staticjinja/default.nix b/pkgs/development/python-modules/staticjinja/default.nix
index ac3c173c09a..0c1a698aa63 100644
--- a/pkgs/development/python-modules/staticjinja/default.nix
+++ b/pkgs/development/python-modules/staticjinja/default.nix
@@ -9,7 +9,7 @@
 , pytest-check
 , pythonOlder
 , markdown
-, testVersion
+, testers
 , tomlkit
 , staticjinja
 , callPackage
@@ -53,7 +53,7 @@ buildPythonPackage rec {
   '';
 
   passthru.tests = {
-    version = testVersion { package = staticjinja; };
+    version = testers.testVersion { package = staticjinja; };
     minimal-template = callPackage ./test-minimal-template {};
   };
 
diff --git a/pkgs/development/python-modules/uharfbuzz/default.nix b/pkgs/development/python-modules/uharfbuzz/default.nix
new file mode 100644
index 00000000000..f39aa12152a
--- /dev/null
+++ b/pkgs/development/python-modules/uharfbuzz/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, cython
+, setuptools-scm
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "uharfbuzz";
+  version = "0.24.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.5";
+
+  # Fetching from GitHub as Pypi contains different versions
+  src = fetchFromGitHub {
+    owner = "harfbuzz";
+    repo = "uharfbuzz";
+    rev = "v${version}";
+    sha256 = "sha256-DyFXbwB28JH2lvmWDezRh49tjCvleviUNSE5LHG3kUg=";
+    fetchSubmodules = true;
+  };
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    cython
+    setuptools-scm
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "uharfbuzz" ];
+
+  meta = with lib; {
+    description = "Streamlined Cython bindings for the harfbuzz shaping engine";
+    homepage = "https://github.com/harfbuzz/uharfbuzz";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/development/python-modules/vispy/default.nix b/pkgs/development/python-modules/vispy/default.nix
index 47a96633254..c17f3728738 100644
--- a/pkgs/development/python-modules/vispy/default.nix
+++ b/pkgs/development/python-modules/vispy/default.nix
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "vispy";
-  version = "0.9.6";
+  version = "0.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-ISzVtQgkSZu84+LXQaray3nAt3GsVm+THGE1WXYCi8s=";
+    sha256 = "sha256-t2rW8+rK2/xJRM+4IR6ttuqEF6WQmT7OWqfKrAgs/8I=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/xhtml2pdf/default.nix b/pkgs/development/python-modules/xhtml2pdf/default.nix
index 5a47fc90f67..230e57a0643 100644
--- a/pkgs/development/python-modules/xhtml2pdf/default.nix
+++ b/pkgs/development/python-modules/xhtml2pdf/default.nix
@@ -4,6 +4,7 @@
 , fetchFromGitHub
 , html5lib
 , pillow
+, pyhanko
 , pypdf3
 , pytestCheckHook
 , python-bidi
@@ -14,22 +15,25 @@
 
 buildPythonPackage rec {
   pname = "xhtml2pdf";
-  version = "0.2.6";
+  version = "0.2.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
+  # Tests are only available on GitHub
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-EyIERvAC98LqPTMCdwWqTkm1RiMhikscL0tnMZUHIT8=";
+    # Currently it is not possible to fetch from version as there is a branch with the same name
+    rev = "afa72cdbbdaf7d459261c1605263101ffcd999af";
+    sha256 = "sha256-plyIM7Ohnp5UBWz/UDTJa1UeWK9yckSZR16wxmLrpnc=";
   };
 
   propagatedBuildInputs = [
     arabic-reshaper
     html5lib
     pillow
+    pyhanko
     pypdf3
     python-bidi
     reportlab
diff --git a/pkgs/development/python-modules/xxhash/default.nix b/pkgs/development/python-modules/xxhash/default.nix
index f70526da6a1..ff4eeff3545 100644
--- a/pkgs/development/python-modules/xxhash/default.nix
+++ b/pkgs/development/python-modules/xxhash/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
@@ -12,6 +13,10 @@ buildPythonPackage rec {
     sha256 = "sha256-MLLZeq8R+xIgI/a0TruXxpVengDXRhqWQVygMLXOucc=";
   };
 
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
   meta = with lib; {
     homepage = "https://github.com/ifduyue/python-xxhash";
     description = "Python Binding for xxHash https://pypi.org/project/xxhash/";
diff --git a/pkgs/development/python-modules/zwave-js-server-python/default.nix b/pkgs/development/python-modules/zwave-js-server-python/default.nix
index 5f4203634ac..028e30f4cb7 100644
--- a/pkgs/development/python-modules/zwave-js-server-python/default.nix
+++ b/pkgs/development/python-modules/zwave-js-server-python/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "zwave-js-server-python";
-  version = "0.35.2";
+  version = "0.35.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Bte4pAi+atdkMvxYlzdN/UOrHB2WKfl44U9m/vKFMoA=";
+    sha256 = "sha256-vM5GEqq32VdC5UjGVlnrN8/LRcCHHkJFzEbaA2Snte8=";
   };
 
   propagatedBuildInputs = [