about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules')
-rw-r--r--nixpkgs/pkgs/development/python-modules/about-time/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/ailment/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioairzone/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiobafi6/default.nix51
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioflo/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioguardian/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/aionotion/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiopurpleair/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioquic-mitmproxy/default.nix51
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiorecollect/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioridwell/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiosomecomfort/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiowatttime/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/alive-progress/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/androidtvremote2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/angr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansible-pylibssh/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansible/core.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansible/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/anyqt/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/apscheduler/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/archinfo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/astropy/default.nix11
-rwxr-xr-xnixpkgs/pkgs/development/python-modules/atlassian-python-api/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-storage/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/basemap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/baycomp/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/beautysh/default.nix65
-rw-r--r--nixpkgs/pkgs/development/python-modules/bentoml/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/browser-cookie3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bthome-ble/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cerberus/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/cert-chain-resolver/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/certomancer/default.nix75
-rw-r--r--nixpkgs/pkgs/development/python-modules/chacha20poly1305-reuseable/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/claripy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/click-help-colors/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/cmsis-pack-manager/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/cohere/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/cookiecutter/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/dataclasses-json/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/datasette-publish-fly/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dbt-core/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dbus-fast/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/detectron2/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/devolo-plc-api/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/dm-haiku/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/dvc-data/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dvc-objects/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dvc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dvclive/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/edk2-pytool-library/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/expandvars/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/fido2/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/fiona/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-assets/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-elastic/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-mail/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-migrate/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-principal/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-script/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-security-too/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fritzconnection/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/gensim/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gocardless-pro/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-api-python-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-kms/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gpiozero/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/hahomematic/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/humanize/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hwi/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/hyperpyyaml/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/ibis-framework/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/identify/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/imageio-ffmpeg/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/jarowinkler/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/json-schema-for-humans/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupytext/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/kombu/default.nix69
-rw-r--r--nixpkgs/pkgs/development/python-modules/marshmallow/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/mdformat-beautysh/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/meshtastic/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/minichain/default.nix73
-rw-r--r--nixpkgs/pkgs/development/python-modules/mitmproxy/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/molecule/default.nix56
-rw-r--r--nixpkgs/pkgs/development/python-modules/molecule/plugins.nix50
-rw-r--r--nixpkgs/pkgs/development/python-modules/mscerts/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mypy-protobuf/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/notmuch2/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/numba/cuda_path.patch29
-rw-r--r--nixpkgs/pkgs/development/python-modules/odp-amsterdam/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/openai/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/openapi-core/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/opentsne/default.nix56
-rw-r--r--nixpkgs/pkgs/development/python-modules/orange-canvas-core/default.nix64
-rw-r--r--nixpkgs/pkgs/development/python-modules/orange-widget-base/default.nix62
-rw-r--r--nixpkgs/pkgs/development/python-modules/orange3/default.nix164
-rw-r--r--nixpkgs/pkgs/development/python-modules/pdf2docx/default.nix70
-rw-r--r--nixpkgs/pkgs/development/python-modules/pex/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/plexapi/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pontos/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/protonvpn-nm-lib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pulumi/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pvlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/py17track/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycocotools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydeps/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydrive2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyduotecno/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyerfa/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfibaro/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyflume/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyhanko-certvalidator/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyhanko/default.nix65
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyinstaller-versionfile/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyipp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyiqvia/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylink-square/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylitterbot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyopencl/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyopenuv/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyoutbreaksnearme/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/pypiserver/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysaml2/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-bsblan/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-manilaclient/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-stdnum/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytile/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvex/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyxlsb/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/qasync/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/rdkit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/readability-lxml/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/reolink-aio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rich-pixels/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-image/add-testing-data.patch17
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-image/default.nix85
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-image/suppress-deprecation-warning.patch30
-rw-r--r--nixpkgs/pkgs/development/python-modules/scmrepo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/serverfiles/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/seventeentrack/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/simplisafe-python/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/speechbrain/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tabcmd/default.nix66
-rw-r--r--nixpkgs/pkgs/development/python-modules/tableauserverclient/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/timetagger/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tinyrecord/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/torch/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/tubeup/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-appdirs/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-mock/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-protobuf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/u-msgpack-python/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/unearth/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/urwid-mitmproxy/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/vsure/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/wasmer/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/xformers/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/xkcdpass/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yalexs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zeroconf/default.nix4
165 files changed, 2498 insertions, 494 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/about-time/default.nix b/nixpkgs/pkgs/development/python-modules/about-time/default.nix
new file mode 100644
index 000000000000..3759957c9ca6
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/about-time/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+}:
+
+buildPythonPackage rec {
+  pname = "about-time";
+  version = "4.2.1";
+
+  # PyPi release does not contain test files, but the repo has no release tags,
+  # so while having no tests is not ideal, follow the PyPi releases for now
+  # TODO: switch to fetchFromGitHub once this issue is fixed:
+  # https://github.com/rsalmei/about-time/issues/15
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-alOIYtM85n2ZdCnRSZgxDh2/2my32bv795nEcJhH/s4=";
+  };
+
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "about_time"
+  ];
+
+  meta = with lib; {
+    description = "A cool helper for tracking time and throughput of code blocks, with beautiful human friendly renditions";
+    homepage = "https://github.com/rsalmei/about-time";
+    license = licenses.mit;
+    maintainers = with maintainers; [ thiagokokada ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ailment/default.nix b/nixpkgs/pkgs/development/python-modules/ailment/default.nix
index 097b91f058bf..837842477d28 100644
--- a/nixpkgs/pkgs/development/python-modules/ailment/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ailment/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "ailment";
-  version = "9.2.64";
+  version = "9.2.65";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-KUJpcP7bf8BjmB/QojTQHSwkmzW0bN4nJaD8GcNbcyE=";
+    hash = "sha256-Bli+zrxMbRY2dzAx25ap3DhROIFTlk+TGpAfrHiMxPc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aioairzone/default.nix b/nixpkgs/pkgs/development/python-modules/aioairzone/default.nix
index a525085af29d..2ea2137f0405 100644
--- a/nixpkgs/pkgs/development/python-modules/aioairzone/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioairzone/default.nix
@@ -8,16 +8,16 @@
 
 buildPythonPackage rec {
   pname = "aioairzone";
-  version = "0.6.5";
+  version = "0.6.7";
   format = "pyproject";
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
     owner = "Noltari";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-HcO4t+9JigS6SVkwDk+rEWzqSfe0h5ZADdk3Jvxnr3Y=";
+    hash = "sha256-/LUTHeApktB4okt9bVkZe7G1dApVaYUdwty4sbK7IKQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiobafi6/default.nix b/nixpkgs/pkgs/development/python-modules/aiobafi6/default.nix
new file mode 100644
index 000000000000..e92fa59d920a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aiobafi6/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, protobuf
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, zeroconf
+}:
+
+buildPythonPackage rec {
+  pname = "aiobafi6";
+  version = "0.8.2";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.10";
+
+  src = fetchFromGitHub {
+    owner = "jfroy";
+    repo = "aiobafi6";
+    rev = "refs/tags/${version}";
+    hash = "sha256-ng+WpLhAfsouFA9biomc0V+L9XQHDthJeJLv8ttnYBc=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    protobuf
+    zeroconf
+  ];
+
+  nativeCheckInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "aiobafi6"
+  ];
+
+  meta = with lib; {
+    description = "Library for communication with the Big Ass Fans i6 firmware";
+    homepage = "https://github.com/jfroy/aiobafi6";
+    changelog = "https://github.com/jfroy/aiobafi6/releases/tag/0.8.2";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/aioflo/default.nix b/nixpkgs/pkgs/development/python-modules/aioflo/default.nix
index 34bb4895ff8a..4ec24cb77a9a 100644
--- a/nixpkgs/pkgs/development/python-modules/aioflo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioflo/default.nix
@@ -3,6 +3,7 @@
 , aresponses
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , poetry-core
 , pytest-aiohttp
 , pytest-asyncio
@@ -24,6 +25,20 @@ buildPythonPackage rec {
     hash = "sha256-7NrOoc1gi8YzZaKvCnHnzAKPlMnMhqxjdyZGN5H/8TQ=";
   };
 
+  patches = [
+    # This patch removes references to setuptools and wheel that are no longer
+    # necessary and changes poetry to poetry-core, so that we don't need to add
+    # unnecessary nativeBuildInputs.
+    #
+    #   https://github.com/bachya/aioflo/pull/65
+    #
+    (fetchpatch {
+      name = "clean-up-build-dependencies.patch";
+      url = "https://github.com/bachya/aioflo/commit/f38d3f6427777ab0eeb56177943679e2570f0634.patch";
+      hash = "sha256-iLgklhEZ61rrdzQoO6rp1HGZcqLsqGNitwIiPNLNHQ4=";
+    })
+  ];
+
   nativeBuildInputs = [
     poetry-core
   ];
@@ -32,6 +47,8 @@ buildPythonPackage rec {
     aiohttp
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     aresponses
     pytest-aiohttp
diff --git a/nixpkgs/pkgs/development/python-modules/aioguardian/default.nix b/nixpkgs/pkgs/development/python-modules/aioguardian/default.nix
index 83f623162962..e4dcbda3a02e 100644
--- a/nixpkgs/pkgs/development/python-modules/aioguardian/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioguardian/default.nix
@@ -5,6 +5,7 @@
 , buildPythonPackage
 , docutils
 , fetchFromGitHub
+, fetchpatch
 , poetry-core
 , pytest-aiohttp
 , pytest-asyncio
@@ -27,6 +28,20 @@ buildPythonPackage rec {
     hash = "sha256-plgO+pyKmG0mYnFZxDcrENcuEg5AG2Og2xWipzuzyHo=";
   };
 
+  patches = [
+    # This patch removes references to setuptools and wheel that are no longer
+    # necessary and changes poetry to poetry-core, so that we don't need to add
+    # unnecessary nativeBuildInputs.
+    #
+    #   https://github.com/bachya/aioguardian/pull/288
+    #
+    (fetchpatch {
+      name = "clean-up-build-dependencies.patch";
+      url = "https://github.com/bachya/aioguardian/commit/ffaad4b396645f599815010995fb71ca976e761e.patch";
+      hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM=";
+    })
+  ];
+
   nativeBuildInputs = [
     poetry-core
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/aionotion/default.nix b/nixpkgs/pkgs/development/python-modules/aionotion/default.nix
index 08235b793e00..c99a317d2ca1 100644
--- a/nixpkgs/pkgs/development/python-modules/aionotion/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aionotion/default.nix
@@ -3,6 +3,7 @@
 , aresponses
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , poetry-core
 , pydantic
 , pytest-aiohttp
@@ -26,6 +27,20 @@ buildPythonPackage rec {
     hash = "sha256-/2sF8m5R8YXkP89bi5zR3h13r5LrFOl1OsixAcX0D4o=";
   };
 
+  patches = [
+    # This patch removes references to setuptools and wheel that are no longer
+    # necessary and changes poetry to poetry-core, so that we don't need to add
+    # unnecessary nativeBuildInputs.
+    #
+    #   https://github.com/bachya/aionotion/pull/269
+    #
+    (fetchpatch {
+      name = "clean-up-build-dependencies.patch";
+      url = "https://github.com/bachya/aionotion/commit/53c7285110d12810f9b43284295f71d052a81b83.patch";
+      hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM=";
+    })
+  ];
+
   nativeBuildInputs = [
     poetry-core
   ];
@@ -35,6 +50,8 @@ buildPythonPackage rec {
     pydantic
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     aresponses
     pytest-aiohttp
diff --git a/nixpkgs/pkgs/development/python-modules/aiopurpleair/default.nix b/nixpkgs/pkgs/development/python-modules/aiopurpleair/default.nix
index 5f74bc55cbd1..bdbc83fd2ab3 100644
--- a/nixpkgs/pkgs/development/python-modules/aiopurpleair/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiopurpleair/default.nix
@@ -3,6 +3,7 @@
 , aresponses
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , poetry-core
 , pydantic
 , pytest-aiohttp
@@ -25,6 +26,20 @@ buildPythonPackage rec {
     hash = "sha256-YmJH4brWkTpgzyHwu9UnIWrY5qlDCmMtvF+KxQFXwfk=";
   };
 
+  patches = [
+    # This patch removes references to setuptools and wheel that are no longer
+    # necessary and changes poetry to poetry-core, so that we don't need to add
+    # unnecessary nativeBuildInputs.
+    #
+    #   https://github.com/bachya/aiopurpleair/pull/207
+    #
+    (fetchpatch {
+      name = "clean-up-build-dependencies.patch";
+      url = "https://github.com/bachya/aiopurpleair/commit/8c704c51ea50da266f52a7f53198d29d643b30c5.patch";
+      hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM=";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace pyproject.toml \
       --replace 'pydantic = "^1.10.2"' 'pydantic = "*"'
@@ -39,6 +54,8 @@ buildPythonPackage rec {
     pydantic
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     aresponses
     pytest-aiohttp
diff --git a/nixpkgs/pkgs/development/python-modules/aioquic-mitmproxy/default.nix b/nixpkgs/pkgs/development/python-modules/aioquic-mitmproxy/default.nix
new file mode 100644
index 000000000000..7fab497b2603
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aioquic-mitmproxy/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, certifi
+, cryptography
+, fetchFromGitHub
+, pylsqpack
+, pyopenssl
+, pytestCheckHook
+, setuptools
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "aioquic-mitmproxy";
+  version = "0.9.20.3";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "meitinger";
+    repo = "aioquic_mitmproxy";
+    rev = "refs/tags/${version}";
+    hash = "sha256-VcIbtrcA0dBEE52ZD90IbXoh6L3wDUbr2kFJikts6+w=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    certifi
+    cryptography
+    pylsqpack
+    pyopenssl
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "aioquic"
+  ];
+
+  meta = with lib; {
+    description = "QUIC and HTTP/3 implementation in Python";
+    homepage = "https://github.com/meitinger/aioquic_mitmproxy";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/aiorecollect/default.nix b/nixpkgs/pkgs/development/python-modules/aiorecollect/default.nix
index 259e7f6d530b..c5fdc3f8f36f 100644
--- a/nixpkgs/pkgs/development/python-modules/aiorecollect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiorecollect/default.nix
@@ -3,6 +3,7 @@
 , aresponses
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , freezegun
 , poetry-core
 , pytest-asyncio
@@ -12,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "aiorecollect";
-  version = "2022.10.0";
+  version = "2023.08.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,9 +22,29 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = version;
-    hash = "sha256-JIh6jr4pFXGZTUi6K7VsymaCxCrTNBevk9xo9TsrFnM=";
+    hash = "sha256-oTkWirq3w0DgQWWe0ziK+ry4pg6j6SQbBESLG4xgDE4=";
   };
 
+  patches = [
+    # This patch removes references to setuptools and wheel that are no longer
+    # necessary and changes poetry to poetry-core, so that we don't need to add
+    # unnecessary nativeBuildInputs.
+    #
+    #   https://github.com/bachya/aiorecollect/pull/207
+    #
+    (fetchpatch {
+      name = "clean-up-dependencies.patch";
+      url = "https://github.com/bachya/aiorecollect/commit/0bfddead1c1b176be4d599b8e12ed608eac97b8b.patch";
+      hash = "sha256-w/LAtyuyYsAAukDeIy8XLlp9QrydC1Wmi2zxEj1Zdm8=";
+      includes = [ "pyproject.toml" ];
+    })
+  ];
+
+  postPatch = ''
+    # this is not used directly by the project
+    sed -i '/certifi =/d' pyproject.toml
+  '';
+
   nativeBuildInputs = [
     poetry-core
   ];
@@ -32,6 +53,8 @@ buildPythonPackage rec {
     aiohttp
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     aresponses
     freezegun
diff --git a/nixpkgs/pkgs/development/python-modules/aioridwell/default.nix b/nixpkgs/pkgs/development/python-modules/aioridwell/default.nix
index 8098af3e87a6..1ef9300eaf35 100644
--- a/nixpkgs/pkgs/development/python-modules/aioridwell/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioridwell/default.nix
@@ -3,6 +3,7 @@
 , aresponses
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , freezegun
 , poetry-core
 , pyjwt
@@ -29,6 +30,20 @@ buildPythonPackage rec {
     hash = "sha256-8EPELXxSq+B9o9eMFeM5ZPVYTa1+kT/S6cO7hKtD18s=";
   };
 
+  patches = [
+    # This patch removes references to setuptools and wheel that are no longer
+    # necessary and changes poetry to poetry-core, so that we don't need to add
+    # unnecessary nativeBuildInputs.
+    #
+    #   https://github.com/bachya/aioridwell/pull/234
+    #
+    (fetchpatch {
+      name = "clean-up-build-dependencies.patch";
+      url = "https://github.com/bachya/aioridwell/commit/79a9dd7462dcfeb0833abca73a1f184827120a6f.patch";
+      hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM=";
+    })
+  ];
+
   nativeBuildInputs = [
     poetry-core
   ];
@@ -40,6 +55,8 @@ buildPythonPackage rec {
     titlecase
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     aresponses
     freezegun
diff --git a/nixpkgs/pkgs/development/python-modules/aiosomecomfort/default.nix b/nixpkgs/pkgs/development/python-modules/aiosomecomfort/default.nix
index 97cad03a2048..72fdd22f6696 100644
--- a/nixpkgs/pkgs/development/python-modules/aiosomecomfort/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiosomecomfort/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "aiosomecomfort";
-  version = "0.0.15";
+  version = "0.0.16";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "mkmer";
     repo = "AIOSomecomfort";
     rev = "refs/tags/${version}";
-    hash = "sha256-G7A5XXAElPFkuRM5bEcKqqn14tjJLn2lkYyqBtm5giM=";
+    hash = "sha256-GwnlaPy+pIJOL3szOebH0a0ytVMOeUI4dM8D629RuEU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiowatttime/default.nix b/nixpkgs/pkgs/development/python-modules/aiowatttime/default.nix
index 85d6076ad275..dde165c5bf87 100644
--- a/nixpkgs/pkgs/development/python-modules/aiowatttime/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiowatttime/default.nix
@@ -3,6 +3,7 @@
 , aresponses
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , poetry-core
 , pytest-aiohttp
 , pytest-asyncio
@@ -24,6 +25,20 @@ buildPythonPackage rec {
     hash = "sha256-rqmsUvVwXC/XkR/v2d9d3t7u6Poms4ORiOci41ajXIo=";
   };
 
+  patches = [
+    # This patch removes references to setuptools and wheel that are no longer
+    # necessary and changes poetry to poetry-core, so that we don't need to add
+    # unnecessary nativeBuildInputs.
+    #
+    #   https://github.com/bachya/aiowatttime/pull/206
+    #
+    (fetchpatch {
+      name = "clean-up-build-dependencies.patch";
+      url = "https://github.com/bachya/aiowatttime/commit/c3cd53f794964c5435148caacd04f4e0ab8f550a.patch";
+      hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM=";
+    })
+  ];
+
   nativeBuildInputs = [
     poetry-core
   ];
@@ -32,6 +47,8 @@ buildPythonPackage rec {
     aiohttp
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     aresponses
     pytest-aiohttp
diff --git a/nixpkgs/pkgs/development/python-modules/alive-progress/default.nix b/nixpkgs/pkgs/development/python-modules/alive-progress/default.nix
new file mode 100644
index 000000000000..7e3adbf1166e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/alive-progress/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, about-time
+, buildPythonPackage
+, click
+, fetchFromGitHub
+, grapheme
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "alive-progress";
+  version = "3.1.4";
+
+  src = fetchFromGitHub {
+    owner = "rsalmei";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-27PgxQ9nw8p5hfaSf/jPYG7419o3i8B8R09o93szSOk=";
+  };
+
+  propagatedBuildInputs = [
+    about-time
+    grapheme
+  ];
+
+  nativeCheckInputs = [
+    click
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "alive_progress"
+  ];
+
+  meta = with lib; {
+    description = "A new kind of Progress Bar, with real-time throughput, ETA, and very cool animations";
+    homepage = "https://github.com/rsalmei/alive-progress";
+    license = licenses.mit;
+    maintainers = with maintainers; [ thiagokokada ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/androidtvremote2/default.nix b/nixpkgs/pkgs/development/python-modules/androidtvremote2/default.nix
index 9640906d169f..976ba217ce46 100644
--- a/nixpkgs/pkgs/development/python-modules/androidtvremote2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/androidtvremote2/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "androidtvremote2";
-  version = "0.0.13";
+  version = "0.0.14";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tronikos";
     repo = "androidtvremote2";
     rev = "refs/tags/v${version}";
-    hash = "sha256-+9VVUIvM//Fxv1a/+PAKWSQE8/TgBZzeTisgMqj6KPU=";
+    hash = "sha256-m53TlNrrCjA4CqvR02Yph7Gr5Dt17VJFBX6MC3arWOI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/angr/default.nix b/nixpkgs/pkgs/development/python-modules/angr/default.nix
index c924e6c8fcaa..55fe186c90e1 100644
--- a/nixpkgs/pkgs/development/python-modules/angr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/angr/default.nix
@@ -32,7 +32,7 @@
 
 buildPythonPackage rec {
   pname = "angr";
-  version = "9.2.64";
+  version = "9.2.65";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-NQopPg7ZAKkbq6T/1U8VYT/9oRz9ssg5yqTBpInNHNk=";
+    hash = "sha256-atVmXsgMIRpmOXgNoatWkk9ID14f9rMJMT6+CWmvbY4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ansible-pylibssh/default.nix b/nixpkgs/pkgs/development/python-modules/ansible-pylibssh/default.nix
new file mode 100644
index 000000000000..5eb60419fcf7
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ansible-pylibssh/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, libssh
+, cython
+, wheel
+, setuptools
+, setuptools-scm
+, toml
+, expandvars
+}:
+
+buildPythonPackage rec {
+  pname = "ansible-pylibssh";
+  version = "1.1.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-spaGux6dYvtUtpOdU6oN7SEn8IgBof2NpQSPvr+Zplg=";
+  };
+
+  nativeBuildInputs = [
+    cython
+    wheel
+    setuptools
+    setuptools-scm
+    toml
+    expandvars
+  ];
+
+  propagatedBuildInputs = [
+    libssh
+  ];
+
+  pythonImportsCheck = [
+    "pylibsshext"
+  ];
+
+  meta = with lib; {
+    description = "Python bindings to client functionality of libssh specific to Ansible use case";
+    homepage = "https://github.com/ansible/pylibssh";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ geluk ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ansible/core.nix b/nixpkgs/pkgs/development/python-modules/ansible/core.nix
index 241e9cbd034f..17bfb4203720 100644
--- a/nixpkgs/pkgs/development/python-modules/ansible/core.nix
+++ b/nixpkgs/pkgs/development/python-modules/ansible/core.nix
@@ -13,6 +13,7 @@
 , ncclient
 , packaging
 , paramiko
+, ansible-pylibssh
 , passlib
 , pexpect
 , psutil
@@ -63,6 +64,7 @@ buildPythonPackage rec {
     lxml
     ncclient
     paramiko
+    ansible-pylibssh
     pexpect
     psutil
     pycrypto
diff --git a/nixpkgs/pkgs/development/python-modules/ansible/default.nix b/nixpkgs/pkgs/development/python-modules/ansible/default.nix
index f4fed78d6204..9da23d3fc09b 100644
--- a/nixpkgs/pkgs/development/python-modules/ansible/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ansible/default.nix
@@ -7,6 +7,7 @@
 , ncclient
 , netaddr
 , paramiko
+, ansible-pylibssh
 , pynetbox
 , scp
 , textfsm
@@ -45,6 +46,7 @@ buildPythonPackage {
     ncclient
     netaddr
     paramiko
+    ansible-pylibssh
     xmltodict
     # ansible.posix
     # ansible.utils
@@ -62,6 +64,7 @@ buildPythonPackage {
     jxmlease
     ncclient
     paramiko
+    ansible-pylibssh
     scp
     xmltodict
   ] ++ lib.optionals (withNetbox) [
diff --git a/nixpkgs/pkgs/development/python-modules/anyqt/default.nix b/nixpkgs/pkgs/development/python-modules/anyqt/default.nix
new file mode 100644
index 000000000000..a4fbb041822a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/anyqt/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pyqt5
+, pytestCheckHook
+, nix-update-script
+}:
+
+buildPythonPackage rec {
+  pname = "anyqt";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "ales-erjavec";
+    repo = "anyqt";
+    rev = version;
+    hash = "sha256-dL2EUAMzWKq/oN3rXiEC6emDJddmg4KclT5ONKA0jfk=";
+  };
+
+  nativeCheckInputs = [ pyqt5 pytestCheckHook ];
+
+  # All of these fail because Qt modules cannot be imported
+  disabledTestPaths = [
+    "tests/test_qabstractitemview.py"
+    "tests/test_qaction_set_menu.py"
+    "tests/test_qactionevent_action.py"
+    "tests/test_qfontdatabase_static.py"
+    "tests/test_qpainter_draw_pixmap_fragments.py"
+    "tests/test_qsettings.py"
+    "tests/test_qstandarditem_insertrow.py"
+    "tests/test_qtest.py"
+  ];
+
+  pythonImportsCheck = [ "AnyQt" ];
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "PyQt/PySide compatibility layer";
+    homepage = "https://github.com/ales-erjavec/anyqt";
+    license = [ lib.licenses.gpl3Only ];
+    maintainers = [ lib.maintainers.lucasew ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/apscheduler/default.nix b/nixpkgs/pkgs/development/python-modules/apscheduler/default.nix
index de82a257733b..771d9a3d0200 100644
--- a/nixpkgs/pkgs/development/python-modules/apscheduler/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/apscheduler/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "apscheduler";
-  version = "3.10.1";
+  version = "3.10.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "APScheduler";
     inherit version;
-    hash = "sha256-ApOTfY9gUaD0kzWUQMGhuT6ILFfa8Bl6/v8Ocnd3uW4=";
+    hash = "sha256-5t8HGyfZvomOSGvHlAp75QtK8unafAjwdEqW1L1M70o=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/archinfo/default.nix b/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
index dba35bd08975..e34c8a31a9d0 100644
--- a/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.2.64";
+  version = "9.2.65";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-/3dc0p6xDFvv8VwFi5hxiXveiWYr9w3s0PwMv3uV2yw=";
+    hash = "sha256-g+inF8eswHNLV6bBVRpyLf6H8PjmPduv7I2svAVEG5U=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/astropy/default.nix b/nixpkgs/pkgs/development/python-modules/astropy/default.nix
index a222dbe92eca..2176a6ff1fc3 100644
--- a/nixpkgs/pkgs/development/python-modules/astropy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/astropy/default.nix
@@ -5,10 +5,11 @@
 
 # build time
 , astropy-extension-helpers
-, astropy-helpers
 , cython
 , jinja2
+, oldest-supported-numpy
 , setuptools-scm
+, wheel
 
 # runtime
 , numpy
@@ -32,14 +33,18 @@ buildPythonPackage {
     hash = "sha256-9q4noHf46oSQPvp2x5C5hWFzQaAISw0hw5H3o/MyrCM=";
   };
 
-  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'cython==' 'cython>='
+  '';
 
   nativeBuildInputs = [
     astropy-extension-helpers
-    astropy-helpers
     cython
     jinja2
+    oldest-supported-numpy
     setuptools-scm
+    wheel
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/atlassian-python-api/default.nix b/nixpkgs/pkgs/development/python-modules/atlassian-python-api/default.nix
index f121cc21466d..2ce8a31193a1 100755
--- a/nixpkgs/pkgs/development/python-modules/atlassian-python-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/atlassian-python-api/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "atlassian-python-api";
-  version = "3.40.0";
+  version = "3.41.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "atlassian-api";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-2yY1shsdlX40FJV3K7nT6HfKKI14/3zH8dOEnJeTahw=";
+    hash = "sha256-f1i4kX9lZ8ozv/jLzvu1XbCn+BheMn8SQE1mtivaEG8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix b/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix
index 3494ce92dddc..227c0f608df8 100644
--- a/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix
@@ -2,9 +2,7 @@
 , boto3
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , jsonschema
-, mock
 , parameterized
 , pydantic
 , pytest-env
@@ -18,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "aws-sam-translator";
-  version = "1.60.1";
+  version = "1.73.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -27,7 +25,7 @@ buildPythonPackage rec {
     owner = "aws";
     repo = "serverless-application-model";
     rev = "refs/tags/v${version}";
-    hash = "sha256-exVB1STX8OsFnQ0pzSuR3O/FrvG2GR5MdZa8tZ9IJvI=";
+    hash = "sha256-rj+q/06gIvPYTJP/EH9ZrP0Sp4J3K1aCRyNkgpphWP4=";
   };
 
   propagatedBuildInputs = [
@@ -37,17 +35,8 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  patches = [
-    (fetchpatch {
-      # relax typing-extenions dependency
-      url = "https://github.com/aws/serverless-application-model/commit/d1c26f7ad9510a238ba570d511d5807a81379d0a.patch";
-      hash = "sha256-nh6MtRgi0RrC8xLkLbU6/Ec0kYtxIG/fgjn/KLiAM0E=";
-    })
-  ];
-
-  postPatch = ''
-    substituteInPlace requirements/base.txt \
-      --replace "jsonschema~=3.2" "jsonschema>=3.2"
+  preCheck = ''
+    sed -i '2ienv =\n\tAWS_DEFAULT_REGION=us-east-1' pytest.ini
     substituteInPlace pytest.ini \
       --replace " --cov samtranslator --cov-report term-missing --cov-fail-under 95" ""
   '';
@@ -61,15 +50,13 @@ buildPythonPackage rec {
     pyyaml
   ];
 
-  doCheck = false; # tests fail in weird ways
-
   pythonImportsCheck = [
     "samtranslator"
   ];
 
   meta = with lib; {
     description = "Python library to transform SAM templates into AWS CloudFormation templates";
-    homepage = "https://github.com/awslabs/serverless-application-model";
+    homepage = "https://github.com/aws/serverless-application-model";
     license = licenses.asl20;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-storage/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-storage/default.nix
index 0ba50dc3f863..5643ab8ce545 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-storage/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-storage/default.nix
@@ -8,15 +8,14 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-storage";
-  version = "21.0.0";
+  version = "21.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    hash = "sha256-brE+7s+JGVsrX0e+Bnnj8niI79e9ITLux+vLznXLE3c=";
+    hash = "sha256-1tPA6RfJiLye0Eckd9PvP5CIYAnrHZenEZRPg3VjAWI=";
   };
 
   propagatedBuildInputs = [
@@ -32,7 +31,7 @@ buildPythonPackage rec {
     "azure.mgmt.storage"
   ];
 
-  # has no tests
+  # Module has no tests
   doCheck = false;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/basemap/default.nix b/nixpkgs/pkgs/development/python-modules/basemap/default.nix
index 578fd84db77c..9c5ea550abb1 100644
--- a/nixpkgs/pkgs/development/python-modules/basemap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/basemap/default.nix
@@ -17,13 +17,13 @@
 
 buildPythonPackage rec {
   pname = "basemap";
-  version = "1.3.7";
+  version = "1.3.8";
 
   src = fetchFromGitHub {
     owner = "matplotlib";
     repo = "basemap";
     rev = "refs/tags/v${version}";
-    hash = "sha256-oWKCUARTMCiXDp4SCOOrOUQLUDU4DIzwsmUXCXoDvx0=";
+    hash = "sha256-QH/pC1WIa0XQaDbAhYwKbCeCyxUprJbNyRfguiLjlHI=";
   };
 
   sourceRoot = "${src.name}/packages/basemap";
diff --git a/nixpkgs/pkgs/development/python-modules/baycomp/default.nix b/nixpkgs/pkgs/development/python-modules/baycomp/default.nix
new file mode 100644
index 000000000000..a9167a4c0ac0
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/baycomp/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, numpy
+, scipy
+, scikit-learn
+, matplotlib
+, unittestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "baycomp";
+  version = "1.0.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-xDRywWvXzfSITdTHPdMH5KPacJf+Scg81eiNdRQpI7A=";
+  };
+
+  propagatedBuildInputs = [
+    numpy
+    scipy
+    matplotlib
+  ];
+
+  nativeCheckInputs = [ unittestCheckHook ];
+  pythonImportsCheck = [ "baycomp" ];
+
+  meta = {
+    description = "A library for Bayesian comparison of classifiers";
+    homepage = "https://github.com/janezd/baycomp";
+    license = [ lib.licenses.mit ];
+    maintainers = [ lib.maintainers.lucasew ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/beautysh/default.nix b/nixpkgs/pkgs/development/python-modules/beautysh/default.nix
new file mode 100644
index 000000000000..c41414075f38
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/beautysh/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, buildPythonPackage
+, colorama
+, fetchFromGitHub
+, fetchpatch
+, poetry-core
+, pytestCheckHook
+, setuptools
+, types-colorama
+, types-setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "beautysh";
+  version = "6.2.1";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "lovesegfault";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-rPeGRcyNK45Y7OvtzaIH93IIzexBf/jM1SzYP0phQ1o=";
+  };
+
+  patches = [
+    # https://github.com/lovesegfault/beautysh/pull/247
+    (fetchpatch {
+      name = "poetry-to-poetry-core.patch";
+      url = "https://github.com/lovesegfault/beautysh/commit/5f4fcac083fa68568a50f3c2bcee3ead0f3ca7c5.patch";
+      hash = "sha256-H/kIJKww5ouWu8rmRkaMOXcsq2daZWDdwxBqbc99x0s=";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'types-setuptools = "^57.4.0"' 'types-setuptools = "*"'
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    colorama
+    setuptools
+    types-colorama
+    types-setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "beautysh"
+  ];
+
+  meta = with lib; {
+    description = "Tool for beautifying Bash scripts";
+    homepage = "https://github.com/lovesegfault/beautysh";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+    mainProgram = "beautysh";
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/bentoml/default.nix b/nixpkgs/pkgs/development/python-modules/bentoml/default.nix
index 0b7aee718ff6..ff3a52809946 100644
--- a/nixpkgs/pkgs/development/python-modules/bentoml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bentoml/default.nix
@@ -12,6 +12,7 @@
 , cloudpickle
 , deepmerge
 , fs
+, inflection
 , jinja2
 , numpy
 , opentelemetry-api
@@ -67,7 +68,7 @@
 }:
 
 let
-  version = "1.1.1";
+  version = "1.1.3";
   aws = [ fs-s3fs ];
   grpc = [
     grpcio
@@ -103,7 +104,7 @@ buildPythonPackage {
     owner = "bentoml";
     repo = "BentoML";
     rev = "v${version}";
-    hash = "sha256-V5lquPZT7XBnRdPIEfgbxIBHX+i4N081SYQVK0CkSo8=";
+    hash = "sha256-RJDFjFxTO7UhGZQB8flXug0xCpFdJqLlCZUu0O5W1YE=";
   };
 
   pythonRelaxDeps = [
@@ -125,6 +126,7 @@ buildPythonPackage {
     cloudpickle
     deepmerge
     fs
+    inflection
     jinja2
     numpy
     opentelemetry-api
diff --git a/nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix b/nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix
index df6c9a14dc3e..3a53322ceb91 100644
--- a/nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "boschshcpy";
-  version = "0.2.66";
+  version = "0.2.67";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tschamm";
     repo = pname;
     rev = version;
-    hash = "sha256-0mj1+sbNOE7PBFj99qfqgeYipaRxkQTUIPTPpXueczo=";
+    hash = "sha256-M0LyEKJUcamv0PcflVI97zrXAoe1iV5sJ/oh60bMo6c=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/browser-cookie3/default.nix b/nixpkgs/pkgs/development/python-modules/browser-cookie3/default.nix
index 1fcaa43f2246..f8616e0567a2 100644
--- a/nixpkgs/pkgs/development/python-modules/browser-cookie3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/browser-cookie3/default.nix
@@ -1,5 +1,4 @@
-{ stdenv
-, lib
+{ lib
 , fetchPypi
 , buildPythonPackage
 , pythonOlder
@@ -43,6 +42,5 @@ buildPythonPackage rec {
     changelog = "https://github.com/borisbabic/browser_cookie3/blob/master/CHANGELOG.md";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ borisbabic ];
-    broken = stdenv.isDarwin;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/bthome-ble/default.nix b/nixpkgs/pkgs/development/python-modules/bthome-ble/default.nix
index 282f0dc09100..bced86608d4d 100644
--- a/nixpkgs/pkgs/development/python-modules/bthome-ble/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bthome-ble/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "bthome-ble";
-  version = "3.1.0";
+  version = "3.1.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = "bthome-ble";
     rev = "refs/tags/v${version}";
-    hash = "sha256-CcLb+2UOLKwfBw3E51LJUZmLqpBw85nLXl1J/oFfEVs=";
+    hash = "sha256-fQIvOa9/Bqo4BN6LJz8COHo6n2m4XogVYCMdAUvDZUQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cerberus/default.nix b/nixpkgs/pkgs/development/python-modules/cerberus/default.nix
index aa8c9b2f0440..a60e80353599 100644
--- a/nixpkgs/pkgs/development/python-modules/cerberus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cerberus/default.nix
@@ -1,22 +1,28 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, setuptools
+, poetry-core
 , pytestCheckHook
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
-  pname = "Cerberus";
-  version = "1.3.4";
+  pname = "cerberus";
+  version = "1.3.5";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "pyeve";
     repo = "cerberus";
-    rev = version;
-    sha256 = "03kj15cf1pbd11mxsik96m5w1m6p0fbdc4ia5ihzmq8rz28razpq";
+    rev = "refs/tags/${version}";
+    hash = "sha256-4sVNM4zHc9nsrntmJVdE9nm47CSF0UOJPPI9z3Z2YDc=";
   };
 
   propagatedBuildInputs = [
+    poetry-core
     setuptools
   ];
 
@@ -24,23 +30,20 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  preCheck = ''
-    export TESTDIR=$(mktemp -d)
-    cp -R ./cerberus/tests $TESTDIR
-    pushd $TESTDIR
-  '';
-
-  postCheck = ''
-    popd
-  '';
-
   pythonImportsCheck = [
     "cerberus"
   ];
 
+  disabledTestPaths = [
+    # We don't care about benchmarks
+    "cerberus/benchmarks/"
+  ];
+
   meta = with lib; {
+    description = "Schema and data validation tool for Python dictionaries";
     homepage = "http://python-cerberus.org/";
-    description = "Lightweight, extensible schema and data validation tool for Python dictionaries";
+    changelog = "https://github.com/pyeve/cerberus/blob/${version}/CHANGES.rst";
     license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/cert-chain-resolver/default.nix b/nixpkgs/pkgs/development/python-modules/cert-chain-resolver/default.nix
index cdd26163d2fd..b1cbde96ab38 100644
--- a/nixpkgs/pkgs/development/python-modules/cert-chain-resolver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cert-chain-resolver/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "cert-chain-resolver";
-  version = "1.0.1";
+  version = "1.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,8 +18,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "rkoopmans";
     repo = "python-certificate-chain-resolver";
-    rev = version;
-    hash = "sha256-NLTRx6J6pjs7lyschHN5KtgrnpQpEyvZ2zz0pSd5sc4=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-2itpu/Ap5GNnqAiw3Cp+8rndreWlwfPd+WwM99G7U2E=";
   };
 
   propagatedBuildInputs = [
@@ -45,6 +45,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Resolve / obtain the certificate intermediates of a x509 certificate";
     homepage = "https://github.com/rkoopmans/python-certificate-chain-resolver";
+    changelog = "https://github.com/rkoopmans/python-certificate-chain-resolver/blob/${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ veehaitch ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/certomancer/default.nix b/nixpkgs/pkgs/development/python-modules/certomancer/default.nix
index 324bb21f4d51..641941e7f38d 100644
--- a/nixpkgs/pkgs/development/python-modules/certomancer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/certomancer/default.nix
@@ -1,69 +1,94 @@
 { lib
-, buildPythonPackage
-, fetchFromGitHub
-, pythonOlder
 , asn1crypto
+, buildPythonPackage
 , click
-, oscrypto
-, pyyaml
-, python-dateutil
-, tzlocal
-, pytest-aiohttp
-, pytz
+, cryptography
+, fetchFromGitHub
 , freezegun
 , jinja2
+, oscrypto
 , pyhanko-certvalidator
+, pytest-aiohttp
+, pytestCheckHook
+, python-dateutil
+, python-pkcs11
+, pythonOlder
+, pytz
+, pyyaml
 , requests
 , requests-mock
+, setuptools
+, tzlocal
 , werkzeug
-, pytestCheckHook
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "certomancer";
-  version = "0.9.1";
-  format = "setuptools";
+  version = "0.11.0";
+  format = "pyproject";
+
   disabled = pythonOlder "3.7";
 
-  # Tests are only available on GitHub
   src = fetchFromGitHub {
     owner = "MatthiasValvekens";
     repo = "certomancer";
-    rev = version;
-    sha256 = "4v2e46ZrzhKXpMULj0vmDRoLOypi030eaADAYjLMg5M=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-UQV0Tk4C5b5iBZ34Je59gK2dLTaJusnpxdyNicIh2Q8=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace ' "pytest-runner",' "" \
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
   propagatedBuildInputs = [
     asn1crypto
     click
     oscrypto
-    pyyaml
     python-dateutil
+    pyyaml
     tzlocal
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py --replace ", 'pytest-runner'" ""
-  '';
+  passthru.optional-dependencies = {
+    requests-mocker = [
+      requests-mock
+    ];
+    web-api = [
+      jinja2
+      werkzeug
+    ];
+    pkcs12 = [
+      cryptography
+    ];
+    pkcs11 = [
+      python-pkcs11
+    ];
+  };
 
   nativeCheckInputs = [
     freezegun
-    jinja2
     pyhanko-certvalidator
     pytest-aiohttp
+    pytestCheckHook
     pytz
     requests
-    requests-mock
-    werkzeug
-    pytestCheckHook
-  ];
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
 
   disabledTests = [
     # pyhanko_certvalidator.errors.DisallowedAlgorithmError
     "test_validate"
   ];
 
-  pythonImportsCheck = [ "certomancer" ];
+  pythonImportsCheck = [
+    "certomancer"
+  ];
 
   meta = with lib; {
     description = "Quickly construct, mock & deploy PKI test configurations using simple declarative configuration";
diff --git a/nixpkgs/pkgs/development/python-modules/chacha20poly1305-reuseable/default.nix b/nixpkgs/pkgs/development/python-modules/chacha20poly1305-reuseable/default.nix
index 63304bc82114..02998caec37c 100644
--- a/nixpkgs/pkgs/development/python-modules/chacha20poly1305-reuseable/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/chacha20poly1305-reuseable/default.nix
@@ -17,7 +17,7 @@
 
 let
   pname = "chacha20poly1305-reuseable";
-  version = "0.3.0";
+  version = "0.4.1";
 in
 
 buildPythonPackage {
@@ -30,7 +30,7 @@ buildPythonPackage {
     owner = "bdraco";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-/bXpwSBFr1IM04GNEczzsnsjdFV4miUAzJkvrQjfIq4=";
+    hash = "sha256-JDkTSJi7QltKAdgkM+aJ33DP2emOAviyCqI/jeapUB8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/claripy/default.nix b/nixpkgs/pkgs/development/python-modules/claripy/default.nix
index 62c9311b942d..8ebadc186df2 100644
--- a/nixpkgs/pkgs/development/python-modules/claripy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/claripy/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "claripy";
-  version = "9.2.64";
+  version = "9.2.65";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-vx4wFZdycXow/t2LT4t1kO81JPvsB1mQF1GWgYRZiWs=";
+    hash = "sha256-/Ou2Kl7Fw5QpzoibNOKJPnAwRsR3EDtYypCrOQc7yjI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cle/default.nix b/nixpkgs/pkgs/development/python-modules/cle/default.nix
index eb41a41e8eb3..cfca0e49e379 100644
--- a/nixpkgs/pkgs/development/python-modules/cle/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cle/default.nix
@@ -16,7 +16,7 @@
 
 let
   # The binaries are following the argr projects release cycle
-  version = "9.2.64";
+  version = "9.2.65";
 
   # Binary files from https://github.com/angr/binaries (only used for testing and only here)
   binaries = fetchFromGitHub {
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-wF3T8Kr09jqe4b/qctKXzFAnaTTtOkceHEoEN8J0mTs=";
+    hash = "sha256-reJRy2KNk4YrkPkVH7eitMVS7V9MPTZNjo9+Wmgx5vQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/click-help-colors/default.nix b/nixpkgs/pkgs/development/python-modules/click-help-colors/default.nix
index 22561f4849fc..9a2983aabe8f 100644
--- a/nixpkgs/pkgs/development/python-modules/click-help-colors/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/click-help-colors/default.nix
@@ -1,27 +1,40 @@
-{ lib, fetchPypi, buildPythonPackage
-, click, pytestCheckHook
+{ lib
+, fetchPypi
+, buildPythonPackage
+, click
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "click-help-colors";
-  version = "0.9.1";
+  version = "0.9.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "78cbcf30cfa81c5fc2a52f49220121e1a8190cd19197d9245997605d3405824d";
+    hash = "sha256-dWJF5ULSkia7O8BWv6WIhvISuiuC9OjPX8iEF2rJbXI=";
   };
 
-  propagatedBuildInputs = [ click ];
+  propagatedBuildInputs = [
+    click
+  ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
-  pythonImportsCheck = [ "click_help_colors" ];
+  pythonImportsCheck = [
+    "click_help_colors"
+  ];
 
   meta = with lib; {
     description = "Colorization of help messages in Click";
-    homepage    = "https://github.com/r-m-n/click-help-colors";
-    license     = licenses.mit;
-    platforms   = platforms.unix;
+    homepage = "https://github.com/click-contrib/click-help-colors";
+    changelog = "https://github.com/click-contrib/click-help-colors/blob/${version}/CHANGES.rst";
+    license = licenses.mit;
     maintainers = with maintainers; [ freezeboy ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/cmsis-pack-manager/default.nix b/nixpkgs/pkgs/development/python-modules/cmsis-pack-manager/default.nix
index 646fef8f47fa..6043f1c15565 100644
--- a/nixpkgs/pkgs/development/python-modules/cmsis-pack-manager/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cmsis-pack-manager/default.nix
@@ -1,5 +1,5 @@
 { lib
-, fetchPypi
+, fetchFromGitHub
 , rustPlatform
 , cffi
 , libiconv
@@ -15,17 +15,20 @@
 }:
 
 buildPythonPackage rec {
-  pname = "cmsis_pack_manager";
+  pname = "cmsis-pack-manager";
   version = "0.5.2";
+  format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-sVfyz9D7/0anIp0bEPp1EJkERDbNJ3dCcydLbty1KsQ=";
+  src = fetchFromGitHub {
+    owner = "pyocd";
+    repo = "cmsis-pack-manager";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-PeyJf3TGUxv8/MKIQUgWrenrK4Hb+4cvtDA2h3r6kGg=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
-    sha256 = "dO4qw5Jx0exwb4RuOhu6qvGxQZ+LayHtXDHZKADLTEI=";
+    hash = "sha256-dO4qw5Jx0exwb4RuOhu6qvGxQZ+LayHtXDHZKADLTEI=";
   };
 
   nativeBuildInputs = [ rustPlatform.cargoSetupHook rustPlatform.maturinBuildHook ];
@@ -35,10 +38,10 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ appdirs pyyaml ];
   nativeCheckInputs = [ hypothesis jinja2 pytestCheckHook unzip ];
 
-  format = "pyproject";
-
+  # remove cmsis_pack_manager source directory so that binaries can be imported
+  # from the installed wheel instead
   preCheck = ''
-    unzip $dist/*.whl cmsis_pack_manager/cmsis_pack_manager/native.so
+    rm -r cmsis_pack_manager
   '';
 
   disabledTests = [
diff --git a/nixpkgs/pkgs/development/python-modules/cohere/default.nix b/nixpkgs/pkgs/development/python-modules/cohere/default.nix
index dddb7e892e0c..34df37e4db9f 100644
--- a/nixpkgs/pkgs/development/python-modules/cohere/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cohere/default.nix
@@ -5,20 +5,21 @@
 , pythonOlder
 , aiohttp
 , backoff
+, fastavro
 , importlib-metadata
 , requests
 }:
 
 buildPythonPackage rec {
   pname = "cohere";
-  version = "4.16.0";
+  version = "4.21";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-i6kbjugulAcmmInFb+rH4WB50dM7SDO1HNW/JgD4OTQ=";
+    hash = "sha256-9hFDj0Cd/F1aChU6WFNJ9agLFpxxArWZTZmZ7PhECGY=";
   };
 
   nativeBuildInputs = [
@@ -28,6 +29,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     aiohttp
     backoff
+    fastavro
     importlib-metadata
     requests
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/cookiecutter/default.nix b/nixpkgs/pkgs/development/python-modules/cookiecutter/default.nix
index 8f764f4d5ddc..d7ae5934d6d5 100644
--- a/nixpkgs/pkgs/development/python-modules/cookiecutter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cookiecutter/default.nix
@@ -1,23 +1,32 @@
 { lib, buildPythonPackage, fetchPypi, isPyPy
-, pytest, pytest-cov, pytest-mock, freezegun
+, pytest, pytest-cov, pytest-mock, freezegun, safety, pre-commit
 , jinja2, future, binaryornot, click, jinja2-time, requests
 , python-slugify
 , pyyaml
+, arrow
+, rich
 }:
 
 buildPythonPackage rec {
   pname = "cookiecutter";
-  version = "2.1.1";
+  version = "2.3.0";
 
   # not sure why this is broken
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-85gr6NnFPawSYYZAE/3sf4Ov0uQu3m9t0GnF4UnFQNU=";
+    hash = "sha256-lCp5SYF0f21/Q51uSdOdyRqaZBKDYUFgyTxHTHLCliE=";
   };
 
-  nativeCheckInputs = [ pytest pytest-cov pytest-mock freezegun ];
+  nativeCheckInputs = [
+    pytest
+    pytest-cov
+    pytest-mock
+    freezegun
+    safety
+    pre-commit
+  ];
   propagatedBuildInputs = [
     binaryornot
     jinja2
@@ -26,6 +35,8 @@ buildPythonPackage rec {
     jinja2-time
     python-slugify
     requests
+    arrow
+    rich
   ];
 
   # requires network access for cloning git repos
diff --git a/nixpkgs/pkgs/development/python-modules/dataclasses-json/default.nix b/nixpkgs/pkgs/development/python-modules/dataclasses-json/default.nix
index 661e77703bc0..d9b16bcc069a 100644
--- a/nixpkgs/pkgs/development/python-modules/dataclasses-json/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dataclasses-json/default.nix
@@ -1,23 +1,39 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, typing-inspect
-, marshmallow-enum
 , hypothesis
+, marshmallow-enum
+, poetry-core
+, poetry-dynamic-versioning
 , pytestCheckHook
+, pythonOlder
+, typing-inspect
 }:
 
 buildPythonPackage rec {
   pname = "dataclasses-json";
-  version = "0.5.9";
+  version = "0.5.14";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "lidatong";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-2/J+d7SQvUs7nXw1n+qwy0DQCplK28eUrbP7+yQPB7g=";
+    hash = "sha256-pCvVKHh2elHaukEJNTw8MgJmoTlYjO9aVWFCQXXD13c=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'version = "0.0.0"' 'version = "${version}"'
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+    poetry-dynamic-versioning
+  ];
+
   propagatedBuildInputs = [
     typing-inspect
     marshmallow-enum
@@ -35,11 +51,14 @@ buildPythonPackage rec {
     "tests/test_annotations.py"
   ];
 
-  pythonImportsCheck = [ "dataclasses_json" ];
+  pythonImportsCheck = [
+    "dataclasses_json"
+  ];
 
   meta = with lib; {
     description = "Simple API for encoding and decoding dataclasses to and from JSON";
     homepage = "https://github.com/lidatong/dataclasses-json";
+    changelog = "https://github.com/lidatong/dataclasses-json/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ albakham ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/datasette-publish-fly/default.nix b/nixpkgs/pkgs/development/python-modules/datasette-publish-fly/default.nix
index 521b408b524c..a9c04618ee31 100644
--- a/nixpkgs/pkgs/development/python-modules/datasette-publish-fly/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/datasette-publish-fly/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "datasette-publish-fly";
-  version = "1.3";
+  version = "1.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "simonw";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-L94QYcrTWjuoz0aEFTxPi8Xg0xERP1zCs7+vzhoJagc=";
+    hash = "sha256-diaxr+fNNgkJvLGkLo+lK0ThTsXYDePFsvTetMbDRMk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dbt-core/default.nix b/nixpkgs/pkgs/development/python-modules/dbt-core/default.nix
index 0a926744a814..73d41944702b 100644
--- a/nixpkgs/pkgs/development/python-modules/dbt-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dbt-core/default.nix
@@ -30,14 +30,14 @@
 
 buildPythonPackage rec {
   pname = "dbt-core";
-  version = "1.5.3";
+  version = "1.5.5";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "dbt-labs";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-ZgP11fVMtXpzo9QaTkejvKl0LzCAkIyGBMcOquBirxQ=";
+    hash = "sha256-aAe3sNa4CxqynsFHoTLEYWo12jEF/LAyYMqnpy5cTbg=";
   };
 
   sourceRoot = "${src.name}/core";
diff --git a/nixpkgs/pkgs/development/python-modules/dbus-fast/default.nix b/nixpkgs/pkgs/development/python-modules/dbus-fast/default.nix
index 7b7c5f59ad95..c65d1b032f44 100644
--- a/nixpkgs/pkgs/development/python-modules/dbus-fast/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dbus-fast/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "dbus-fast";
-  version = "1.92.0";
+  version = "1.93.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-JlR2eoNOsZ/YE313fWAtoxJhlpMnUaDJcFpwA2b6p4c=";
+    hash = "sha256-+L9V9Uk5VRucp3r9zrywXzJOfY/9aeWMep6MTiwngVI=";
   };
 
   # The project can build both an optimized cython version and an unoptimized
diff --git a/nixpkgs/pkgs/development/python-modules/detectron2/default.nix b/nixpkgs/pkgs/development/python-modules/detectron2/default.nix
index e7870fbe4759..badf5bb08771 100644
--- a/nixpkgs/pkgs/development/python-modules/detectron2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/detectron2/default.nix
@@ -36,6 +36,7 @@
 , av
 , opencv4
 , pytest-mock
+, pybind11
 }:
 
 let
@@ -75,6 +76,8 @@ buildPythonPackage {
     which
   ];
 
+  buildInputs = [ pybind11 ];
+
   pythonRelaxDeps = [
     "black"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/devolo-plc-api/default.nix b/nixpkgs/pkgs/development/python-modules/devolo-plc-api/default.nix
index c6d5b7df2660..f6f0b92f549d 100644
--- a/nixpkgs/pkgs/development/python-modules/devolo-plc-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/devolo-plc-api/default.nix
@@ -8,6 +8,7 @@
 , pytest-mock
 , pytestCheckHook
 , pythonOlder
+, segno
 , setuptools-scm
 , syrupy
 , zeroconf
@@ -15,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "devolo-plc-api";
-  version = "1.3.2";
+  version = "1.4.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -24,7 +25,7 @@ buildPythonPackage rec {
     owner = "2Fake";
     repo = "devolo_plc_api";
     rev = "refs/tags/v${version}";
-    hash = "sha256-viOyxgFydPrTPFz6JsjJT6IiUIeoIwd+bcrAJfomDI8=";
+    hash = "sha256-roKwCNOvSVRFKBxXz0a9SDo925RHqX0qKv/1QWD3diw=";
   };
 
   postPatch = ''
@@ -41,6 +42,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     httpx
     protobuf
+    segno
     zeroconf
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/dm-haiku/default.nix b/nixpkgs/pkgs/development/python-modules/dm-haiku/default.nix
index 3f3e0deb95e9..7e2a3b3573cd 100644
--- a/nixpkgs/pkgs/development/python-modules/dm-haiku/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dm-haiku/default.nix
@@ -1,5 +1,6 @@
 { buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , callPackage
 , lib
 , jmp
@@ -18,6 +19,21 @@ buildPythonPackage rec {
     hash = "sha256-EZx3o6PgTeFjTwI9Ko9H39EqPSE0yLWWpsdqX6ALlo4=";
   };
 
+  patches = [
+    # https://github.com/deepmind/dm-haiku/issues/717
+    (fetchpatch {
+      name = "remove-typing-extensions.patch";
+      url = "https://github.com/deepmind/dm-haiku/commit/c22867db1a3314a382bd2ce36511e2b756dc32a8.patch";
+      hash = "sha256-SxJc8FrImwMqTJ5OuJ1f4T+HfHgW/sGqXeIqlxEatlE=";
+    })
+    # https://github.com/deepmind/dm-haiku/pull/672
+    (fetchpatch {
+      name = "fix-find-namespace-packages.patch";
+      url = "https://github.com/deepmind/dm-haiku/commit/728031721f77d9aaa260bba0eddd9200d107ba5d.patch";
+      hash = "sha256-qV94TdJnphlnpbq+B0G3KTx5CFGPno+8FvHyu/aZeQE=";
+    })
+  ];
+
   outputs = [
     "out"
     "testsout"
diff --git a/nixpkgs/pkgs/development/python-modules/dvc-data/default.nix b/nixpkgs/pkgs/development/python-modules/dvc-data/default.nix
index 66fbce0c8d29..e5ee78a02350 100644
--- a/nixpkgs/pkgs/development/python-modules/dvc-data/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dvc-data/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "dvc-data";
-  version = "2.15.1";
+  version = "2.15.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-5Lu/YSLmqWXFQ6w6egALqdePWYwWrDIahVkQn3iQCnA=";
+    hash = "sha256-8lwEf1+deLojhJDjRjII8sHRCGCM6l+igigIvNJidxQ=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/dvc-objects/default.nix b/nixpkgs/pkgs/development/python-modules/dvc-objects/default.nix
index 6854f827491d..fb7fed4858d4 100644
--- a/nixpkgs/pkgs/development/python-modules/dvc-objects/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dvc-objects/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "dvc-objects";
-  version = "1.0.0";
+  version = "1.0.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-9R1fhRwGYkwykiTnddjIJHmJxMcpwS+a9hgqBzFyJeM=";
+    hash = "sha256-mpYSlddzYIUZctF3kGWQWT+kxshIdAckVvaXWuyJnlw=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/dvc/default.nix b/nixpkgs/pkgs/development/python-modules/dvc/default.nix
index b462d63e816c..2c6687f9bbc0 100644
--- a/nixpkgs/pkgs/development/python-modules/dvc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dvc/default.nix
@@ -55,14 +55,14 @@
 
 buildPythonPackage rec {
   pname = "dvc";
-  version = "3.15.3";
+  version = "3.16.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-ceN8wgQRiwz3R98iPH+cJXqPTTxlBgnSGkpuVgWLvwY=";
+    hash = "sha256-LbSmyNgRFejDGHurzDJvJxuhjPuRPDJ1t6T6p3f6UQk=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/dvclive/default.nix b/nixpkgs/pkgs/development/python-modules/dvclive/default.nix
index 187d66999079..a732f24fabbe 100644
--- a/nixpkgs/pkgs/development/python-modules/dvclive/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dvclive/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "dvclive";
-  version = "2.14.0";
+  version = "2.15.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-aFES2+ZpbrVoMbIOW73ec1HD/tKhKTiZ0tAIV5vx/OQ=";
+    hash = "sha256-Z1e6CrpVjQoR/OIqqxbbC75SZtOqi4Rrbld2doenOMA=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/edk2-pytool-library/default.nix b/nixpkgs/pkgs/development/python-modules/edk2-pytool-library/default.nix
index 181692d4fe22..b92323e0c15c 100644
--- a/nixpkgs/pkgs/development/python-modules/edk2-pytool-library/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/edk2-pytool-library/default.nix
@@ -3,33 +3,46 @@
 , fetchFromGitHub
 , setuptools
 , setuptools-scm
+, pythonRelaxDepsHook
 , pyasn1
 , pyasn1-modules
 , cryptography
+, tinydb
+, joblib
+, tinyrecord
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "edk2-pytool-library";
-  version = "0.16.2";
+  version = "0.17.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "tianocore";
     repo = "edk2-pytool-library";
     rev = "v${version}";
-    hash = "sha256-JL9znvXl+RIEzycKhXkggEJ87bQ+UzspBD1YM3AoYlc=";
+    hash = "sha256-US9m7weW11+VxX6ZsKP5tYKp+bQoiI+TZ3YWE97D/f0=";
   };
 
   nativeBuildInputs = [
     setuptools
     setuptools-scm
+    pythonRelaxDepsHook
+  ];
+
+  pythonRelaxDeps = [
+    "tinydb"
+    "joblib"
   ];
 
   propagatedBuildInputs = [
     pyasn1
     pyasn1-modules
     cryptography
+    tinydb
+    joblib
+    tinyrecord
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/expandvars/default.nix b/nixpkgs/pkgs/development/python-modules/expandvars/default.nix
new file mode 100644
index 000000000000..60055c6547ba
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/expandvars/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "expandvars";
+  version = "0.11.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-Q7Qn9dMnqzYAY98mFR+Y0qbwj+GPKJWjKn9fDxF7W1I=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  # The PyPi package does not supply any tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "expandvars"
+  ];
+
+  meta = with lib; {
+    description = "Expand system variables Unix style";
+    homepage = "https://github.com/sayanarijit/expandvars";
+    license = licenses.mit;
+    maintainers = with maintainers; [ geluk ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/fido2/default.nix b/nixpkgs/pkgs/development/python-modules/fido2/default.nix
index 459f0799477d..7cd11eefcbcc 100644
--- a/nixpkgs/pkgs/development/python-modules/fido2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fido2/default.nix
@@ -1,37 +1,54 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, poetry-core
-, six
 , cryptography
+, fetchPypi
 , mock
+, poetry-core
 , pyfakefs
+, pythonOlder
+, six
 , unittestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "fido2";
-  version = "1.1.1";
+  version = "1.1.2";
   format = "pyproject";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-XcSVyoxZwcM3ODtLjDFNRrktXG/GUOcZhMbX+VQHn8M=";
+    hash = "sha256-YRDZExBvdhmSAbMtJisoV1YsxGuh0LnFH7zjDck2xXM=";
   };
 
-  nativeBuildInputs = [ poetry-core ];
+  nativeBuildInputs = [
+    poetry-core
+  ];
 
-  propagatedBuildInputs = [ six cryptography ];
+  propagatedBuildInputs = [
+    cryptography
+    six
+  ];
 
-  nativeCheckInputs = [ unittestCheckHook mock pyfakefs ];
+  nativeCheckInputs = [
+    unittestCheckHook
+    mock
+    pyfakefs
+  ];
 
-  unittestFlagsArray = [ "-v" ];
+  unittestFlagsArray = [
+    "-v"
+  ];
 
-  pythonImportsCheck = [ "fido2" ];
+  pythonImportsCheck = [
+    "fido2"
+  ];
 
   meta = with lib; {
-    description = "Provides library functionality for FIDO 2.0, including communication with a device over USB.";
+    description = "Provides library functionality for FIDO 2.0, including communication with a device over USB";
     homepage = "https://github.com/Yubico/python-fido2";
+    changelog = "https://github.com/Yubico/python-fido2/releases/tag/${version}";
     license = licenses.bsd2;
     maintainers = with maintainers; [ prusnak ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/fiona/default.nix b/nixpkgs/pkgs/development/python-modules/fiona/default.nix
index edbd9433fb09..1fe53065d9ee 100644
--- a/nixpkgs/pkgs/development/python-modules/fiona/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fiona/default.nix
@@ -5,6 +5,7 @@
 , cython
 , gdal
 , setuptools
+, wheel
 , attrs
 , certifi
 , click
@@ -31,10 +32,20 @@ buildPythonPackage rec {
     hash = "sha256-CeGdWAmWteVtL0BoBQ1sB/+1AWkmxogtK99bL5Fpdbw=";
   };
 
+  postPatch = ''
+    # Remove after https://github.com/Toblerity/Fiona/pull/1225 is released
+    sed -i '/"oldest-supported-numpy"/d' pyproject.toml
+
+    # Remove after https://github.com/Toblerity/Fiona/pull/1281 is released,
+    # after which cython also needs to be updated to cython_3
+    sed -i 's/Cython~=/Cython>=/' pyproject.toml
+  '';
+
   nativeBuildInputs = [
     cython
     gdal # for gdal-config
     setuptools
+    wheel
   ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/flask-assets/default.nix b/nixpkgs/pkgs/development/python-modules/flask-assets/default.nix
index 390657e9c823..07c384d1c6ae 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-assets/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-assets/default.nix
@@ -1,12 +1,13 @@
-{ lib, buildPythonPackage, fetchPypi, flask, webassets, flask_script, nose }:
+{ lib, buildPythonPackage, fetchPypi, flask, webassets, flask-script, nose }:
 
 buildPythonPackage rec {
-  pname = "Flask-Assets";
+  pname = "flask-assets";
   version = "2.0";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "1dfdea35e40744d46aada72831f7613d67bf38e8b20ccaaa9e91fdc37aa3b8c2";
+    pname = "Flask-Assets";
+    inherit version;
+    hash = "sha256-Hf3qNeQHRNRqracoMfdhPWe/OOiyDMqqnpH9w3qjuMI=";
   };
 
   patchPhase = ''
@@ -15,7 +16,7 @@ buildPythonPackage rec {
     substituteInPlace tests/test_integration.py --replace "'/foo'" "'/x/foo'"
   '';
 
-  propagatedBuildInputs = [ flask webassets flask_script nose ];
+  propagatedBuildInputs = [ flask webassets flask-script nose ];
 
   meta = with lib; {
     homepage = "https://github.com/miracle2k/flask-assets";
diff --git a/nixpkgs/pkgs/development/python-modules/flask-elastic/default.nix b/nixpkgs/pkgs/development/python-modules/flask-elastic/default.nix
index 3a9daa577d4d..c3ea512f803a 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-elastic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-elastic/default.nix
@@ -2,12 +2,13 @@
 , flask, elasticsearch }:
 
 buildPythonPackage rec {
-  pname = "Flask-Elastic";
+  pname = "flask-elastic";
   version = "0.2";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "0hqkwff6z78aspkf1cf815qwp02g3ch1y9dhm5v2ap8vakyac0az";
+    pname = "Flask-Elastic";
+    inherit version;
+    hash = "sha256-XwGm/FQbXSV2qbAlHyAbT4DLcQnIseDm1Qqdb5zjE0M=";
   };
 
   propagatedBuildInputs = [ flask elasticsearch ];
diff --git a/nixpkgs/pkgs/development/python-modules/flask-mail/default.nix b/nixpkgs/pkgs/development/python-modules/flask-mail/default.nix
index a1732d3ccbfe..8e4c58db75c1 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-mail/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-mail/default.nix
@@ -3,7 +3,7 @@
 }:
 
 buildPythonPackage rec {
-  pname = "Flask-Mail";
+  pname = "flask-mail";
   version = "0.9.1";
 
   meta = {
@@ -13,8 +13,9 @@ buildPythonPackage rec {
   };
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "0hazjc351s3gfbhk975j8k65cg4gf31yq404yfy0gx0bjjdfpr92";
+    pname = "Flask-Mail";
+    inherit version;
+    hash = "sha256-IuXrmpQL9Ae88wQQ7MNwjzxWzESynDThcm/oUAaTX0E=";
   };
 
   propagatedBuildInputs = [ blinker flask ];
diff --git a/nixpkgs/pkgs/development/python-modules/flask-migrate/default.nix b/nixpkgs/pkgs/development/python-modules/flask-migrate/default.nix
index b6bdd4e8f373..d5bb05b58917 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-migrate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-migrate/default.nix
@@ -4,14 +4,14 @@
 , pythonOlder
 , alembic
 , flask
-, flask_script
+, flask-script
 , flask-sqlalchemy
 , pytestCheckHook
 , setuptools
 }:
 
 buildPythonPackage rec {
-  pname = "Flask-Migrate";
+  pname = "flask-migrate";
   version = "4.0.4";
   format = "pyproject";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
 
   src = fetchFromGitHub {
     owner = "miguelgrinberg";
-    repo = pname;
+    repo = "Flask-Migrate";
     rev = "v${version}";
     hash = "sha256-x52LGYvXuTUCP9dR3FP7a/xNRWyCAV1sReDAYJbYDvE=";
   };
@@ -40,7 +40,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-    flask_script
+    flask-script
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/flask-principal/default.nix b/nixpkgs/pkgs/development/python-modules/flask-principal/default.nix
index 1c185ce74770..8bf06c87d356 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-principal/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-principal/default.nix
@@ -1,12 +1,13 @@
 { lib, buildPythonPackage, fetchPypi, flask, blinker, nose }:
 
 buildPythonPackage rec {
-  pname = "Flask-Principal";
+  pname = "flask-principal";
   version = "0.4.0";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "0lwlr5smz8vfm5h9a9i7da3q1c24xqc6vm9jdywdpgxfbi5i7mpm";
+    pname = "Flask-Principal";
+    inherit version;
+    hash = "sha256-9dYTS1yuv9u4bzLVbRjuRLCAh2onJpVgqW6jX3XJlFM=";
   };
 
   propagatedBuildInputs = [ flask blinker ];
diff --git a/nixpkgs/pkgs/development/python-modules/flask-script/default.nix b/nixpkgs/pkgs/development/python-modules/flask-script/default.nix
index 3c130890e6cb..cd7122813227 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-script/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-script/default.nix
@@ -1,12 +1,13 @@
 { lib, buildPythonPackage, fetchPypi, flask, pytest }:
 
 buildPythonPackage rec {
-  pname = "Flask-Script";
+  pname = "flask-script";
   version = "2.0.6";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "0r8w2v89nj6b9p91p495cga5m72a673l2wc0hp0zqk05j4yrc9b4";
+    pname = "Flask-Script";
+    inherit version;
+    hash = "sha256-ZCWWPZEFTPzBhYBxQccxSpxa1GMlkRvSTctIm9AWHGU=";
   };
 
   propagatedBuildInputs = [ flask ];
diff --git a/nixpkgs/pkgs/development/python-modules/flask-security-too/default.nix b/nixpkgs/pkgs/development/python-modules/flask-security-too/default.nix
index c63b99161a98..743cc2902b97 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-security-too/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-security-too/default.nix
@@ -27,7 +27,7 @@
 , email-validator
 , flask
 , flask-login
-, flask_principal
+, flask-principal
 , flask-wtf
 , itsdangerous
 , passlib
@@ -62,7 +62,7 @@ buildPythonPackage rec {
     email-validator
     flask
     flask-login
-    flask_principal
+    flask-principal
     flask-wtf
     itsdangerous
     passlib
diff --git a/nixpkgs/pkgs/development/python-modules/fritzconnection/default.nix b/nixpkgs/pkgs/development/python-modules/fritzconnection/default.nix
index 1f359dfdf7c3..9fc2beef2c0d 100644
--- a/nixpkgs/pkgs/development/python-modules/fritzconnection/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fritzconnection/default.nix
@@ -4,26 +4,33 @@
 , fetchFromGitHub
 , pytestCheckHook
 , requests
+, segno
 }:
 
 buildPythonPackage rec {
   pname = "fritzconnection";
-  version = "1.12.2";
+  version = "1.13.1";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "kbr";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-e+w3ce6KdvbYzH48XPEQTiBgtjbKWNdQj8ie4yw0rzE=";
+    hash = "sha256-FTg5LHjti6Srmz1LcPU0bepNzn2tpmdSBM3Y2BzZEms=";
   };
 
   propagatedBuildInputs = [
     requests
   ];
 
+  passthru.optional-dependencies = {
+    qr = [
+      segno
+    ];
+  };
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
@@ -36,6 +43,11 @@ buildPythonPackage rec {
     "fritzconnection"
   ];
 
+  disabledTestPaths = [
+    # Functional tests require network access
+    "fritzconnection/tests/test_functional.py"
+  ];
+
   meta = with lib; {
     description = "Python module to communicate with the AVM Fritz!Box";
     homepage = "https://github.com/kbr/fritzconnection";
diff --git a/nixpkgs/pkgs/development/python-modules/gensim/default.nix b/nixpkgs/pkgs/development/python-modules/gensim/default.nix
index fe3742886eb6..f43bfb518cfb 100644
--- a/nixpkgs/pkgs/development/python-modules/gensim/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gensim/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "gensim";
-  version = "4.3.1";
+  version = "4.3.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-i18RwOalMICGtI6PaEEiOk+ho31RNoRhK37oVLUzAV8=";
+    hash = "sha256-maxq9v/UBoLnAVXtn5Lsv0OE1Z+1CvEg00PqXuGzCKs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/gocardless-pro/default.nix b/nixpkgs/pkgs/development/python-modules/gocardless-pro/default.nix
index d2c6aebe221f..c81a9e2aa6f9 100644
--- a/nixpkgs/pkgs/development/python-modules/gocardless-pro/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gocardless-pro/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "gocardless-pro";
-  version = "1.45.0";
+  version = "1.46.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "gocardless";
     repo = "gocardless-pro-python";
-    rev = "v${version}";
-    hash = "sha256-mzIEHm8roiVtrh84Oc+J87anMpr4zMp5yLFCmuljg8k=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-tfaV/pohDu7IIzDa9B3GpnzOs6U+MVoFM3YZ0ErC7zQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-api-python-client/default.nix b/nixpkgs/pkgs/development/python-modules/google-api-python-client/default.nix
index aea6bd04d844..24bf908942fc 100644
--- a/nixpkgs/pkgs/development/python-modules/google-api-python-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-api-python-client/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-api-python-client";
-  version = "2.96.0";
+  version = "2.97.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-9xI3PQPTOK9XufX+mMkfS1uqqHZUabAVvGI8RoHFvVE=";
+    hash = "sha256-SCdykYlIdqHKftQSfgVegfgeY0PO0bVEpyAK4sEZ3Nc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-kms/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-kms/default.nix
index 9fa399d56f63..5daa5fe466f6 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-kms/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-kms/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-kms";
-  version = "2.18.0";
+  version = "2.19.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GqcYccqc6yAfuN3ntTypXvMNricr0cfCmCwnU0zJBoE=";
+    hash = "sha256-ia3XCpLUXJ93AGEHdDaOidQEagUkMVAnb2UYK+ktzKc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/gpiozero/default.nix b/nixpkgs/pkgs/development/python-modules/gpiozero/default.nix
index a9546df9c844..587f3c9e3015 100644
--- a/nixpkgs/pkgs/development/python-modules/gpiozero/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gpiozero/default.nix
@@ -5,6 +5,7 @@
 , sphinxHook
 , colorzero
 , mock
+, pythonOlder
 , pytestCheckHook
 }:
 
@@ -13,6 +14,8 @@ buildPythonPackage rec {
   version = "1.6.2";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "gpiozero";
     repo = pname;
@@ -34,20 +37,25 @@ buildPythonPackage rec {
     colorzero
   ];
 
+  nativeCheckInputs = [
+    mock
+    pytestCheckHook
+  ];
+
   pythonImportsCheck = [
     "gpiozero"
     "gpiozero.tools"
   ];
 
-  nativeCheckInputs = [
-    mock
-    pytestCheckHook
+  disabledTests = [
+    # https://github.com/gpiozero/gpiozero/issues/1087
+    "test_spi_hardware_write"
   ];
 
-
   meta = with lib; {
     description = "A simple interface to GPIO devices with Raspberry Pi";
     homepage = "https://github.com/gpiozero/gpiozero";
+    changelog = "https://github.com/gpiozero/gpiozero/blob/v${version}/docs/changelog.rst";
     license = licenses.bsd3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ hexa ];
diff --git a/nixpkgs/pkgs/development/python-modules/hahomematic/default.nix b/nixpkgs/pkgs/development/python-modules/hahomematic/default.nix
index ffeab054f9ea..d1bd71fa1c57 100644
--- a/nixpkgs/pkgs/development/python-modules/hahomematic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hahomematic/default.nix
@@ -12,24 +12,26 @@
 , voluptuous
 , websocket-client
 , xmltodict
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "hahomematic";
-  version = "2023.7.0";
+  version = "2023.8.9";
   format = "pyproject";
 
-  disabled = pythonOlder "3.9";
+  disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
     owner = "danielperna84";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-5J/arrr8ymODSqtATJZuKsuOsCDKV9P2v8vN6D22FuE=";
+    hash = "sha256-PQ9KxKyTa9xiLa6suqHRem6Rs732djbjzFKKLZDUM/g=";
   };
 
   nativeBuildInputs = [
     setuptools
+    wheel
   ];
 
   propagatedBuildInputs = [
@@ -45,9 +47,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  # Starting with 0.30 the tests are broken, check with the next major release
-  doCheck = false;
-
   pythonImportsCheck = [
     "hahomematic"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/humanize/default.nix b/nixpkgs/pkgs/development/python-modules/humanize/default.nix
index 9854e428a57a..51653781c57d 100644
--- a/nixpkgs/pkgs/development/python-modules/humanize/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/humanize/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "humanize";
-  version = "4.7.0";
+  version = "4.8.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "python-humanize";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-ofRdrFVxIxAtv8WopJDX8Te8yaaJTnDbRM56V7pm/NM=";
+    hash = "sha256-bKTzygQtZ/0UB+zM9735a/xwH4KaoU6C8kUGurbHs2Y=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/hwi/default.nix b/nixpkgs/pkgs/development/python-modules/hwi/default.nix
index 89a2bf03de56..046dbc7bb4ff 100644
--- a/nixpkgs/pkgs/development/python-modules/hwi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hwi/default.nix
@@ -1,28 +1,30 @@
 { lib
-, buildPythonPackage
-, fetchFromGitHub
 , bitbox02
+, buildPythonPackage
 , cbor
 , ecdsa
+, fetchFromGitHub
 , hidapi
 , libusb1
 , mnemonic
 , pyaes
 , pyserial
-, typing-extensions
 , pythonOlder
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "hwi";
-  version = "2.2.1";
+  version = "2.3.1";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "bitcoin-core";
     repo = "HWI";
     rev = "refs/tags/${version}";
-    hash = "sha256-vQJN2YXWGvYSVV9lemZyu61inc9iBFxf5nIlpIiRe+s=";
+    hash = "sha256-V4BWB4mCONQ8kjAy6ySonAbCUTaKpBTvhSnHmoH8TQM=";
   };
 
   propagatedBuildInputs = [
@@ -37,16 +39,7 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  # relax required dependencies:
-  # libusb1           - https://github.com/bitcoin-core/HWI/issues/579
-  # typing-extensions - https://github.com/bitcoin-core/HWI/issues/572
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace 'libusb1>=1.7,<3' 'libusb1>=1.7,<4' \
-      --replace 'typing-extensions>=3.7,<4.0' 'typing-extensions>=3.7,<5.0'
-  '';
-
-  # tests require to clone quite a few firmwares
+  # Tests require to clone quite a few firmwares
   doCheck = false;
 
   pythonImportsCheck = [
@@ -56,6 +49,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Bitcoin Hardware Wallet Interface";
     homepage = "https://github.com/bitcoin-core/hwi";
+    changelog = "https://github.com/bitcoin-core/HWI/releases/tag/${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ prusnak ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/hyperpyyaml/default.nix b/nixpkgs/pkgs/development/python-modules/hyperpyyaml/default.nix
index d66d16dc42f3..4e59a0ce771b 100644
--- a/nixpkgs/pkgs/development/python-modules/hyperpyyaml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hyperpyyaml/default.nix
@@ -1,9 +1,9 @@
-{ buildPythonPackage
+{ lib
+, buildPythonPackage
 , fetchFromGitHub
-, lib
-, pytestCheckHook
 , pyyaml
 , ruamel-yaml
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -35,5 +35,7 @@ buildPythonPackage rec {
     changelog = "https://github.com/speechbrain/HyperPyYAML/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ GaetanLepage ];
+    # hyperpyyaml is not compatible with the too new version of `ruaml-yaml`
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/ibis-framework/default.nix b/nixpkgs/pkgs/development/python-modules/ibis-framework/default.nix
index 065fe77317aa..1c5b134ce1ae 100644
--- a/nixpkgs/pkgs/development/python-modules/ibis-framework/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ibis-framework/default.nix
@@ -70,7 +70,7 @@ in
 
 buildPythonPackage rec {
   pname = "ibis-framework";
-  version = "6.0.0";
+  version = "6.1.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -80,7 +80,7 @@ buildPythonPackage rec {
     repo = "ibis";
     owner = "ibis-project";
     rev = "refs/tags/${version}";
-    hash = "sha256-qIxacrRSN/Il9cY6ZsOiYLPyxI20aI+DyDM0/9jr654=";
+    hash = "sha256-+AtXgRNxPryP/fd/GQlLNxWbP6ozikqG2yBCp3dE0tY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/identify/default.nix b/nixpkgs/pkgs/development/python-modules/identify/default.nix
index 2bc949f040d2..bd8872d779c6 100644
--- a/nixpkgs/pkgs/development/python-modules/identify/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/identify/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "identify";
-  version = "2.5.26";
+  version = "2.5.27";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pre-commit";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-gpvfj9XwhErMPXWygZb5QMHDwCK7ZhGw6L86ttRoP/Y=";
+    hash = "sha256-qhYSKmHV2OGGUqfFbUiZkmUQrjSQ4I+ZX5C+D8sKj0g=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/imageio-ffmpeg/default.nix b/nixpkgs/pkgs/development/python-modules/imageio-ffmpeg/default.nix
index 141654fd9595..cdffa669edcf 100644
--- a/nixpkgs/pkgs/development/python-modules/imageio-ffmpeg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/imageio-ffmpeg/default.nix
@@ -1,6 +1,5 @@
 { lib
 , buildPythonPackage
-, isPy3k
 , fetchPypi
 , substituteAll
 , ffmpeg_4
@@ -10,8 +9,7 @@
 buildPythonPackage rec {
   pname = "imageio-ffmpeg";
   version = "0.4.8";
-
-  disabled = !isPy3k;
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
@@ -25,6 +23,11 @@ buildPythonPackage rec {
     })
   ];
 
+  # https://github.com/imageio/imageio-ffmpeg/issues/59
+  postPatch = ''
+    sed -i '/setup_requires=\["pip>19"\]/d' setup.py
+  '';
+
   checkPhase = ''
     runHook preCheck
 
diff --git a/nixpkgs/pkgs/development/python-modules/jarowinkler/default.nix b/nixpkgs/pkgs/development/python-modules/jarowinkler/default.nix
index 9748c4121f15..7265505fe13b 100644
--- a/nixpkgs/pkgs/development/python-modules/jarowinkler/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jarowinkler/default.nix
@@ -8,6 +8,7 @@
 , rapidfuzz-capi
 , scikit-build
 , setuptools
+, wheel
 , jarowinkler-cpp
 , hypothesis
 , pytestCheckHook
@@ -16,11 +17,10 @@
 buildPythonPackage rec {
   pname = "jarowinkler";
   version = "1.2.3";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
-  format = "pyproject";
-
   src = fetchFromGitHub {
     owner = "maxbachmann";
     repo = "JaroWinkler";
@@ -28,6 +28,14 @@ buildPythonPackage rec {
     hash = "sha256-j+ZabVsiVitNkTPhGjDg72XogjvPaL453lTW45ITm90=";
   };
 
+  # We cannot use Cython version 3.0.0 because the code in jarowinkler has not
+  # been adapted for https://github.com/cython/cython/issues/4280 yet
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'scikit-build==' 'scikit-build>=' \
+      --replace 'Cython==3.0.0a11' 'Cython'
+  '';
+
   nativeBuildInputs = [
     cmake
     cython
@@ -35,6 +43,7 @@ buildPythonPackage rec {
     rapidfuzz-capi
     scikit-build
     setuptools
+    wheel
   ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/json-schema-for-humans/default.nix b/nixpkgs/pkgs/development/python-modules/json-schema-for-humans/default.nix
index 40a6fed91682..972455056d37 100644
--- a/nixpkgs/pkgs/development/python-modules/json-schema-for-humans/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/json-schema-for-humans/default.nix
@@ -30,11 +30,6 @@ buildPythonPackage rec {
     hash = "sha256-9dX9+YwJdJpgU3cZkxk7+CgdRFgcVhrvU0amO8zHZhs=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'pytz = "^2021.1"' 'pytz = "*"'
-  '';
-
   nativeBuildInputs = [
     poetry-core
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/jupytext/default.nix b/nixpkgs/pkgs/development/python-modules/jupytext/default.nix
index d2111b1aecef..030035f744cf 100644
--- a/nixpkgs/pkgs/development/python-modules/jupytext/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupytext/default.nix
@@ -14,7 +14,9 @@
 , pytestCheckHook
 , pythonOlder
 , pyyaml
+, setuptools
 , toml
+, wheel
 }:
 
 buildPythonPackage rec {
@@ -31,9 +33,23 @@ buildPythonPackage rec {
     hash = "sha256-M4BoST18sf1C1lwhFkp4a0B3fc0VKerwuVEIfwkD7i0=";
   };
 
-  buildInputs = [
+  # Follow https://github.com/mwouts/jupytext/pull/1119 to see if the patch
+  # relaxing jupyter_packaging version can be cleaned up.
+  #
+  # Follow https://github.com/mwouts/jupytext/pull/1077 to see when the patch
+  # relaxing jupyterlab version can be cleaned up.
+  #
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'jupyter_packaging~=' 'jupyter_packaging>=' \
+      --replace 'jupyterlab>=3,<=4' 'jupyterlab>=3'
+  '';
+
+  nativeBuildInputs = [
     jupyter-packaging
     jupyterlab
+    setuptools
+    wheel
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/kombu/default.nix b/nixpkgs/pkgs/development/python-modules/kombu/default.nix
index f7c9ce32bb8d..cdccecf72b09 100644
--- a/nixpkgs/pkgs/development/python-modules/kombu/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/kombu/default.nix
@@ -2,17 +2,27 @@
 , amqp
 , azure-identity
 , azure-servicebus
+, azure-storage-queue
 , backports-zoneinfo
+, boto3
 , buildPythonPackage
 , case
+, confluent-kafka
 , fetchPypi
 , hypothesis
-, pyro4
+, kazoo
+, msgpack
+, pycurl
+, pymongo
+  #, pyro4
 , pytestCheckHook
 , pythonOlder
-, pytz
-, vine
+, pyyaml
+, redis
+, sqlalchemy
 , typing-extensions
+, urllib3
+, vine
 }:
 
 buildPythonPackage rec {
@@ -36,24 +46,65 @@ buildPythonPackage rec {
     backports-zoneinfo
   ];
 
+  passthru.optional-dependencies = {
+    msgpack = [
+      msgpack
+    ];
+    yaml = [
+      pyyaml
+    ];
+    redis = [
+      redis
+    ];
+    mongodb = [
+      pymongo
+    ];
+    sqs = [
+      boto3
+      urllib3
+      pycurl
+    ];
+    zookeeper = [
+      kazoo
+    ];
+    sqlalchemy = [
+      sqlalchemy
+    ];
+    azurestoragequeues = [
+      azure-identity
+      azure-storage-queue
+    ];
+    azureservicebus = [
+      azure-servicebus
+    ];
+    confluentkafka = [
+      confluent-kafka
+    ];
+    # pyro4 doesn't suppport Python 3.11
+    #pyro = [
+    #  pyro4
+    #];
+  };
+
   nativeCheckInputs = [
-    azure-identity
-    azure-servicebus
     case
     hypothesis
-    pyro4
     pytestCheckHook
-    pytz
-  ];
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
 
   pythonImportsCheck = [
     "kombu"
   ];
 
+  disabledTests = [
+    # Disable pyro4 test
+    "test_driver_version"
+  ];
+
   meta = with lib; {
-    changelog = "https://github.com/celery/kombu/releases/tag/v${version}";
     description = "Messaging library for Python";
     homepage = "https://github.com/celery/kombu";
+    changelog = "https://github.com/celery/kombu/releases/tag/v${version}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/marshmallow/default.nix b/nixpkgs/pkgs/development/python-modules/marshmallow/default.nix
index 5fcaf478f186..bbe9c9bf157d 100644
--- a/nixpkgs/pkgs/development/python-modules/marshmallow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/marshmallow/default.nix
@@ -10,16 +10,16 @@
 
 buildPythonPackage rec {
   pname = "marshmallow";
-  version = "3.19.0";
+  version = "3.20.1";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "marshmallow-code";
     repo = pname;
-    rev = version;
-    hash = "sha256-b1brLHM48t45bwUXk7QreLLmvTzU0sX7Uoc1ZAgGkrE=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-sPYiup7ontnubtBxv+rIT0up4IHPJNCUlH9J4FlHsss=";
   };
 
   propagatedBuildInputs = [
@@ -37,9 +37,9 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    changelog = "https://github.com/marshmallow-code/marshmallow/blob/${src.rev}/CHANGELOG.rst";
     description = "Library for converting complex objects to and from simple Python datatypes";
     homepage = "https://github.com/marshmallow-code/marshmallow";
+    changelog = "https://github.com/marshmallow-code/marshmallow/blob/${version}/CHANGELOG.rst";
     license = licenses.mit;
     maintainers = with maintainers; [ cript0nauta ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/mdformat-beautysh/default.nix b/nixpkgs/pkgs/development/python-modules/mdformat-beautysh/default.nix
index 522494f783fe..a117fea936eb 100644
--- a/nixpkgs/pkgs/development/python-modules/mdformat-beautysh/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mdformat-beautysh/default.nix
@@ -6,6 +6,7 @@
 , mdformat-gfm
 , mdit-py-plugins
 , poetry-core
+, pytestCheckHook
 , pythonOlder
 }:
 
@@ -37,6 +38,14 @@ buildPythonPackage rec {
     beautysh
   ];
 
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "mdformat_beautysh"
+  ];
+
   meta = with lib; {
     description = "Mdformat plugin to beautify Bash scripts";
     homepage = "https://github.com/hukkin/mdformat-beautysh";
diff --git a/nixpkgs/pkgs/development/python-modules/meshtastic/default.nix b/nixpkgs/pkgs/development/python-modules/meshtastic/default.nix
index 9411838540b3..00552394c8bb 100644
--- a/nixpkgs/pkgs/development/python-modules/meshtastic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/meshtastic/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "meshtastic";
-  version = "2.2.0";
+  version = "2.2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "meshtastic";
     repo = "Meshtastic-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-6oxKaMFXZTrz7gZpSAtXI5Jit7z5NWQgUkd1yB3EtA8=";
+    hash = "sha256-szeY3+84xAihGK9nLgMQf9oLRDlKlaPg6+I42TJkfVY=";
   };
 
   propagatedBuildInputs = [
@@ -110,6 +110,7 @@ buildPythonPackage rec {
     "test_MeshInterface"
     "test_getNode_not_local"
     "test_getNode_not_local_timeout"
+    "test_main_onConnected_exception"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/minichain/default.nix b/nixpkgs/pkgs/development/python-modules/minichain/default.nix
new file mode 100644
index 000000000000..1e69fbb1f25b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/minichain/default.nix
@@ -0,0 +1,73 @@
+{ buildPythonPackage
+, eliot
+, fetchPypi
+, google-search-results
+, jinja2
+, lib
+, manifest-ml
+, openai
+, pytestCheckHook
+, pythonAtLeast
+, pythonRelaxDepsHook
+}:
+
+buildPythonPackage rec {
+  pname = "minichain";
+  version = "0.3.3";
+  format = "setuptools";
+
+  # See https://github.com/NixOS/nixpkgs/pull/248195#issuecomment-1687398702.
+  disabled = pythonAtLeast "3.11";
+
+  # See https://github.com/srush/MiniChain/issues/23 and https://github.com/NixOS/nixpkgs/issues/248185 as to why we
+  # don't fetchFromGitHub.
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-+mju1Mz/aojROpiOVzv6WoRNTrhgCub4yyYLEWcHWh0=";
+  };
+
+  # See https://github.com/srush/MiniChain/issues/24.
+  postPatch = ''
+    substituteInPlace ./minichain/__init__.py --replace "from .gradio import GradioConf, show" ""
+  '';
+
+  nativeBuildInputs = [ pythonRelaxDepsHook ];
+
+  pythonRemoveDeps = [
+    # Only used in the examples:
+    "datasets"
+    "faiss-cpu"
+    "jinja2-highlight"
+    "trio"
+
+    # Not used anywhere:
+    "eliot-tree"
+
+    # Not yet packaged in nixpkgs:
+    "gradio"
+  ];
+
+  # Some of these could be made optional. Certain packages are used by certain backends.
+  propagatedBuildInputs = [
+    eliot
+    google-search-results
+    jinja2
+    manifest-ml
+    openai
+  ];
+
+  # As of 0.3.3, the PyPI distribution does not include any tests.
+  doCheck = false;
+
+  pythonImportsCheck = [ "minichain" ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  meta = with lib; {
+    description = "A tiny library for coding with large language models";
+    homepage = "https://srush-minichain.hf.space";
+    changelog = "https://github.com/srush/MiniChain/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ samuela ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/mitmproxy/default.nix b/nixpkgs/pkgs/development/python-modules/mitmproxy/default.nix
index a99e31d0c1ff..ece5106a75e2 100644
--- a/nixpkgs/pkgs/development/python-modules/mitmproxy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mitmproxy/default.nix
@@ -96,6 +96,8 @@ buildPythonPackage rec {
     sed 's/>=\([0-9]\.\?\)\+\( \?, \?<\([0-9]\.\?\)\+\)\?\( \?, \?!=\([0-9]\.\?\)\+\)\?//' -i setup.py
   '';
 
+  __darwinAllowLocalNetworking = true;
+
   preCheck = ''
     export HOME=$(mktemp -d)
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/molecule/default.nix b/nixpkgs/pkgs/development/python-modules/molecule/default.nix
new file mode 100644
index 000000000000..c12dc3a92f35
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/molecule/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, ansible-compat
+, ansible-core
+, click-help-colors
+, cookiecutter
+, enrich
+, jsonschema
+, withPlugins ? true, molecule-plugins
+, packaging
+, pluggy
+, rich
+, setuptools
+, yamllint
+}:
+
+buildPythonPackage rec {
+  pname = "molecule";
+  version = "5.1.0";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-+nr4n9+TF1OcPsqZyx5edSLXpX4LZ/W2mORCdvmNnYI=";
+  };
+
+  propagatedBuildInputs = [
+    ansible-compat
+    ansible-core
+    click-help-colors
+    cookiecutter
+    enrich
+    jsonschema
+    packaging
+    pluggy
+    rich
+    yamllint
+  ] ++ lib.optional withPlugins molecule-plugins;
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  pythonImportsCheck = [ "molecule" ];
+
+  # tests can't be easily run without installing things from ansible-galaxy
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Molecule aids in the development and testing of Ansible roles";
+    homepage = "https://github.com/ansible-community/molecule";
+    maintainers = with maintainers; [ dawidd6 ];
+    license = licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/molecule/plugins.nix b/nixpkgs/pkgs/development/python-modules/molecule/plugins.nix
new file mode 100644
index 000000000000..9cb8a635c31e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/molecule/plugins.nix
@@ -0,0 +1,50 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonRelaxDepsHook
+, setuptools-scm
+, python-vagrant
+, docker
+}:
+
+buildPythonPackage rec {
+  pname = "molecule-plugins";
+  version = "23.4.1";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-NMR+4sEcNbowyoTqaEwe4Wac9+WNIZesnb/L9C0KG3s=";
+  };
+
+  # reverse the dependency
+  pythonRemoveDeps = [
+    "molecule"
+  ];
+
+  nativeBuildInputs = [
+    pythonRelaxDepsHook
+    setuptools-scm
+  ];
+
+  passthru.optional-dependencies = {
+    docker = [
+      docker
+    ];
+    vagrant = [
+      python-vagrant
+    ];
+  };
+
+  pythonImportsCheck = [ "molecule_plugins" ];
+
+  # Tests require container runtimes
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Collection on molecule plugins";
+    homepage = "https://github.com/ansible-community/molecule-plugins";
+    maintainers = with maintainers; [ dawidd6 ];
+    license = licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/mscerts/default.nix b/nixpkgs/pkgs/development/python-modules/mscerts/default.nix
index 095d8dad3c55..bdf4fd1fd454 100644
--- a/nixpkgs/pkgs/development/python-modules/mscerts/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mscerts/default.nix
@@ -6,7 +6,7 @@
 
 buildPythonPackage rec {
   pname = "mscerts";
-  version = "2023.4.26";
+  version = "2023.8.23";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "ralphje";
     repo = "mscerts";
     rev = "refs/tags/${version}";
-    hash = "sha256-7aiSFMZsUtuSqXQ1jJ3OhyBhzAH70ZX5+NqOtrpRmmw=";
+    hash = "sha256-Oc02yi7N2W/DekmTxdYllN6UBD1phbVdSBN2dcPo1oI=";
   };
 
   # extras_require contains signify -> circular dependency
diff --git a/nixpkgs/pkgs/development/python-modules/mypy-protobuf/default.nix b/nixpkgs/pkgs/development/python-modules/mypy-protobuf/default.nix
index be04a270bb4a..0010e40800ec 100644
--- a/nixpkgs/pkgs/development/python-modules/mypy-protobuf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mypy-protobuf/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "mypy-protobuf";
-  version = "3.4.0";
+  version = "3.5.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-fXWgeWUbEFB2d2o1pUBeP6dzuKFnEY8bcS5EPppsGKI=";
+    hash = "sha256-IfJw2gqXkqnax2sN9GPAJ+VhZkq2lzxZvk5NBk3+Z9w=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/notmuch2/default.nix b/nixpkgs/pkgs/development/python-modules/notmuch2/default.nix
index af288e2a1393..b8ed00ca2579 100644
--- a/nixpkgs/pkgs/development/python-modules/notmuch2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/notmuch2/default.nix
@@ -20,9 +20,16 @@ buildPythonPackage {
   ];
 
   # since notmuch 0.35, this package expects _notmuch_config.py that is
-  # generated by notmuch's configure script
+  # generated by notmuch's configure script. We write one which references our
+  # built libraries.
   postPatch = ''
-    cp ${notmuch.bindingconfig}/_notmuch_config.py .
+    cat > _notmuch_config.py << EOF
+    import os
+    dir_path = os.path.dirname(os.path.realpath(__file__))
+    NOTMUCH_VERSION_FILE=os.path.join(dir_path, '../../version.txt')
+    NOTMUCH_INCLUDE_DIR='${notmuch.out}/lib'
+    NOTMUCH_LIB_DIR='${notmuch.out}/lib'
+    EOF
   '';
 
   # no tests
@@ -30,7 +37,6 @@ buildPythonPackage {
   pythonImportsCheck = [ "notmuch2" ];
 
   meta = with lib; {
-    broken = stdenv.isDarwin;
     description = "Pythonic bindings for the notmuch mail database using CFFI";
     homepage = "https://notmuchmail.org/";
     license = licenses.gpl3;
diff --git a/nixpkgs/pkgs/development/python-modules/numba/cuda_path.patch b/nixpkgs/pkgs/development/python-modules/numba/cuda_path.patch
index 1ad472ec424f..73f38e283d8c 100644
--- a/nixpkgs/pkgs/development/python-modules/numba/cuda_path.patch
+++ b/nixpkgs/pkgs/development/python-modules/numba/cuda_path.patch
@@ -1,12 +1,13 @@
 diff --git a/numba/cuda/cuda_paths.py b/numba/cuda/cuda_paths.py
-index 0da435d33..7b1fde087 100644
+index d195bbc29..0699b365b 100644
 --- a/numba/cuda/cuda_paths.py
 +++ b/numba/cuda/cuda_paths.py
-@@ -24,10 +24,7 @@ def _find_valid_path(options):
+@@ -24,11 +24,7 @@ def _find_valid_path(options):
  
  def _get_libdevice_path_decision():
      options = [
 -        ('Conda environment', get_conda_ctk()),
+-        ('Conda environment (NVIDIA package)', get_nvidia_libdevice_ctk()),
 -        ('CUDA_HOME', get_cuda_home('nvvm', 'libdevice')),
 -        ('System', get_system_ctk('nvvm', 'libdevice')),
 -        ('Debian package', get_debian_pkg_libdevice()),
@@ -14,7 +15,7 @@ index 0da435d33..7b1fde087 100644
      ]
      by, libdir = _find_valid_path(options)
      return by, libdir
-@@ -35,16 +32,14 @@ def _get_libdevice_path_decision():
+@@ -36,17 +32,14 @@ def _get_libdevice_path_decision():
  
  def _nvvm_lib_dir():
      if IS_WIN32:
@@ -28,13 +29,14 @@ index 0da435d33..7b1fde087 100644
  def _get_nvvm_path_decision():
      options = [
 -        ('Conda environment', get_conda_ctk()),
+-        ('Conda environment (NVIDIA package)', get_nvidia_nvvm_ctk()),
 -        ('CUDA_HOME', get_cuda_home(*_nvvm_lib_dir())),
 -        ('System', get_system_ctk(*_nvvm_lib_dir())),
 +        ('Nix store', get_nix_ctk(*_nvvm_lib_dir())),
      ]
      by, path = _find_valid_path(options)
      return by, path
-@@ -64,14 +59,12 @@ def _cudalib_path():
+@@ -66,7 +59,7 @@ def _cudalib_path():
      if IS_WIN32:
          return 'bin'
      else:
@@ -42,19 +44,25 @@ index 0da435d33..7b1fde087 100644
 +        return 'lib'
  
  
+ def _cuda_home_static_cudalib_path():
+@@ -78,10 +71,7 @@ def _cuda_home_static_cudalib_path():
+ 
  def _get_cudalib_dir_path_decision():
      options = [
 -        ('Conda environment', get_conda_ctk()),
+-        ('Conda environment (NVIDIA package)', get_nvidia_cudalib_ctk()),
 -        ('CUDA_HOME', get_cuda_home(_cudalib_path())),
 -        ('System', get_system_ctk(_cudalib_path())),
 +        ('Nix store', get_nix_lib_ctk(_cudalib_path())),
      ]
      by, libdir = _find_valid_path(options)
      return by, libdir
-@@ -82,6 +75,22 @@ def _get_cudalib_dir():
-     return _env_path_tuple(by, libdir)
- 
- 
+@@ -239,3 +229,19 @@ def get_debian_pkg_libdevice():
+     if not os.path.exists(pkg_libdevice_location):
+         return None
+     return pkg_libdevice_location
++
++
 +def get_nix_ctk(*subdirs):
 +    """Return path to nix store cudatoolkit; or, None if it doesn't exist.
 +    """
@@ -69,8 +77,3 @@ index 0da435d33..7b1fde087 100644
 +    base = '@cuda_toolkit_lib_path@'
 +    if os.path.exists(base):
 +        return os.path.join(base, *subdirs)
-+
-+
- def get_system_ctk(*subdirs):
-     """Return path to system-wide cudatoolkit; or, None if it doesn't exist.
-     """
diff --git a/nixpkgs/pkgs/development/python-modules/odp-amsterdam/default.nix b/nixpkgs/pkgs/development/python-modules/odp-amsterdam/default.nix
index 76cf0b0ef1e5..150943994c8b 100644
--- a/nixpkgs/pkgs/development/python-modules/odp-amsterdam/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/odp-amsterdam/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "odp-amsterdam";
-  version = "5.2.0";
+  version = "5.3.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "klaasnicolaas";
     repo = "python-odp-amsterdam";
     rev = "refs/tags/v${version}";
-    hash = "sha256-iJjwxvlxzRpKy2P0A3mS2i05bues5YasP72HuZiuFyE=";
+    hash = "sha256-HesAg6hJ8Al/ZZRBTXZM0EVv1kjYmmA66W+crwtWhf4=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/openai/default.nix b/nixpkgs/pkgs/development/python-modules/openai/default.nix
index 2865da5cd7aa..87e16ac90ac0 100644
--- a/nixpkgs/pkgs/development/python-modules/openai/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openai/default.nix
@@ -23,7 +23,7 @@
 
 buildPythonPackage rec {
   pname = "openai";
-  version = "0.27.8";
+  version = "0.27.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.7.1";
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     owner = "openai";
     repo = "openai-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-7D7oi3NCqq0QSW66MqYMmc9ga02T5G4xFVic4PjgFRA=";
+    hash = "sha256-vp85M9VZvbY4saG88WcR3Qw8z+A9nU1Oi3sf9yitsV4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/openapi-core/default.nix b/nixpkgs/pkgs/development/python-modules/openapi-core/default.nix
index e0e92178e4bd..b9593b0e13c1 100644
--- a/nixpkgs/pkgs/development/python-modules/openapi-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openapi-core/default.nix
@@ -82,6 +82,8 @@ buildPythonPackage rec {
     ];
   };
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     pytest-aiohttp
     pytestCheckHook
diff --git a/nixpkgs/pkgs/development/python-modules/opentsne/default.nix b/nixpkgs/pkgs/development/python-modules/opentsne/default.nix
new file mode 100644
index 000000000000..beab3b0d5e6d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/opentsne/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, cython
+, numpy
+, scipy
+, scikit-learn
+, pytestCheckHook
+, nix-update-script
+, setuptools
+}:
+
+let
+  self = buildPythonPackage rec {
+    pname = "opentsne";
+    version = "1.0.0";
+    format = "pyproject";
+
+    src = fetchFromGitHub {
+      owner = "pavlin-policar";
+      repo = "openTSNE";
+      rev = "v${version}";
+      hash = "sha256-L5Qx6dMJlXF3EaWwlFTQ3dkhGXc5PvQBXYJo+QO+Hxc=";
+    };
+
+    propagatedBuildInputs = [ numpy scipy scikit-learn ];
+    nativeBuildInputs = [ cython setuptools ];
+
+    pythonImportsCheck = [ "openTSNE" ];
+    doCheck = false;
+
+    passthru = {
+      updateScript = nix-update-script {};
+      tests.pytest = self.overridePythonAttrs (old: {
+        pname = "${old.pname}-tests";
+        format = "other";
+
+        postPatch = "rm openTSNE -rf";
+
+        doBuild = false;
+        doInstall = false;
+
+        doCheck = true;
+        nativeCheckInputs = [ pytestCheckHook self ];
+      });
+    };
+
+    meta = {
+      description = "Modular Python implementation of t-Distributed Stochasitc Neighbor Embedding";
+      homepage = "https://github.com/pavlin-policar/openTSNE";
+      changelog = "https://github.com/pavlin-policar/openTSNE/releases/tag/${version}";
+      license = [ lib.licenses.bsd3 ];
+      maintainers = [ lib.maintainers.lucasew ];
+    };
+  };
+in self
diff --git a/nixpkgs/pkgs/development/python-modules/orange-canvas-core/default.nix b/nixpkgs/pkgs/development/python-modules/orange-canvas-core/default.nix
new file mode 100644
index 000000000000..2673151654a3
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/orange-canvas-core/default.nix
@@ -0,0 +1,64 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, anyqt
+, cachecontrol
+, commonmark
+, dictdiffer
+, docutils
+, filelock
+, lockfile
+, pytest-qt
+, pytestCheckHook
+, python
+, qasync
+, qt5
+, writeShellScript
+, xvfb-run
+}:
+
+buildPythonPackage rec {
+  pname = "orange-canvas-core";
+  version = "0.1.31";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-kqh/c0pEWFLqf1BMD79li1MqLpH/4xrdTH9+/7YO/tg=";
+  };
+
+  propagatedBuildInputs = [
+    anyqt
+    cachecontrol
+    commonmark
+    dictdiffer
+    docutils
+    filelock
+    lockfile
+    qasync
+  ];
+
+  pythonImportsCheck = [ "orangecanvas" ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+    export QT_PLUGIN_PATH="${qt5.qtbase.bin}/${qt5.qtbase.qtPluginPrefix}"
+    export QT_QPA_PLATFORM_PLUGIN_PATH="${qt5.qtbase.bin}/lib/qt-${qt5.qtbase.version}/plugins";
+    export QT_QPA_PLATFORM=offscreen
+  '';
+
+  nativeCheckInputs = [
+    pytest-qt
+    pytestCheckHook
+  ];
+
+  disabledTestPaths = [
+    "orangecanvas/canvas/items/tests/test_graphicstextitem.py"
+  ];
+
+  meta = {
+    description = "Orange framework for building graphical user interfaces for editing workflows";
+    homepage = "https://github.com/biolab/orange-canvas-core";
+    license = [ lib.licenses.gpl3 ];
+    maintainers = [ lib.maintainers.lucasew ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/orange-widget-base/default.nix b/nixpkgs/pkgs/development/python-modules/orange-widget-base/default.nix
new file mode 100644
index 000000000000..ee556ab39f77
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/orange-widget-base/default.nix
@@ -0,0 +1,62 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchPypi
+, pyqt5
+, pyqtwebengine
+, matplotlib
+, orange-canvas-core
+, pyqtgraph
+, typing-extensions
+, qt5
+, pytestCheckHook
+, pytest-qt
+, appnope
+}:
+
+buildPythonPackage rec {
+  pname = "orange-widget-base";
+  version = "4.21.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-43JeEdgEb6WS7PySW1x08fn02yl9Q/HwwKo6ojaqiH0=";
+  };
+
+  propagatedBuildInputs = [
+    matplotlib
+    orange-canvas-core
+    pyqt5
+    pyqtgraph
+    pyqtwebengine
+    typing-extensions
+  ] ++ lib.optionals stdenv.isDarwin [
+    appnope
+  ];
+
+  pythonImportsCheck = [ "orangewidget" ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+    export QT_PLUGIN_PATH="${qt5.qtbase.bin}/${qt5.qtbase.qtPluginPrefix}"
+    export QT_QPA_PLATFORM_PLUGIN_PATH="${qt5.qtbase.bin}/lib/qt-${qt5.qtbase.version}/plugins";
+    export QT_QPA_PLATFORM=offscreen
+  '';
+
+  nativeCheckInputs = [
+    pytest-qt
+    pytestCheckHook
+  ];
+
+  disabledTestPaths = [
+    "orangewidget/report/tests/test_report.py"
+    "orangewidget/tests/test_widget.py"
+  ];
+
+  meta = {
+    description = "Implementation of the base OWBaseWidget class and utilities for use in Orange Canvas workflows";
+    homepage = "https://github.com/biolab/orange-widget-base";
+    license = [ lib.licenses.gpl3Plus ];
+    maintainers = [ lib.maintainers.lucasew ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/orange3/default.nix b/nixpkgs/pkgs/development/python-modules/orange3/default.nix
new file mode 100644
index 000000000000..6c857cc07acd
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/orange3/default.nix
@@ -0,0 +1,164 @@
+{ lib
+, buildPythonPackage
+, copyDesktopItems
+, fetchurl
+, makeDesktopItem
+, fetchFromGitHub
+, nix-update-script
+, python
+, baycomp
+, bottleneck
+, chardet
+, cython
+, httpx
+, joblib
+, keyring
+, keyrings-alt
+, matplotlib
+, numpy
+, openpyxl
+, opentsne
+, orange-canvas-core
+, orange-widget-base
+, pandas
+, pyqtgraph
+, pyqtwebengine
+, python-louvain
+, pyyaml
+, qt5
+, qtconsole
+, requests
+, scikit-learn
+, scipy
+, sphinx
+, serverfiles
+, xlrd
+, xlsxwriter
+}:
+
+let
+self = buildPythonPackage rec {
+    pname = "orange3";
+    version = "3.35.0";
+    format = "pyproject";
+
+    src = fetchFromGitHub {
+      owner = "biolab";
+      repo = "orange3";
+      rev = "refs/tags/${version}";
+      hash = "sha256-dj/Z4uOjA4nidd45dnHZDyHZP6Fy/MGC8asqOPV7U7A=";
+    };
+
+    postPatch = ''
+      sed -i 's;\(scikit-learn\)[^$]*;\1;g' requirements-core.txt
+      sed -i 's;pyqtgraph[^$]*;;g' requirements-gui.txt # TODO: remove after bump with a version greater than 0.13.1
+    '';
+
+    nativeBuildInputs = [
+      copyDesktopItems
+      cython
+      qt5.wrapQtAppsHook
+      sphinx
+    ];
+
+    enableParallelBuilding = true;
+
+    propagatedBuildInputs = [
+      numpy
+      scipy
+      chardet
+      openpyxl
+      opentsne
+      qtconsole
+      bottleneck
+      matplotlib
+      joblib
+      requests
+      keyring
+      scikit-learn
+      pandas
+      pyqtwebengine
+      serverfiles
+      orange-canvas-core
+      python-louvain
+      xlrd
+      xlsxwriter
+      httpx
+      pyqtgraph
+      orange-widget-base
+      keyrings-alt
+      pyyaml
+      baycomp
+    ];
+
+    # FIXME: ImportError: cannot import name '_variable' from partially initialized module 'Orange.data' (most likely due to a circular import) (/build/source/Orange/data/__init__.py)
+    doCheck = false;
+
+    pythonImportsCheck = [ "Orange" "Orange.data._variable" ];
+
+    desktopItems = [
+      (makeDesktopItem {
+        name = "orange";
+        exec = "orange-canvas";
+        desktopName = "Orange Data Mining";
+        genericName = "Data Mining Suite";
+        comment = "Explore, analyze, and visualize your data";
+        icon = "orange-canvas";
+        mimeTypes = [ "application/x-extension-ows" ];
+        categories = [ "Science" "Education" "ArtificialIntelligence" "DataVisualization" "NumericalAnalysis" "Qt" ];
+        keywords = [ "Machine Learning" "Scientific Visualization" "Statistical Analysis" ];
+      })
+    ];
+
+    postInstall = ''
+      wrapProgram $out/bin/orange-canvas \
+        "${"$"}{qtWrapperArgs[@]}"
+      mkdir -p $out/share/icons/hicolor/{256x256,48x48}/apps
+      cp distribute/icon-256.png $out/share/icons/hicolor/256x256/apps/orange-canvas.png
+      cp distribute/icon-48.png $out/share/icons/hicolor/48x48/apps/orange-canvas.png
+    '';
+
+    passthru = {
+      updateScript = nix-update-script { };
+      tests.unittests = self.overridePythonAttrs (old: {
+        pname = "${old.pname}-tests";
+        format = "other";
+
+        preCheck = ''
+          export HOME=$(mktemp -d)
+          export QT_PLUGIN_PATH="${qt5.qtbase.bin}/${qt5.qtbase.qtPluginPrefix}"
+          export QT_QPA_PLATFORM_PLUGIN_PATH="${qt5.qtbase.bin}/lib/qt-${qt5.qtbase.version}/plugins";
+          export QT_QPA_PLATFORM=offscreen
+
+          rm Orange -rf
+          cp -r ${self}/${python.sitePackages}/Orange .
+          chmod +w -R .
+
+          rm Orange/tests/test_url_reader.py # uses network
+          rm Orange/tests/test_ada_boost.py # broken: The 'base_estimator' parameter of AdaBoostRegressor must be an object implementing 'fit' and 'predict' or a str among {'deprecated'}. Got None instead.
+        '';
+
+        checkPhase = ''
+          runHook preCheck
+          ${python.interpreter} -m unittest -b -v ./Orange/**/test*.py
+          runHook postCheck
+        '';
+
+        postInstall = "";
+
+        doBuild = false;
+        doInstall = false;
+
+        nativeBuildInputs = [ self ] ++ old.nativeBuildInputs;
+      });
+    };
+
+    meta = {
+      mainProgram = "orange-canvas";
+      description = "Data mining and visualization toolbox for novice and expert alike";
+      homepage = "https://orangedatamining.com/";
+      license = [ lib.licenses.gpl3Plus ];
+      maintainers = [ lib.maintainers.lucasew ];
+    };
+  };
+in self
diff --git a/nixpkgs/pkgs/development/python-modules/pdf2docx/default.nix b/nixpkgs/pkgs/development/python-modules/pdf2docx/default.nix
new file mode 100644
index 000000000000..fc9987d3e903
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pdf2docx/default.nix
@@ -0,0 +1,70 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, python
+, buildPythonPackage
+, pythonRelaxDepsHook
+, imagemagick
+, pytestCheckHook
+, pymupdf
+, fire
+, fonttools
+, numpy
+, opencv4
+, tkinter
+, python-docx
+}:
+let
+  version = "0.5.6";
+in
+buildPythonPackage {
+  pname = "pdf2docx";
+  inherit version;
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "dothinking";
+    repo = "pdf2docx";
+    rev = "v${version}";
+    hash = "sha256-NrT4GURQIJbqnHstfJrPzwLXT9c2oGBi4QJ6eGIFwu4=";
+  };
+
+  nativeBuildInputs = [ pythonRelaxDepsHook imagemagick ];
+  pythonRemoveDeps = [ "opencv-python" ];
+
+  preBuild = "echo '${version}' > version.txt";
+
+  propagatedBuildInputs = [
+    tkinter
+    pymupdf
+    fire
+    fonttools
+    numpy
+    opencv4
+    python-docx
+  ];
+
+  postInstall = lib.optionalString stdenv.isLinux ''
+    # on linux the icon file can only be xbm format
+    convert $out/${python.sitePackages}/pdf2docx/gui/icon.ico \
+      $out/${python.sitePackages}/pdf2docx/gui/icon.xbm
+    substituteInPlace $out/${python.sitePackages}/pdf2docx/gui/App.py \
+      --replace 'icon.ico' 'icon.xbm' \
+      --replace 'iconbitmap(icon_path)' "iconbitmap(f'@{icon_path}')"
+  '';
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  pytestFlagsArray = [ "-v" "./test/test.py::TestConversion" ];
+
+  # Test fails due to "RuntimeError: cannot find builtin font with name 'Arial'":
+  disabledTests = [ "test_unnamed_fonts" ];
+
+  meta = with lib; {
+    description = "Convert PDF to DOCX";
+    homepage = "https://github.com/dothinking/pdf2docx";
+    changelog = "https://github.com/dothinking/pdf2docx/releases/tag/v${version}";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ happysalada ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pex/default.nix b/nixpkgs/pkgs/development/python-modules/pex/default.nix
index ad8de4b2d138..56d36ebdda56 100644
--- a/nixpkgs/pkgs/development/python-modules/pex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pex/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pex";
-  version = "2.1.142";
+  version = "2.1.143";
   format = "flit";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+2WJEOL+rtdl9dZmXqkaRRuj7TzDZn93tyZXxPWRaBM=";
+    hash = "sha256-xyYD9oGrlK1kswQ7uiO3/gAJUnelvWv7ZHyzn/g5iCg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/plexapi/default.nix b/nixpkgs/pkgs/development/python-modules/plexapi/default.nix
index bdcfb2f4eba7..f858a77704fc 100644
--- a/nixpkgs/pkgs/development/python-modules/plexapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plexapi/default.nix
@@ -9,16 +9,16 @@
 
 buildPythonPackage rec {
   pname = "plexapi";
-  version = "4.14.0";
+  version = "4.15.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "pkkid";
     repo = "python-plexapi";
     rev = "refs/tags/${version}";
-    hash = "sha256-wSM8YCKRvwEs7fEjUjOp52PdF2Y1kxnX/Xpf0KdXR2k=";
+    hash = "sha256-JIfMHDMX7N9wr9BTiTh/jsnPLDS3w8Pyp7wS014PyQ0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pontos/default.nix b/nixpkgs/pkgs/development/python-modules/pontos/default.nix
index 33cfcb416cef..080ba047ad82 100644
--- a/nixpkgs/pkgs/development/python-modules/pontos/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pontos/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "pontos";
-  version = "23.8.2";
+  version = "23.8.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "greenbone";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-gcxhSVrOeUUHIQTIR3klaiF64H4wofgLB+PV47TYfiw=";
+    hash = "sha256-mWnQIQEG1kTytAarhdNf2AI2Sq4TSfNtCN3riklNAeQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/protonvpn-nm-lib/default.nix b/nixpkgs/pkgs/development/python-modules/protonvpn-nm-lib/default.nix
index 884decc2faca..dee0b8cc6a85 100644
--- a/nixpkgs/pkgs/development/python-modules/protonvpn-nm-lib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/protonvpn-nm-lib/default.nix
@@ -21,14 +21,14 @@
 
 buildPythonPackage rec {
   pname = "protonvpn-nm-lib";
-  version = "3.14.0";
+  version = "3.16.0";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "ProtonVPN";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-xpK3l8BI6/DUt46VR8DS89hzdHUljAbrYhEyf00giGg=";
+    hash = "sha256-n3jfBHMYqyQZgvFFJcylNbTWZ3teuqhdelTfpNrwWuA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pulumi/default.nix b/nixpkgs/pkgs/development/python-modules/pulumi/default.nix
index 11d1721fdc97..bc0507055f02 100644
--- a/nixpkgs/pkgs/development/python-modules/pulumi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pulumi/default.nix
@@ -7,6 +7,7 @@
 , pulumi
 , isPy27
 , semver
+, pip
 , pytestCheckHook
 , pyyaml
 , six
@@ -28,6 +29,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
+    pip
     pulumi.pkgs.pulumi-language-python
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pvlib/default.nix b/nixpkgs/pkgs/development/python-modules/pvlib/default.nix
index 8f7c58a3dfdf..46b1c99b0d06 100644
--- a/nixpkgs/pkgs/development/python-modules/pvlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pvlib/default.nix
@@ -15,6 +15,8 @@
 , requests-mock
 , scipy
 , setuptools
+, setuptools-scm
+, wheel
 }:
 
 buildPythonPackage rec {
@@ -31,6 +33,8 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     setuptools
+    setuptools-scm
+    wheel
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/py17track/default.nix b/nixpkgs/pkgs/development/python-modules/py17track/default.nix
index 6541a1abaf1a..6294b6b1c066 100644
--- a/nixpkgs/pkgs/development/python-modules/py17track/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/py17track/default.nix
@@ -1,10 +1,10 @@
 { lib
 , aiohttp
 , aresponses
-, async-timeout
 , attrs
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , poetry-core
 , pytest-asyncio
 , pytestCheckHook
@@ -26,29 +26,38 @@ buildPythonPackage rec {
     hash = "sha256-T0Jjdu6QC8rTqZwe4cdsBbs0hQXUY6CkrImCgYwWL9o=";
   };
 
+  patches = [
+    # This patch removes references to setuptools and wheel that are no longer
+    # necessary and changes poetry to poetry-core, so that we don't need to add
+    # unnecessary nativeBuildInputs.
+    #
+    #   https://github.com/bachya/py17track/pull/80
+    #
+    (fetchpatch {
+      name = "clean-up-build-dependencies.patch";
+      url = "https://github.com/bachya/py17track/commit/3b52394759aa50c62e2a56581e30cdb94003e2f1.patch";
+      hash = "sha256-iLgklhEZ61rrdzQoO6rp1HGZcqLsqGNitwIiPNLNHQ4=";
+    })
+  ];
+
   nativeBuildInputs = [
     poetry-core
   ];
 
   propagatedBuildInputs = [
     aiohttp
-    async-timeout
     attrs
     pytz
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     aresponses
     pytest-asyncio
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'attrs = ">=19.3,<21.0"' 'attrs = ">=19.3,<22.0"' \
-      --replace 'async-timeout = "^3.0.1"' 'async-timeout = ">=3.0.1,<5.0.0"'
-  '';
-
   disabledTestPaths = [
     # Ignore the examples directory as the files are prefixed with test_
     "examples/"
diff --git a/nixpkgs/pkgs/development/python-modules/pycocotools/default.nix b/nixpkgs/pkgs/development/python-modules/pycocotools/default.nix
index b2279b8e4ccc..6cba9e71a756 100644
--- a/nixpkgs/pkgs/development/python-modules/pycocotools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycocotools/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "pycocotools";
-  version = "2.0.6";
+  version = "2.0.7";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-f+CJsFzBjoBtzzvXZHCNhtq5IqEA83NOt3+3enCh0Yw=";
+    hash = "sha256-2ot4FRlu6/Ctq/Z/zEWRJsvGSYu8arH9FEw3FGXYaHk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pydeps/default.nix b/nixpkgs/pkgs/development/python-modules/pydeps/default.nix
index faa85f6f4a85..f84123163ccf 100644
--- a/nixpkgs/pkgs/development/python-modules/pydeps/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydeps/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pydeps";
-  version = "1.12.13";
+  version = "1.12.17";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "thebjorn";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-n4FmMqpCqxPmGJokfaxnruG9d5oodv6Yfg80Y1EIr34=";
+    hash = "sha256-DVSZeNuDz/y0jh/HimV+jFgNFevMhUKOu6EhZytMMqQ=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pydrive2/default.nix b/nixpkgs/pkgs/development/python-modules/pydrive2/default.nix
index 654d1887804e..ddeb72bfbdf9 100644
--- a/nixpkgs/pkgs/development/python-modules/pydrive2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydrive2/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pydrive2";
-  version = "1.16.1";
+  version = "1.17.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "PyDrive2";
     inherit version;
-    hash = "sha256-chBTXoNyiWpEcCxCQKop1GELAyWyX5TN0H1P7A/ScFM=";
+    hash = "sha256-aP6pNDR7thK3qEiBHUgUnbhAvPtfpNeothYbLSrf7HA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyduotecno/default.nix b/nixpkgs/pkgs/development/python-modules/pyduotecno/default.nix
new file mode 100644
index 000000000000..a8d7dbb16c5d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyduotecno/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, setuptools
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "pyduotecno";
+  version = "2023.8.3";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "Cereal2nd";
+    repo = "pyDuotecno";
+    rev = "refs/tags/${version}";
+    hash = "sha256-zqaW6iQe982BgxaxeeRFTJ/a2nySGoSW4sxKmNxbKQc=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "duotecno"
+  ];
+
+  meta = with lib; {
+    description = "Module to interact with Duotecno IP interfaces";
+    homepage = "https://github.com/Cereal2nd/pyDuotecno";
+    changelog = "https://github.com/Cereal2nd/pyDuotecno/releases/tag/${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyerfa/default.nix b/nixpkgs/pkgs/development/python-modules/pyerfa/default.nix
index 7f51f435ada9..4b9c5039f36a 100644
--- a/nixpkgs/pkgs/development/python-modules/pyerfa/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyerfa/default.nix
@@ -1,7 +1,10 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, jinja2
+, oldest-supported-numpy
 , setuptools-scm
+, wheel
 , liberfa
 , packaging
 , numpy
@@ -16,12 +19,15 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2fd4637ffe2c1e6ede7482c13f583ba7c73119d78bef90175448ce506a0ede30";
+    hash = "sha256-L9Rjf/4sHm7edILBP1g7p8cxGdeL75AXVEjOUGoO3jA=";
   };
 
   nativeBuildInputs = [
+    jinja2
+    oldest-supported-numpy
     packaging
     setuptools-scm
+    wheel
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyfibaro/default.nix b/nixpkgs/pkgs/development/python-modules/pyfibaro/default.nix
index 0b5d016a422c..595a997e62b2 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfibaro/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyfibaro/default.nix
@@ -6,11 +6,12 @@
 , requests
 , requests-mock
 , setuptools
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "pyfibaro";
-  version = "0.7.2";
+  version = "0.7.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -19,11 +20,12 @@ buildPythonPackage rec {
     owner = "rappenze";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-dAC+jW+Ky+uPsgBXpp81+bxytWYeZbd+zWzEXkmM198=";
+    hash = "sha256-pCj69lLcoNTyZRe6SVkFpPK2Ex8927WzAJ5OCot9xP4=";
   };
 
   nativeBuildInputs = [
     setuptools
+    wheel
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyflume/default.nix b/nixpkgs/pkgs/development/python-modules/pyflume/default.nix
index fc0ef714ce99..4a49c8160a25 100644
--- a/nixpkgs/pkgs/development/python-modules/pyflume/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyflume/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyflume";
-  version = "0.7.2";
+  version = "0.8.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.10";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "ChrisMandich";
     repo = "PyFlume";
     rev = "refs/tags/v${version}";
-    hash = "sha256-wmaOOM8y7LthEgf3Uyv1N4ODviPGSlIQejC01IlhaJw=";
+    hash = "sha256-RtzbAXjMtvKc8vnZIxIJnc6CS+BrYcQgdy5bVaJumg0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyhanko-certvalidator/default.nix b/nixpkgs/pkgs/development/python-modules/pyhanko-certvalidator/default.nix
index 9509f82494ca..5018f8f924a5 100644
--- a/nixpkgs/pkgs/development/python-modules/pyhanko-certvalidator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyhanko-certvalidator/default.nix
@@ -1,34 +1,38 @@
 { lib
-, buildPythonPackage
-, fetchFromGitHub
-, pythonOlder
 , aiohttp
 , asn1crypto
+, buildPythonPackage
 , cryptography
+, fetchFromGitHub
 , freezegun
-, oscrypto
-, requests
-, uritools
 , openssl
+, oscrypto
 , pytest-asyncio
 , pytestCheckHook
+, pythonOlder
+, requests
+, setuptools
+, uritools
 }:
 
 buildPythonPackage rec {
   pname = "pyhanko-certvalidator";
-  version = "0.20.1";
-  format = "setuptools";
+  version = "0.23.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
-  # Tests are only available on GitHub
   src = fetchFromGitHub {
     owner = "MatthiasValvekens";
     repo = "certvalidator";
-    rev = version;
-    hash = "sha256-0RSveoSZb7R6d4cMlF1mIrDfnTx2DYNwfTMMtmg+RpM=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-q2YxncyMHmbRmcoLb68huK02CYiKqF2CFRl8vkUfxg4=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     asn1crypto
     cryptography
@@ -71,6 +75,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python library for validating X.509 certificates and paths";
     homepage = "https://github.com/MatthiasValvekens/certvalidator";
+    changelog = "https://github.com/MatthiasValvekens/certvalidator/blob/v${version}/changelog.md";
     license = licenses.mit;
     maintainers = with maintainers; [ wolfangaukang ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pyhanko/default.nix b/nixpkgs/pkgs/development/python-modules/pyhanko/default.nix
index a7f6d4aaf7e9..8db7aef6d192 100644
--- a/nixpkgs/pkgs/development/python-modules/pyhanko/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyhanko/default.nix
@@ -1,49 +1,58 @@
 { lib
-, buildPythonPackage
-, fetchFromGitHub
-, pythonOlder
+, aiohttp
 , asn1crypto
+, buildPythonPackage
+, certomancer
 , click
 , cryptography
+, defusedxml
+, fetchFromGitHub
+, fonttools
+, freezegun
+, oscrypto
+, pillow
 , pyhanko-certvalidator
+, pytest-aiohttp
+, pytestCheckHook
+, python-barcode
+, python-pae
+, python-pkcs11
+, pythonOlder
 , pytz
 , pyyaml
 , qrcode
 , requests
-, tzlocal
-, certomancer
-, freezegun
-, python-pae
-, pytest-aiohttp
 , requests-mock
-, pytestCheckHook
-
-# optionals
-, defusedxml
-, oscrypto
-, fonttools
+, setuptools
+, tzlocal
 , uharfbuzz
-, pillow
-, python-barcode
-, python-pkcs11
-, aiohttp
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "pyhanko";
-  version = "0.17.0";
-  format = "setuptools";
+  version = "0.20.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
-  # Tests are only available on GitHub
   src = fetchFromGitHub {
     owner = "MatthiasValvekens";
     repo = "pyHanko";
-    rev = "refs/tags/${version}";
-    hash = "sha256-tvb2zdmIN6MkezmLNkyCcP8EfqxrbPg/FEqgW16Ka6Q=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-mWhkTVhq3bDkOlhUZIBBqwXUuQCXcFHW1haGOGMywzg=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace ' "pytest-runner",' ""
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
   propagatedBuildInputs = [
     asn1crypto
     click
@@ -57,7 +66,7 @@ buildPythonPackage rec {
   ];
 
   passthru.optional-dependencies = {
-    extra_pubkey_algs = [
+    extra-pubkey-algs = [
       oscrypto
     ];
     xmp = [
@@ -74,16 +83,11 @@ buildPythonPackage rec {
     pkcs11 = [
       python-pkcs11
     ];
-    async_http = [
+    async-http = [
       aiohttp
     ];
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace ", 'pytest-runner'" "" \
-  '';
-
   nativeCheckInputs = [
     aiohttp
     certomancer
@@ -132,6 +136,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Sign and stamp PDF files";
     homepage = "https://github.com/MatthiasValvekens/pyHanko";
+    changelog = "https://github.com/MatthiasValvekens/pyHanko/blob/v${version}/docs/changelog.rst";
     license = licenses.mit;
     maintainers = with maintainers; [ wolfangaukang ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pyinstaller-versionfile/default.nix b/nixpkgs/pkgs/development/python-modules/pyinstaller-versionfile/default.nix
new file mode 100644
index 000000000000..85ab4112e5ea
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyinstaller-versionfile/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, packaging
+, jinja2
+, pyyaml
+}:
+
+buildPythonPackage rec {
+  pname = "pyinstaller-versionfile";
+  version = "2.1.1";
+
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "DudeNr33";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-lz1GuiXU+r8sMld5SsG3qS+FOsWfbvkQmO2bxAR3XcY=";
+  };
+
+  propagatedBuildInputs = [ packaging jinja2 pyyaml ];
+
+  meta = {
+    description = "Create a windows version-file from a simple YAML file that can be used by PyInstaller.";
+    homepage = "https://pypi.org/project/pyinstaller-versionfile/";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyipp/default.nix b/nixpkgs/pkgs/development/python-modules/pyipp/default.nix
index c080d634b83b..609e75806678 100644
--- a/nixpkgs/pkgs/development/python-modules/pyipp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyipp/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "pyipp";
-  version = "0.14.3";
+  version = "0.14.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
    owner = "ctalkington";
    repo = "python-ipp";
    rev = version;
-   hash = "sha256-WbrAvIdFUPzSxGjIPzNny0V1W8S774vyREgylenJp24=";
+   hash = "sha256-xE0fdT+Ffdf4iOHWZzRa7YWtHt92lFdA/sbwjblMR40=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyiqvia/default.nix b/nixpkgs/pkgs/development/python-modules/pyiqvia/default.nix
index 81127de8c662..48cd93608e98 100644
--- a/nixpkgs/pkgs/development/python-modules/pyiqvia/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyiqvia/default.nix
@@ -4,6 +4,7 @@
 , aresponses
 , backoff
 , fetchFromGitHub
+, fetchpatch
 , poetry-core
 , pytest-aiohttp
 , pytest-asyncio
@@ -25,6 +26,20 @@ buildPythonPackage rec {
     hash = "sha256-4xoK/SwpcsjIpGUertWoSlRsKIpgpV1XmuIzDJcZMZg=";
   };
 
+  patches = [
+    # This patch removes references to setuptools and wheel that are no longer
+    # necessary and changes poetry to poetry-core, so that we don't need to add
+    # unnecessary nativeBuildInputs.
+    #
+    #   https://github.com/bachya/pyiqvia/pull/245
+    #
+    (fetchpatch {
+      name = "clean-up-build-dependencies.patch";
+      url = "https://github.com/bachya/pyiqvia/commit/760d5bd1f4d60f3a97f6ea9a9a57860f4be3abdd.patch";
+      hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM=";
+    })
+  ];
+
   nativeBuildInputs = [
     poetry-core
   ];
@@ -34,6 +49,8 @@ buildPythonPackage rec {
     backoff
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     aresponses
     pytest-aiohttp
diff --git a/nixpkgs/pkgs/development/python-modules/pylink-square/default.nix b/nixpkgs/pkgs/development/python-modules/pylink-square/default.nix
index a037511288f8..2903c0f8d566 100644
--- a/nixpkgs/pkgs/development/python-modules/pylink-square/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylink-square/default.nix
@@ -1,20 +1,21 @@
 { lib
 , buildPythonPackage
-, fetchPypi
 , fetchFromGitHub
+, fetchPypi
 , mock
 , psutil
-, six
-, future
 , pytestCheckHook
+, pythonOlder
+, six
 }:
 
 buildPythonPackage rec {
   pname = "pylink-square";
   version = "1.2.0";
-
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "square";
     repo = "pylink";
@@ -22,20 +23,32 @@ buildPythonPackage rec {
     hash = "sha256-rcM7gvUUfXN5pL9uIihzmOCXA7NKjiMt2GaQaGJxD9M=";
   };
 
-  propagatedBuildInputs = [ psutil six future ];
+  propagatedBuildInputs = [
+    psutil
+    six
+  ];
 
   nativeCheckInputs = [
     mock
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "pylink" ];
+  pythonImportsCheck = [
+    "pylink"
+  ];
+
+  disabledTests = [
+    # AttributeError: 'called_once_with' is not a valid assertion
+    "test_cp15_register_write_success"
+    "test_jlink_restarted"
+    "test_set_log_file_success"
+  ];
 
   meta = with lib; {
     description = "Python interface for the SEGGER J-Link";
     homepage = "https://github.com/square/pylink";
-    changelog = "https://github.com/square/pylink/blob/${src.rev}/CHANGELOG.md";
-    maintainers = with maintainers; [ dump_stack ];
+    changelog = "https://github.com/square/pylink/blob/v${version}/CHANGELOG.md";
     license = licenses.asl20;
+    maintainers = with maintainers; [ dump_stack ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pylitterbot/default.nix b/nixpkgs/pkgs/development/python-modules/pylitterbot/default.nix
index 0a8b27e5cbbb..eb6a93bc4a7a 100644
--- a/nixpkgs/pkgs/development/python-modules/pylitterbot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylitterbot/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "pylitterbot";
-  version = "2023.4.4";
+  version = "2023.4.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "natekspencer";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Vsnxb597HOu1zHXqZjC3rsjyEQYoSNQcXiArzqOWBUQ=";
+    hash = "sha256-e3k4L/lY8yszqYmJCaZghtv1nrmTi+WyWuzYuHSXM08=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyopencl/default.nix b/nixpkgs/pkgs/development/python-modules/pyopencl/default.nix
index c5336d788560..db815f0d3598 100644
--- a/nixpkgs/pkgs/development/python-modules/pyopencl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyopencl/default.nix
@@ -9,6 +9,7 @@
 , mesa_drivers
 , numpy
 , ocl-icd
+, oldest-supported-numpy
 , opencl-headers
 , platformdirs
 , pybind11
@@ -17,6 +18,7 @@
 , pytools
 , setuptools
 , six
+, wheel
 }:
 
 let
@@ -24,16 +26,19 @@ let
     if stdenv.isDarwin then [ mesa_drivers.dev ] else [ ocl-icd ];
 in buildPythonPackage rec {
   pname = "pyopencl";
-  version = "2023.1.1";
-
+  version = "2023.1.2";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-CtkleKlKC+De3Vyk/Lbie1p13k5frHV/BMkES9nUJEQ=";
+    hash = "sha256-6wDNV0BJ1ZK2edz4v+erSjbJSjn9Gssaa0XWwNe+mmg=";
   };
 
-  nativeBuildInputs = [ setuptools ];
+  nativeBuildInputs = [
+    oldest-supported-numpy
+    setuptools
+    wheel
+  ];
 
   buildInputs = [ opencl-headers pybind11 ] ++ os-specific-buildInputs;
 
diff --git a/nixpkgs/pkgs/development/python-modules/pyopenuv/default.nix b/nixpkgs/pkgs/development/python-modules/pyopenuv/default.nix
index 05b8793c73fb..3c7010965785 100644
--- a/nixpkgs/pkgs/development/python-modules/pyopenuv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyopenuv/default.nix
@@ -33,6 +33,17 @@ buildPythonPackage rec {
       url = "https://github.com/bachya/pyopenuv/commit/af15736b0d82ef811c3f380f5da32007752644fe.patch";
       hash = "sha256-5uQS3DoM91mhfyxLTNii3JBxwXIDK4/GwtadkVagjuw=";
     })
+    # This patch removes references to setuptools and wheel that are no longer
+    # necessary and changes poetry to poetry-core, so that we don't need to add
+    # unnecessary nativeBuildInputs.
+    #
+    #   https://github.com/bachya/pyopenuv/pull/244
+    #
+    (fetchpatch {
+      name = "clean-up-build-dependencies.patch";
+      url = "https://github.com/bachya/pyopenuv/commit/1663f697dd5528fb03af1400e5ffd3fba076c64c.patch";
+      hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM=";
+    })
   ];
 
   nativeBuildInputs = [
@@ -44,6 +55,8 @@ buildPythonPackage rec {
     backoff
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     aresponses
     pytest-asyncio
diff --git a/nixpkgs/pkgs/development/python-modules/pyoutbreaksnearme/default.nix b/nixpkgs/pkgs/development/python-modules/pyoutbreaksnearme/default.nix
index 4a653d0fe670..c0e4ea20dd26 100644
--- a/nixpkgs/pkgs/development/python-modules/pyoutbreaksnearme/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyoutbreaksnearme/default.nix
@@ -3,6 +3,7 @@
 , aresponses
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , poetry-core
 , pytest-asyncio
 , pytest-aiohttp
@@ -25,6 +26,20 @@ buildPythonPackage rec {
     hash = "sha256-D7oXkKDSg+yF+j1WyG/VVY12hLU6oyhEtxLrF6IkMSA=";
   };
 
+  patches = [
+    # This patch removes references to setuptools and wheel that are no longer
+    # necessary and changes poetry to poetry-core, so that we don't need to add
+    # unnecessary nativeBuildInputs.
+    #
+    #   https://github.com/bachya/pyoutbreaksnearme/pull/174
+    #
+    (fetchpatch {
+      name = "clean-up-build-dependencies.patch";
+      url = "https://github.com/bachya/pyoutbreaksnearme/commit/45fba9f689253a0f79ebde93086ee731a4151553.patch";
+      hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM=";
+    })
+  ];
+
   nativeBuildInputs = [
     poetry-core
   ];
@@ -34,6 +49,8 @@ buildPythonPackage rec {
     ujson
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     aresponses
     pytest-asyncio
diff --git a/nixpkgs/pkgs/development/python-modules/pypiserver/default.nix b/nixpkgs/pkgs/development/python-modules/pypiserver/default.nix
index e892a8227c3d..6e948d7bb293 100644
--- a/nixpkgs/pkgs/development/python-modules/pypiserver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pypiserver/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , passlib
+, pip
 , pytestCheckHook
 , pythonOlder
 , setuptools
@@ -9,6 +10,7 @@
 , twine
 , watchdog
 , webtest
+, wheel
 }:
 
 buildPythonPackage rec {
@@ -26,11 +28,13 @@ buildPythonPackage rec {
   };
 
   nativeBuildInputs = [
+    setuptools
     setuptools-git
+    wheel
   ];
 
   propagatedBuildInputs = [
-    setuptools
+    pip
   ];
 
   passthru.optional-dependencies = {
@@ -42,12 +46,21 @@ buildPythonPackage rec {
     ];
   };
 
+  __darwinAllowLocalNetworking = true;
+
+  # Tests need these permissions in order to use the FSEvents API on macOS.
+  sandboxProfile = ''
+    (allow mach-lookup (global-name "com.apple.FSEvents"))
+  '';
+
   preCheck = ''
     export HOME=$TMPDIR
   '';
 
   nativeCheckInputs = [
+    pip
     pytestCheckHook
+    setuptools
     twine
     webtest
   ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
@@ -57,11 +70,6 @@ buildPythonPackage rec {
     "test_hash_algos"
     "test_pip_install_authed_succeeds"
     "test_pip_install_open_succeeds"
-    "test_pip_install_authed_fails"
-    # Tests want to tests upload
-    "upload"
-    "register"
-    "test_partial_authed_open_download"
   ];
 
   disabledTestPaths = [
diff --git a/nixpkgs/pkgs/development/python-modules/pysaml2/default.nix b/nixpkgs/pkgs/development/python-modules/pysaml2/default.nix
index 3cd65c271e9a..b8ace412614c 100644
--- a/nixpkgs/pkgs/development/python-modules/pysaml2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysaml2/default.nix
@@ -3,7 +3,6 @@
 , cryptography
 , defusedxml
 , fetchFromGitHub
-, fetchPypi
 , importlib-resources
 , poetry-core
 , pyasn1
@@ -21,18 +20,9 @@
 , xmlsec
 }:
 
-let
-  pymongo3 = pymongo.overridePythonAttrs(old: rec {
-    version = "3.12.3";
-    src = fetchPypi {
-      pname = "pymongo";
-      inherit version;
-      hash = "sha256-ConK3ABipeU2ZN3gQ/bAlxcrjBxfAJRJAJUoL/mZWl8=";
-    };
-  });
-in buildPythonPackage rec {
+buildPythonPackage rec {
   pname = "pysaml2";
-  version = "7.4.1";
+  version = "7.4.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -40,10 +30,22 @@ in buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "IdentityPython";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-QHAbm6u5oH3O7MEVFE+sW98raquv89KJ8gonk3Yyu/0=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-f8qd1Mfy32CYH9/PshfMMBviDg7OhOPlwz69bPjlYbg=";
   };
 
+  patches = [
+    (substituteAll {
+      src = ./hardcode-xmlsec1-path.patch;
+      inherit xmlsec;
+    })
+  ];
+
+  postPatch = ''
+    # Fix failing tests on systems with 32bit time_t
+    sed -i 's/2999\(-.*T\)/2029\1/g' tests/*.xml
+  '';
+
   nativeBuildInputs = [
     poetry-core
   ];
@@ -63,23 +65,11 @@ in buildPythonPackage rec {
 
   nativeCheckInputs = [
     pyasn1
-    pymongo3
+    pymongo
     pytestCheckHook
     responses
   ];
 
-  patches = [
-    (substituteAll {
-      src = ./hardcode-xmlsec1-path.patch;
-      inherit xmlsec;
-    })
-  ];
-
-  postPatch = ''
-    # fix failing tests on systems with 32bit time_t
-    sed -i 's/2999\(-.*T\)/2029\1/g' tests/*.xml
-  '';
-
   disabledTests = [
     # Disabled tests try to access the network
     "test_load_extern_incommon"
@@ -95,6 +85,7 @@ in buildPythonPackage rec {
   meta = with lib; {
     description = "Python implementation of SAML Version 2 Standard";
     homepage = "https://github.com/IdentityPython/pysaml2";
+    changelog = "https://github.com/IdentityPython/pysaml2/blob/v${version}/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/python-bsblan/default.nix b/nixpkgs/pkgs/development/python-modules/python-bsblan/default.nix
index 7a3cc86a2204..647906511a17 100644
--- a/nixpkgs/pkgs/development/python-modules/python-bsblan/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-bsblan/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "python-bsblan";
-  version = "0.5.11";
+  version = "0.5.12";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -24,9 +24,17 @@ buildPythonPackage rec {
     owner = "liudger";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-fTjeJZhKPFi0cxZStegVdq7a48rQ236DnnCGngwZ5GU=";
+    hash = "sha256-ftu79SnVa7wOMx/RiRBDPmmG7Mmw84r30G4yDzBea2k=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'version = "0.0.0"' 'version = "${version}"' \
+      --replace "--cov" ""
+    sed -i "/covdefaults/d" pyproject.toml
+    sed -i "/ruff/d" pyproject.toml
+  '';
+
   nativeBuildInputs = [
     poetry-core
   ];
@@ -45,12 +53,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'version = "0.0.0"' 'version = "${version}"' \
-      --replace "--cov" ""
-  '';
-
   pythonImportsCheck = [
     "bsblan"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/python-manilaclient/default.nix b/nixpkgs/pkgs/development/python-modules/python-manilaclient/default.nix
index de841e5f1fe2..f3d8d46bbe84 100644
--- a/nixpkgs/pkgs/development/python-modules/python-manilaclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-manilaclient/default.nix
@@ -22,12 +22,12 @@
 
 buildPythonPackage rec {
   pname = "python-manilaclient";
-  version = "4.5.0";
+  version = "4.5.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-voeJkwe/7nta2B19+Y5d27XTkhQ/nbWt6MXOicYQZnU=";
+    hash = "sha256-jtcY0yPD6eBcTFNVgANY4brQkrAscADeY8hbfw6M/tI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-stdnum/default.nix b/nixpkgs/pkgs/development/python-modules/python-stdnum/default.nix
index 19142bc13fb8..f251b47c6086 100644
--- a/nixpkgs/pkgs/development/python-modules/python-stdnum/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-stdnum/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "python-stdnum";
-  version = "1.18";
+  version = "1.19";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-vMdj2cSa4j2l0remhtX9He7J2QUTQRYKENGscjomvsA=";
+    hash = "sha256-Ez7IL1Y5DqdMGQVp6Y8vsUuGmAix1UeFcI8i0P6tiz8=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pytile/default.nix b/nixpkgs/pkgs/development/python-modules/pytile/default.nix
index 598dac359ca8..977cf15d074b 100644
--- a/nixpkgs/pkgs/development/python-modules/pytile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytile/default.nix
@@ -3,6 +3,7 @@
 , aresponses
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , poetry-core
 , pytest-aiohttp
 , pytest-asyncio
@@ -24,6 +25,20 @@ buildPythonPackage rec {
     hash = "sha256-SFHWhXKC7PIqanJIQyGcpM8klwxOAJPVtzk9w0i2YYA=";
   };
 
+  patches = [
+    # This patch removes references to setuptools and wheel that are no longer
+    # necessary and changes poetry to poetry-core, so that we don't need to add
+    # unnecessary nativeBuildInputs.
+    #
+    #   https://github.com/bachya/pytile/pull/286
+    #
+    (fetchpatch {
+      name = "clean-up-build-dependencies.patch";
+      url = "https://github.com/bachya/pytile/commit/bdb5d96ba9d640bf85a1ae9c3787704dbc2ced23.patch";
+      hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM=";
+    })
+  ];
+
   nativeBuildInputs = [
     poetry-core
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyvex/default.nix b/nixpkgs/pkgs/development/python-modules/pyvex/default.nix
index c04444b58352..a7c9ae9ecffe 100644
--- a/nixpkgs/pkgs/development/python-modules/pyvex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyvex/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "pyvex";
-  version = "9.2.64";
+  version = "9.2.65";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-dIM/LybJNiQTB8SnZuIVOaxrL6KwZzEuQdRj30pMOeI=";
+    hash = "sha256-iZygYN3874o9miKxp2+0KDgQKFHDX73/45FzMSeSAlg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyxlsb/default.nix b/nixpkgs/pkgs/development/python-modules/pyxlsb/default.nix
new file mode 100644
index 000000000000..df000db7e25d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyxlsb/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "pyxlsb";
+  version = "1.0.10";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-gGLR6oYm0/GYDosc/pGkSDdHRJJC7LYQE7wt+FQ19oU=";
+  };
+
+  # package has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "pyxlsb" ];
+
+  meta = with lib; {
+    description = "Excel 2007-2010 Binary Workbook (xlsb) parser";
+    homepage = "https://github.com/willtrnr/pyxlsb";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ elohmeier ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/qasync/default.nix b/nixpkgs/pkgs/development/python-modules/qasync/default.nix
new file mode 100644
index 000000000000..bdbede92c5d4
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/qasync/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pyqt5
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "qasync";
+  version = "0.24.1";
+
+  src = fetchFromGitHub {
+    owner = "CabbageDevelopment";
+    repo = pname;
+    rev = "refs/tags/v${version}";
+    hash = "sha256-DAzmobw+c29Pt/URGO3bWXHBxgu9bDHhdTUBE9QJDe4=";
+  };
+
+  postPatch = ''
+    rm qasync/_windows.py # Ignoring it is not taking effect and it will not be used on Linux
+  '';
+
+  propagatedBuildInputs = [ pyqt5 ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "qasync" ];
+
+  disabledTestPaths = [
+    "tests/test_qeventloop.py"
+  ];
+
+  meta = {
+    description = "Allows coroutines to be used in PyQt/PySide applications by providing an implementation of the PEP 3156 event-loop";
+    homepage = "https://github.com/CabbageDevelopment/qasync";
+    license = [ lib.licenses.bsd2 ];
+    maintainers = [ lib.maintainers.lucasew ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/rdkit/default.nix b/nixpkgs/pkgs/development/python-modules/rdkit/default.nix
index ddb79cf36a02..783051540cc9 100644
--- a/nixpkgs/pkgs/development/python-modules/rdkit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rdkit/default.nix
@@ -42,7 +42,7 @@ let
 in
 buildPythonPackage rec {
   pname = "rdkit";
-  version = "2023.03.2";
+  version = "2023.03.3";
   format = "other";
 
   src =
@@ -53,7 +53,7 @@ buildPythonPackage rec {
       owner = pname;
       repo = pname;
       rev = "Release_${versionTag}";
-      hash = "sha256-p1zJLMtIlO+0qKMO7ghDLrONNZFPTuc2QtOtB1LJPtc=";
+      hash = "sha256-5M7nDUWORbepDGaf2G6Cd79Hu0au3DNRc9KuONoCWK0=";
     };
 
   unpackPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/readability-lxml/default.nix b/nixpkgs/pkgs/development/python-modules/readability-lxml/default.nix
index cca38cd71ae5..6b04c0f1cd91 100644
--- a/nixpkgs/pkgs/development/python-modules/readability-lxml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/readability-lxml/default.nix
@@ -31,8 +31,12 @@ buildPythonPackage rec {
     timeout-decorator
   ];
 
+  disabledTests = lib.optionals stdenv.isDarwin [
+    # Test is broken on darwin. Fix in master from https://github.com/buriy/python-readability/pull/178
+    "test_many_repeated_spaces"
+  ];
+
   meta = with lib; {
-    broken = stdenv.isDarwin;
     description = "Fast python port of arc90's readability tool";
     homepage = "https://github.com/buriy/python-readability";
     license = licenses.asl20;
diff --git a/nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix b/nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix
index 2cee50ac5039..f506b13a7795 100644
--- a/nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix
@@ -3,6 +3,7 @@
 , aresponses
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , poetry-core
 , pytest-aiohttp
 , pytest-asyncio
@@ -26,6 +27,20 @@ buildPythonPackage rec {
     hash = "sha256-W5W/2gBraraZs8ai8tyg3aRWvHt6WOQCVICuiAigae0=";
   };
 
+  patches = [
+    # This patch removes references to setuptools and wheel that are no longer
+    # necessary and changes poetry to poetry-core, so that we don't need to add
+    # unnecessary nativeBuildInputs.
+    #
+    #   https://github.com/bachya/regenmaschine/pull/334
+    #
+    (fetchpatch {
+      name = "clean-up-build-dependencies.patch";
+      url = "https://github.com/bachya/regenmaschine/commit/ecc2f771e2ae2e0a8d46f5beab072df4e4727ba3.patch";
+      hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM=";
+    })
+  ];
+
   nativeBuildInputs = [
     poetry-core
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/reolink-aio/default.nix b/nixpkgs/pkgs/development/python-modules/reolink-aio/default.nix
index 8fd5cb699021..b74665e2c342 100644
--- a/nixpkgs/pkgs/development/python-modules/reolink-aio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/reolink-aio/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "reolink-aio";
-  version = "0.7.7";
+  version = "0.7.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "starkillerOG";
     repo = "reolink_aio";
     rev = "refs/tags/${version}";
-    hash = "sha256-RlnUROCCYBIgxwnORaG5pxo9Npq80LvVGhmj29tPXN8=";
+    hash = "sha256-vbSt1rD25Bt3Qac0uO0Z63JhbU5HU0p2ox046W6xyJU=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/rich-pixels/default.nix b/nixpkgs/pkgs/development/python-modules/rich-pixels/default.nix
index 2c9249b886b3..9e40b4b52fcf 100644
--- a/nixpkgs/pkgs/development/python-modules/rich-pixels/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rich-pixels/default.nix
@@ -6,6 +6,7 @@
 , syrupy
 , pillow
 , rich
+, pythonRelaxDepsHook
 }:
 
 buildPythonPackage rec {
@@ -22,6 +23,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     poetry-core
+    pythonRelaxDepsHook
   ];
 
   nativeCheckInputs = [
@@ -37,6 +39,10 @@ buildPythonPackage rec {
     rich
   ];
 
+  pythonRelaxDeps = [
+    "pillow"
+  ];
+
   pythonImportsCheck = [ "rich_pixels" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/scikit-image/add-testing-data.patch b/nixpkgs/pkgs/development/python-modules/scikit-image/add-testing-data.patch
deleted file mode 100644
index 60f9287f8b1c..000000000000
--- a/nixpkgs/pkgs/development/python-modules/scikit-image/add-testing-data.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/skimage/data/setup.py b/skimage/data/setup.py
-index 528e9c284ce..ba0e155559c 100644
---- a/skimage/data/setup.py
-+++ b/skimage/data/setup.py
-@@ -11,7 +11,11 @@ def configuration(parent_package='', top_path=None):
-     # further notice.
-     # Testing data and additional datasets should only
-     # be made available via pooch
--    config.add_data_files(*legacy_datasets)
-+    # Nix patch: add ALL images to facilitate testing of a fully-built package
-+    from pathlib import Path
-+    config.add_data_files(
-+        *(path.name for path in Path(__file__).parent.glob("*") if path.suffix != ".py")
-+    )
-     # It seems hard to create a consistent hash for README.txt since
-     # the line endings keep getting converted
-     config.add_data_files('README.txt')
diff --git a/nixpkgs/pkgs/development/python-modules/scikit-image/default.nix b/nixpkgs/pkgs/development/python-modules/scikit-image/default.nix
index 22c7387ff0d1..03eaf556050f 100644
--- a/nixpkgs/pkgs/development/python-modules/scikit-image/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scikit-image/default.nix
@@ -3,53 +3,98 @@
 , fetchFromGitHub
 , buildPythonPackage
 , python
+, pythonOlder
+, astropy
+, cloudpickle
 , cython
-, pythran
-, numpy
-, scipy
+, dask
+, imageio
+, lazy-loader
 , matplotlib
+, meson-python
 , networkx
-, six
+, numpy
+, packaging
 , pillow
+, pooch
+, pyamg
+, pytestCheckHook
+, pythran
 , pywavelets
-, dask
-, cloudpickle
-, imageio
+, scikit-learn
+, scipy
+, setuptools
+, simpleitk
+, six
 , tifffile
-, pytestCheckHook
+, wheel
 }:
 
 let
   installedPackageRoot = "${builtins.placeholder "out"}/${python.sitePackages}";
   self = buildPythonPackage rec {
     pname = "scikit-image";
-    version = "0.19.3";
+    version = "0.21.0";
+    format = "pyproject";
+
+    disabled = pythonOlder "3.8";
 
     src = fetchFromGitHub {
-      owner = pname;
-      repo = pname;
+      owner = "scikit-image";
+      repo = "scikit-image";
       rev = "v${version}";
-      hash = "sha256-zvXgZdvYycFbbMsBFSqMDzLanEtF9+JuVSQ3AM8/LQk=";
+      hash = "sha256-WJ2WNlcFCEtPr+bV/af6MoBBhbXDpOBEsJu4FmudoIo=";
     };
 
-    patches = [ ./add-testing-data.patch ];
+    patches = [
+      # https://github.com/scikit-image/scikit-image/pull/7052
+      # prepare a patch file because the commit contains additional changes
+      ./suppress-deprecation-warning.patch
+    ];
+
+    postPatch = ''
+      patchShebangs skimage/_build_utils/{version,cythoner}.py
+    '';
 
-    nativeBuildInputs = [ cython pythran ];
+    nativeBuildInputs = [
+      cython
+      meson-python
+      numpy
+      packaging
+      pythran
+      setuptools
+      wheel
+    ];
 
     propagatedBuildInputs = [
-      cloudpickle
-      dask
       imageio
+      lazy-loader
       matplotlib
       networkx
       numpy
+      packaging
       pillow
       pywavelets
       scipy
-      six
       tifffile
     ];
 
+    passthru.optional-dependencies = {
+      data = [
+        pooch
+      ];
+      optional = [
+        astropy
+        cloudpickle
+        dask
+        matplotlib
+        pooch
+        pyamg
+        scikit-learn
+        simpleitk
+      ] ++ dask.optional-dependencies.array;
+    };
+
     # test suite is very cpu intensive, move to passthru.tests
     doCheck = false;
     nativeCheckInputs = [ pytestCheckHook ];
@@ -78,6 +123,10 @@ let
       "skimage/feature/tests/test_util.py::test_plot_matches"
       "skimage/filters/tests/test_thresholding.py::TestSimpleImage::test_try_all_threshold"
       "skimage/io/tests/test_mpl_imshow.py::"
+    ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
+      # https://github.com/scikit-image/scikit-image/issues/7104
+      "skimage/measure/tests/test_fit.py"
+      "skimage/measure/tests/test_moments.py"
     ]);
 
     # Check cythonized modules
@@ -88,7 +137,6 @@ let
       "skimage.feature"
       "skimage.restoration"
       "skimage.filters"
-      "skimage.future.graph"
       "skimage.graph"
       "skimage.io"
       "skimage.measure"
@@ -105,6 +153,7 @@ let
     meta = {
       description = "Image processing routines for SciPy";
       homepage = "https://scikit-image.org";
+      changelog = "https://github.com/scikit-image/scikit-image/releases/tag/${src.rev}";
       license = lib.licenses.bsd3;
       maintainers = with lib.maintainers; [ yl3dy ];
     };
diff --git a/nixpkgs/pkgs/development/python-modules/scikit-image/suppress-deprecation-warning.patch b/nixpkgs/pkgs/development/python-modules/scikit-image/suppress-deprecation-warning.patch
new file mode 100644
index 000000000000..f51f1d9860a4
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/scikit-image/suppress-deprecation-warning.patch
@@ -0,0 +1,30 @@
+diff --git a/skimage/exposure/tests/test_exposure.py b/skimage/exposure/tests/test_exposure.py
+index ed8dd6bc8..8ec7d13bf 100644
+--- a/skimage/exposure/tests/test_exposure.py
++++ b/skimage/exposure/tests/test_exposure.py
+@@ -368,19 +368,16 @@ def test_rescale_nan_warning(in_range, out_range):
+     )
+ 
+     # 2019/11/10 Passing NaN to np.clip raises a DeprecationWarning for
+-    # versions above 1.17
+-    # TODO: Remove once NumPy removes this DeprecationWarning
++    # versions above 1.17, "|\A\Z" marks as optional warning
++    # TODO: Remove once NumPy 1.25.0 is minimal dependency
+     numpy_warning_1_17_plus = (
+-        "Passing `np.nan` to mean no clipping in np.clip"
++        "|\\A\\ZPassing `np.nan` to mean no clipping in np.clip"
+     )
+ 
+-    if in_range == "image":
+-        exp_warn = [msg, numpy_warning_1_17_plus]
+-    else:
+-        exp_warn = [msg]
++    with expected_warnings([msg, numpy_warning_1_17_plus]):
++        result = exposure.rescale_intensity(image, in_range, out_range)
+ 
+-    with expected_warnings(exp_warn):
+-        exposure.rescale_intensity(image, in_range, out_range)
++    assert np.all(np.isnan(result))
+ 
+ 
+ @pytest.mark.parametrize(
diff --git a/nixpkgs/pkgs/development/python-modules/scmrepo/default.nix b/nixpkgs/pkgs/development/python-modules/scmrepo/default.nix
index c1773ffc48c3..88ffa39d7b42 100644
--- a/nixpkgs/pkgs/development/python-modules/scmrepo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scmrepo/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "scmrepo";
-  version = "1.2.1";
+  version = "1.3.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-9xSuBh3y6vYvbwn7uslM+R7yhZKP/+Sjbae1a+QMoOA=";
+    hash = "sha256-/ZELaJrGgNKzAXi1SXAMgxi84R0UvZBD9AUVO7PTEbA=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/serverfiles/default.nix b/nixpkgs/pkgs/development/python-modules/serverfiles/default.nix
new file mode 100644
index 000000000000..955e18e589e8
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/serverfiles/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, requests
+, unittestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "serverfiles";
+  version = "0.3.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-XhD8MudYeR43NbwIvOLtRwKoOx5Fq5bF1ZzIruz76+E=";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  pythonImportsCheck = [ "serverfiles" ];
+  nativeCheckInputs = [ unittestCheckHook ];
+
+  meta = {
+    description = "An utility that accesses files on a HTTP server and stores them locally for reuse";
+    homepage = "https://github.com/biolab/serverfiles";
+    license = [ lib.licenses.gpl3Plus ];
+    maintainers = [ lib.maintainers.lucasew ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/seventeentrack/default.nix b/nixpkgs/pkgs/development/python-modules/seventeentrack/default.nix
index 56bec419987a..351392aec46a 100644
--- a/nixpkgs/pkgs/development/python-modules/seventeentrack/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/seventeentrack/default.nix
@@ -1,10 +1,10 @@
 { lib
 , aiohttp
 , aresponses
-, async-timeout
 , attrs
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , poetry-core
 , pytest-asyncio
 , pytestCheckHook
@@ -26,17 +26,32 @@ buildPythonPackage rec {
     hash = "sha256-vMdRXcd0es/LjgsVyWItSLFzlSTEa3oaA6lr/NL4i8U=";
   };
 
+  patches = [
+    # This patch removes references to setuptools and wheel that are no longer
+    # necessary and changes poetry to poetry-core, so that we don't need to add
+    # unnecessary nativeBuildInputs.
+    #
+    #   https://github.com/McSwindler/seventeentrack/pull/4
+    #
+    (fetchpatch {
+      name = "clean-up-build-dependencies.patch";
+      url = "https://github.com/McSwindler/seventeentrack/commit/9a21e22f796a17628a9628f54e19d19d002b4d0a.patch";
+      hash = "sha256-UvxUpiSkDbP8Jum5XbrWHBnH1HLBYEKUKw6GTV+Kvys=";
+    })
+  ];
+
   nativeBuildInputs = [
     poetry-core
   ];
 
   propagatedBuildInputs = [
     aiohttp
-    async-timeout
     attrs
     pytz
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     aresponses
     pytest-asyncio
diff --git a/nixpkgs/pkgs/development/python-modules/simplisafe-python/default.nix b/nixpkgs/pkgs/development/python-modules/simplisafe-python/default.nix
index 5b00e279a7e1..d4fbc5c861b8 100644
--- a/nixpkgs/pkgs/development/python-modules/simplisafe-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/simplisafe-python/default.nix
@@ -6,6 +6,7 @@
 , buildPythonPackage
 , docutils
 , fetchFromGitHub
+, fetchpatch
 , poetry-core
 , pytest-aiohttp
 , pytest-asyncio
@@ -31,6 +32,20 @@ buildPythonPackage rec {
     hash = "sha256-dcWDB9tpKrFbnWf35HLDmgy2zNTzKNeJQrdtRXbSMvs=";
   };
 
+  patches = [
+    # This patch removes references to setuptools and wheel that are no longer
+    # necessary and changes poetry to poetry-core, so that we don't need to add
+    # unnecessary nativeBuildInputs.
+    #
+    #   https://github.com/bachya/simplisafe-python/pull/596
+    #
+    (fetchpatch {
+      name = "clean-up-build-dependencies.patch";
+      url = "https://github.com/bachya/simplisafe-python/commit/60f41c690fac7acb614490b542cbbf2fa0052266.patch";
+      hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM=";
+    })
+  ];
+
   nativeBuildInputs = [
     poetry-core
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/speechbrain/default.nix b/nixpkgs/pkgs/development/python-modules/speechbrain/default.nix
index e0a72e331f06..4875019258ea 100644
--- a/nixpkgs/pkgs/development/python-modules/speechbrain/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/speechbrain/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "speechbrain";
-  version = "0.5.14";
+  version = "0.5.15";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "speechbrain";
     repo = "speechbrain";
     rev = "refs/tags/v${version}";
-    hash = "sha256-r1q7JO+H7ynfrzlihRTY0PtMGmvwm98BHUZV534ABXw=";
+    hash = "sha256-d0+3bry69ML65JR8XDppG8RO200ZTTHyd7PrTP7SJkk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tabcmd/default.nix b/nixpkgs/pkgs/development/python-modules/tabcmd/default.nix
new file mode 100644
index 000000000000..0569b2e661c3
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tabcmd/default.nix
@@ -0,0 +1,66 @@
+{ lib
+, buildPythonPackage
+, python3
+, pythonOlder
+, fetchPypi
+, ftfy
+, appdirs
+, requests
+, setuptools-scm
+, types-mock
+, types-appdirs
+, types-requests
+, types-setuptools
+, argparse
+, doit
+, pyinstaller-versionfile
+, tableauserverclient
+, pytestCheckHook
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "tabcmd";
+  version = "2.0.12";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-nsQJWDzSzSc1WRk5TBl/E7Mpfk8wGD1CsETAWILKxCM=";
+  };
+
+  propagatedBuildInputs = [ ftfy appdirs requests setuptools-scm types-mock types-appdirs argparse doit pyinstaller-versionfile types-requests types-setuptools tableauserverclient ];
+
+  nativeCheckInputs = [ pytestCheckHook mock ];
+
+  # Remove an unneeded dependency that can't be resolved
+  prePatch = ''
+    sed -i "/'argparse',/d" pyproject.toml
+  '';
+
+  # Create a "tabcmd" executable
+  postInstall = ''
+    # Create a directory for our wrapped binary.
+    mkdir -p $out/bin
+
+    cp -r build/lib/tabcmd/__main__.py $out/bin/
+
+    # Create a 'tabcmd' script with python3 shebang
+    echo "#!${python3}/bin/python3" > $out/bin/tabcmd
+
+    # Append __main__.py contents
+    cat $out/bin/__main__.py >> $out/bin/tabcmd
+
+    # Make it executable.
+    chmod +x $out/bin/tabcmd
+  '';
+
+
+  meta = {
+    description = "A command line client for working with Tableau Server.";
+    homepage = "https://pypi.org/project/tabcmd/";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/tableauserverclient/default.nix b/nixpkgs/pkgs/development/python-modules/tableauserverclient/default.nix
new file mode 100644
index 000000000000..601fdee70310
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tableauserverclient/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, python
+, fetchPypi
+, defusedxml
+, requests
+, packaging
+, requests-mock
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "tableauserverclient";
+  version = "0.25";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-01TRYkXEWagFrSB7zvP6Bj4YvIFoaVkgrIm/gSWkILY=";
+  };
+
+  propagatedBuildInputs = [ defusedxml requests packaging ];
+
+  checkInputs = [ requests-mock ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  doCheck = false; # it attempts to create some file artifacts and fails
+
+  meta = {
+    description = "A Python module for working with the Tableau Server REST API.";
+    homepage = "https://pypi.org/project/tableauserverclient/";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/timetagger/default.nix b/nixpkgs/pkgs/development/python-modules/timetagger/default.nix
index 3feb33508c32..de652099767d 100644
--- a/nixpkgs/pkgs/development/python-modules/timetagger/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/timetagger/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "timetagger";
-  version = "23.7.1";
+  version = "23.8.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "almarklein";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-OLIjb5mFNNi0elPeXaPoK9V0fVw2Cnd7CHjPc1oGfyM=";
+    hash = "sha256-VHvCvXmNwxuk4Le2VqsU1CFcHfAr40WbhELzu5wfB1U=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tinyrecord/default.nix b/nixpkgs/pkgs/development/python-modules/tinyrecord/default.nix
new file mode 100644
index 000000000000..025ffdeefd49
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tinyrecord/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, tinydb
+}:
+
+buildPythonPackage rec {
+  pname = "tinyrecord";
+  version = "0.2.0";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "eugene-eeo";
+    repo = "tinyrecord";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-mF4hpHuNyiQ5DurRnyLck5e/Vp26GCLkhD8eeSB4NYs=";
+  };
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    tinydb
+  ];
+
+  pytestFlagsArray = [
+    "tests.py"
+  ];
+
+  pythonImportsCheck = [
+    "tinyrecord"
+  ];
+
+  meta = with lib; {
+    description = "Transaction support for TinyDB";
+    homepage = "https://github.com/eugene-eeo/tinyrecord";
+    changelog = "https://github.com/eugene-eeo/tinyrecord/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ nickcao ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/torch/default.nix b/nixpkgs/pkgs/development/python-modules/torch/default.nix
index 6e56df8b183d..1d9fd2a469f6 100644
--- a/nixpkgs/pkgs/development/python-modules/torch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/torch/default.nix
@@ -225,7 +225,7 @@ in buildPythonPackage rec {
 
   # Avoid using pybind11 from git submodule
   # Also avoids pytorch exporting the headers of pybind11
-  USE_SYSTEM_BIND11 = true;
+  USE_SYSTEM_PYBIND11 = true;
 
   preBuild = ''
     export MAX_JOBS=$NIX_BUILD_CORES
diff --git a/nixpkgs/pkgs/development/python-modules/tubeup/default.nix b/nixpkgs/pkgs/development/python-modules/tubeup/default.nix
index 58ae2d387b44..a264c4b2f93a 100644
--- a/nixpkgs/pkgs/development/python-modules/tubeup/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tubeup/default.nix
@@ -5,20 +5,19 @@
 , yt-dlp
 , docopt
 , pythonOlder
-, urllib3
 , pythonRelaxDepsHook
 }:
 
 buildPythonPackage rec {
   pname = "tubeup";
-  version = "2023.8.17";
+  version = "2023.8.19";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-nL0oXI06qH0K0LLlrT/jdJ+76ZPMUhaFfOYGi71M3PM=";
+    sha256 = "sha256-0atpOUJIfXgw/5fi5w2ciAFDMgWmVH4U8d84zwLCRXk=";
   };
 
   nativeBuildInputs = [
@@ -28,12 +27,10 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     internetarchive
     docopt
-    urllib3
     yt-dlp
   ];
 
   pythonRelaxDeps = [
-    "urllib3"
     "docopt"
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/types-appdirs/default.nix b/nixpkgs/pkgs/development/python-modules/types-appdirs/default.nix
new file mode 100644
index 000000000000..7d316400a041
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/types-appdirs/default.nix
@@ -0,0 +1,21 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "types-appdirs";
+  version = "1.4.3.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-gyaNpkWFNhv6KR+PUGogknYhKgSXvTfwUSqTmz1p/xQ=";
+  };
+
+  meta = {
+    description = "This is a PEP 561 type stub package for the appdirs package. It can be used by type-checking tools like mypy, pyright, pytype, PyCharm, etc. to check code that uses appdirs. ";
+    homepage = "https://pypi.org/project/types-appdirss";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/types-mock/default.nix b/nixpkgs/pkgs/development/python-modules/types-mock/default.nix
new file mode 100644
index 000000000000..f072c83916cc
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/types-mock/default.nix
@@ -0,0 +1,21 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "types-mock";
+  version = "5.1.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-8H1Z3lDqgWq0A7pOJG/4CwCSY7N3vD93Tf3r8LQD+2A=";
+  };
+
+  meta = {
+    description = "This is a PEP 561 type stub package for the mock package. It can be used by type-checking tools like mypy, pyright, pytype, PyCharm, etc. to check code that uses mock.";
+    homepage = "https://pypi.org/project/types-mock";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/types-protobuf/default.nix b/nixpkgs/pkgs/development/python-modules/types-protobuf/default.nix
index 8a169a2d9ce5..4da64fcf8e59 100644
--- a/nixpkgs/pkgs/development/python-modules/types-protobuf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-protobuf/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "types-protobuf";
-  version = "4.23.0.2";
+  version = "4.24.0.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-EGawadTw4Jveu2TKTzXMa4rM9S+Ag2gEbM7JZ0SvA3U=";
+    hash = "sha256-kK3qO2k9akDY7wdcWP5rXMbgH+FJYwGn5vxwOY3P+S4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/u-msgpack-python/default.nix b/nixpkgs/pkgs/development/python-modules/u-msgpack-python/default.nix
index 730bb26bea57..1b79d265ff86 100644
--- a/nixpkgs/pkgs/development/python-modules/u-msgpack-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/u-msgpack-python/default.nix
@@ -7,14 +7,15 @@
 
 buildPythonPackage rec {
   pname = "u-msgpack-python";
-  version = "2.7.2";
+  version = "2.8.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-6G96xqoO9MbEnwBLT9Q1vOmcI+LdXXMAPz+YFgJMK9g=";
+    hash = "sha256-uAGoPW7XXm30HkRRi08qnCIdwtpLzVOA46D+2lILxho=";
   };
 
-  LC_ALL="en_US.UTF-8";
+  env.LC_ALL="en_US.UTF-8";
 
   buildInputs = [ glibcLocales ];
 
@@ -23,7 +24,7 @@ buildPythonPackage rec {
   meta = {
     description = "A portable, lightweight MessagePack serializer and deserializer written in pure Python";
     homepage = "https://github.com/vsergeev/u-msgpack-python";
+    changelog = "https://github.com/vsergeev/u-msgpack-python/blob/v${version}/CHANGELOG.md";
     license = lib.licenses.mit;
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/unearth/default.nix b/nixpkgs/pkgs/development/python-modules/unearth/default.nix
index f1a61014e496..bcf6f5afa788 100644
--- a/nixpkgs/pkgs/development/python-modules/unearth/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/unearth/default.nix
@@ -4,7 +4,7 @@
 , pythonOlder
 , cached-property
 , packaging
-, pdm-pep517
+, pdm-backend
 , requests
 , flask
 , pytest-httpserver
@@ -15,18 +15,18 @@
 
 buildPythonPackage rec {
   pname = "unearth";
-  version = "0.9.2";
+  version = "0.10.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-hF9LVzOHTOO0JyEm3kluq+AKSa1nj90E1ILR533u1CU=";
+    hash = "sha256-1bFSpasqo+UUmhHPezulxdSTF23KOPZsqJadrdWo9kU=";
   };
 
   nativeBuildInputs = [
-    pdm-pep517
+    pdm-backend
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/urwid-mitmproxy/default.nix b/nixpkgs/pkgs/development/python-modules/urwid-mitmproxy/default.nix
new file mode 100644
index 000000000000..60dd32fc6fc3
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/urwid-mitmproxy/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, glibcLocales
+, pythonOlder
+, unittestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "urwid-mitmproxy";
+  version = "2.1.2.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "mitmproxy";
+    repo = "urwid-mitmproxy";
+    rev = "refs/tags/${version}";
+    hash = "sha256-93AauYWbrG/2smAhbNKGE0twGJZ2u9gBetlXGCpciH8=";
+  };
+
+  pythonImportsCheck = [
+    "urwid"
+  ];
+
+  # Tests which assert on strings don't decode results correctly, see urwid
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Urwid fork used by mitmproxy";
+    homepage = "https://github.com/mitmproxy/urwid-mitmproxy";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/vsure/default.nix b/nixpkgs/pkgs/development/python-modules/vsure/default.nix
index 583a17c0704a..709271d0905f 100644
--- a/nixpkgs/pkgs/development/python-modules/vsure/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vsure/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "vsure";
-  version = "2.6.4";
+  version = "2.6.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-d9t/zO1ROCndS+5kiFVyDbs+96z7GMHaH6T82b8hl40=";
+    hash = "sha256-2w1D0380ljgRa5NSPAUlUPFTmGzjl79hyLwirmuHmGo=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/wasmer/default.nix b/nixpkgs/pkgs/development/python-modules/wasmer/default.nix
index 9feee98f7868..7ac1626c3b6f 100644
--- a/nixpkgs/pkgs/development/python-modules/wasmer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wasmer/default.nix
@@ -68,16 +68,15 @@ let
       pythonImportsCheck = [ "${lib.replaceStrings ["-"] ["_"] pname}" ];
 
       meta = with lib; {
-        broken = stdenv.isDarwin;
         description = "Python extension to run WebAssembly binaries";
         homepage = "https://github.com/wasmerio/wasmer-python";
         license = licenses.mit;
         platforms = platforms.unix;
-        maintainers = with maintainers; [ ];
+        maintainers = [ ];
       };
     };
 in
-rec {
+{
   wasmer = common {
     pname = "wasmer";
     buildAndTestSubdir = "packages/api";
diff --git a/nixpkgs/pkgs/development/python-modules/xformers/default.nix b/nixpkgs/pkgs/development/python-modules/xformers/default.nix
index cd6c6aa0ebdb..1dc11e5f01a4 100644
--- a/nixpkgs/pkgs/development/python-modules/xformers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xformers/default.nix
@@ -20,9 +20,14 @@
 , cmake
 , openai-triton
 , networkx
+#, apex
+, einops
+, transformers
+, timm
+#, flash-attn
 }:
 let
-  version = "0.0.20";
+  version = "0.0.21";
 in
 buildPythonPackage {
   pname = "xformers";
@@ -35,7 +40,7 @@ buildPythonPackage {
     owner = "facebookresearch";
     repo = "xformers";
     rev = "v${version}";
-    hash = "sha256-OFH4I3eTKw1bQEKHh1AvkpcoShKK5R5674AoJ/mY85I=";
+    hash = "sha256-zYziynjLtqjPPHjDbruuuG9209y0Sh+wYUFHUj+QG2Y=";
     fetchSubmodules = true;
   };
 
@@ -63,6 +68,11 @@ buildPythonPackage {
 
   pythonImportsCheck = [ "xformers" ];
 
+  dontUseCmakeConfigure = true;
+
+  # see commented out missing packages
+  doCheck = false;
+
   nativeCheckInputs = [
     pytestCheckHook
     pytest-cov
@@ -73,6 +83,11 @@ buildPythonPackage {
     cmake
     networkx
     openai-triton
+    # apex
+    einops
+    transformers
+    timm
+    # flash-attn
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/xkcdpass/default.nix b/nixpkgs/pkgs/development/python-modules/xkcdpass/default.nix
index 1186cac19213..4610e71876e6 100644
--- a/nixpkgs/pkgs/development/python-modules/xkcdpass/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xkcdpass/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "xkcdpass";
-  version = "1.19.3";
+  version = "1.19.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-xaLpSHRtpv5QToQEKE9FfY6Y2m31BHxrs/cbGIgunSo=";
+    hash = "sha256-KTXVS0gtGby1Rla9oBy77J7kH/1C0jWlJwX9lcq3D9c=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/yalexs/default.nix b/nixpkgs/pkgs/development/python-modules/yalexs/default.nix
index fb5fd4c88451..98e7cf7e9a85 100644
--- a/nixpkgs/pkgs/development/python-modules/yalexs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yalexs/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "yalexs";
-  version = "1.7.0";
+  version = "1.8.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Lh+3ZpOAhOQjSLoJTaLY5706I3tKy7pqQE6M1cRCYrw=";
+    hash = "sha256-ZxZIv69HooX6SUIdrtAuhOEVPN7E+E/AZ138XmzIYIE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix b/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix
index 10e7cc86b84f..1fe56ea5c747 100644
--- a/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "zeroconf";
-  version = "0.80.0";
+  version = "0.82.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "jstasiak";
     repo = "python-zeroconf";
     rev = "refs/tags/${version}";
-    hash = "sha256-+NxLQGgTFHOPyOs8yoZvtZj0D42V6qma+PHgTGwPJsg=";
+    hash = "sha256-8zfhrRjW+WucwCo5M+rPOjuqfNKI6ne3bTumwDGIcbI=";
   };
 
   nativeBuildInputs = [