about summary refs log tree commit diff
path: root/pkgs/development/python-modules
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules')
-rw-r--r--pkgs/development/python-modules/adguardhome/default.nix17
-rw-r--r--pkgs/development/python-modules/ailment/default.nix4
-rw-r--r--pkgs/development/python-modules/aiodhcpwatcher/default.nix4
-rw-r--r--pkgs/development/python-modules/aiogram/default.nix4
-rw-r--r--pkgs/development/python-modules/aiohttp-zlib-ng/default.nix4
-rw-r--r--pkgs/development/python-modules/angr/default.nix4
-rw-r--r--pkgs/development/python-modules/anova-wifi/default.nix4
-rw-r--r--pkgs/development/python-modules/archinfo/default.nix4
-rw-r--r--pkgs/development/python-modules/authheaders/default.nix10
-rw-r--r--pkgs/development/python-modules/awkward-cpp/default.nix4
-rw-r--r--pkgs/development/python-modules/awkward/default.nix4
-rw-r--r--pkgs/development/python-modules/boto3-stubs/default.nix4
-rw-r--r--pkgs/development/python-modules/botocore-stubs/default.nix4
-rw-r--r--pkgs/development/python-modules/claripy/default.nix4
-rw-r--r--pkgs/development/python-modules/cle/default.nix6
-rw-r--r--pkgs/development/python-modules/cleanlab/default.nix13
-rw-r--r--pkgs/development/python-modules/discovery30303/default.nix28
-rw-r--r--pkgs/development/python-modules/dvc-s3/default.nix17
-rw-r--r--pkgs/development/python-modules/ffcv/default.nix80
-rw-r--r--pkgs/development/python-modules/flax/default.nix34
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-monitoring/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-pubsub/default.nix4
-rw-r--r--pkgs/development/python-modules/google-generativeai/default.nix4
-rw-r--r--pkgs/development/python-modules/govee-ble/default.nix4
-rw-r--r--pkgs/development/python-modules/influxdb-client/default.nix4
-rw-r--r--pkgs/development/python-modules/jsonargparse/default.nix4
-rw-r--r--pkgs/development/python-modules/kasa-crypt/default.nix4
-rw-r--r--pkgs/development/python-modules/led-ble/default.nix4
-rw-r--r--pkgs/development/python-modules/lightning-utilities/default.nix10
-rw-r--r--pkgs/development/python-modules/llama-index-graph-stores-neo4j/default.nix4
-rw-r--r--pkgs/development/python-modules/miauth/default.nix23
-rw-r--r--pkgs/development/python-modules/mkdocs-rss-plugin/default.nix6
-rw-r--r--pkgs/development/python-modules/nats-py/default.nix4
-rw-r--r--pkgs/development/python-modules/neo4j/default.nix4
-rw-r--r--pkgs/development/python-modules/openai-triton/default.nix84
-rw-r--r--pkgs/development/python-modules/osmnx/default.nix18
-rw-r--r--pkgs/development/python-modules/plugwise/default.nix4
-rw-r--r--pkgs/development/python-modules/pyTelegramBotAPI/default.nix4
-rw-r--r--pkgs/development/python-modules/pyais/default.nix4
-rw-r--r--pkgs/development/python-modules/pyflume/default.nix4
-rw-r--r--pkgs/development/python-modules/pyftpdlib/default.nix4
-rw-r--r--pkgs/development/python-modules/pyinsteon/default.nix4
-rw-r--r--pkgs/development/python-modules/pynvml/default.nix9
-rw-r--r--pkgs/development/python-modules/pyogrio/default.nix7
-rw-r--r--pkgs/development/python-modules/python-fullykiosk/default.nix4
-rw-r--r--pkgs/development/python-modules/python-logging-loki/default.nix49
-rw-r--r--pkgs/development/python-modules/python-roborock/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvex/default.nix4
-rw-r--r--pkgs/development/python-modules/rioxarray/default.nix4
-rw-r--r--pkgs/development/python-modules/solidpython2/default.nix49
-rw-r--r--pkgs/development/python-modules/solidpython2/difftool_tests.patch35
-rw-r--r--pkgs/development/python-modules/std-uritemplate/default.nix4
-rw-r--r--pkgs/development/python-modules/tencentcloud-sdk-python/default.nix4
-rw-r--r--pkgs/development/python-modules/torch/bin.nix4
-rw-r--r--pkgs/development/python-modules/torch/default.nix7
-rw-r--r--pkgs/development/python-modules/torch/gpu-checks.nix40
-rw-r--r--pkgs/development/python-modules/torch/tests.nix3
-rw-r--r--pkgs/development/python-modules/voluptuous/default.nix4
-rw-r--r--pkgs/development/python-modules/xformers/default.nix15
-rw-r--r--pkgs/development/python-modules/xiaomi-ble/default.nix4
-rw-r--r--pkgs/development/python-modules/yalexs-ble/default.nix4
-rw-r--r--pkgs/development/python-modules/zha-quirks/default.nix4
63 files changed, 495 insertions, 229 deletions
diff --git a/pkgs/development/python-modules/adguardhome/default.nix b/pkgs/development/python-modules/adguardhome/default.nix
index 5dbaefc3db991..f7b9d512a34e6 100644
--- a/pkgs/development/python-modules/adguardhome/default.nix
+++ b/pkgs/development/python-modules/adguardhome/default.nix
@@ -13,8 +13,8 @@
 
 buildPythonPackage rec {
   pname = "adguardhome";
-  version = "0.6.3";
-  format = "pyproject";
+  version = "0.7.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.11";
 
@@ -22,21 +22,18 @@ buildPythonPackage rec {
     owner = "frenck";
     repo = "python-${pname}";
     rev = "refs/tags/v${version}";
-    hash = "sha256-V8SsWsGYmUhR9/yV6BZBK1UjYGHlDrXrF8nt0eZbTnI=";
+    hash = "sha256-n55G6ulKcgSSrgPk70D52OO9fp3WURlcRhJQUKrZ1Nk=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace "--cov" "" \
-      --replace '"0.0.0"' '"${version}"'
-
-    substituteInPlace tests/test_adguardhome.py \
-      --replace 0.0.0 ${version}
+      --replace-fail "--cov" "" \
+      --replace-fail '"0.0.0"' '"${version}"'
   '';
 
-  nativeBuildInputs = [ poetry-core ];
+  build-system = [ poetry-core ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     aiohttp
     yarl
   ];
diff --git a/pkgs/development/python-modules/ailment/default.nix b/pkgs/development/python-modules/ailment/default.nix
index 22aef7748c3b4..cdab42852cf57 100644
--- a/pkgs/development/python-modules/ailment/default.nix
+++ b/pkgs/development/python-modules/ailment/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "ailment";
-  version = "9.2.107";
+  version = "9.2.108";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = "ailment";
     rev = "refs/tags/v${version}";
-    hash = "sha256-yEwSHmAxbbdLVFatG4pKJokatCkO4RCZUMVAoBSOwTI=";
+    hash = "sha256-0Dzp6ws5/mrlQbtq3PqkX5K8DdJIkCejhfnY3pGLdtc=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/aiodhcpwatcher/default.nix b/pkgs/development/python-modules/aiodhcpwatcher/default.nix
index 4566a36e85591..16989e989305c 100644
--- a/pkgs/development/python-modules/aiodhcpwatcher/default.nix
+++ b/pkgs/development/python-modules/aiodhcpwatcher/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "aiodhcpwatcher";
-  version = "1.0.1";
+  version = "1.0.2";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "bdraco";
     repo = "aiodhcpwatcher";
     rev = "v${version}";
-    hash = "sha256-0of+no92s9SEKG1tc9lFlWR8f5Jnf3C723goQViB6+A=";
+    hash = "sha256-KZL5DejzDmizvvMUNfkFltl1xXz+2jX/3DVj60x6xOk=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/aiogram/default.nix b/pkgs/development/python-modules/aiogram/default.nix
index e100d822d50c6..5d02fe4263974 100644
--- a/pkgs/development/python-modules/aiogram/default.nix
+++ b/pkgs/development/python-modules/aiogram/default.nix
@@ -27,7 +27,7 @@
 
 buildPythonPackage rec {
   pname = "aiogram";
-  version = "3.7.0";
+  version = "3.8.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -36,7 +36,7 @@ buildPythonPackage rec {
     owner = "aiogram";
     repo = "aiogram";
     rev = "refs/tags/v${version}";
-    hash = "sha256-GIfujywp+yYRQ4xm6O5GgTCMn6I3TSYE5epaqhMGGnE=";
+    hash = "sha256-lqZnebFmNNSAOv3XcWHl+gtoWO7z27Zk0O6AJ7w+HDk=";
   };
 
   build-system = [ hatchling ];
diff --git a/pkgs/development/python-modules/aiohttp-zlib-ng/default.nix b/pkgs/development/python-modules/aiohttp-zlib-ng/default.nix
index 4d0a45414bf12..73ab81fa78a81 100644
--- a/pkgs/development/python-modules/aiohttp-zlib-ng/default.nix
+++ b/pkgs/development/python-modules/aiohttp-zlib-ng/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "aiohttp-zlib-ng";
-  version = "0.3.1";
+  version = "0.3.2";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = "aiohttp-zlib-ng";
     rev = "refs/tags/v${version}";
-    hash = "sha256-XA2XSX9KA/oBzOLJrhj78uoy6ufLbVTENYZL3y/+fwU=";
+    hash = "sha256-SiDDtadbBnw67lnqadAVSkHILB/8Sur0MfjgCbndX4o=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/angr/default.nix b/pkgs/development/python-modules/angr/default.nix
index 9f1ff6bf299c2..e62fb5ebc7db9 100644
--- a/pkgs/development/python-modules/angr/default.nix
+++ b/pkgs/development/python-modules/angr/default.nix
@@ -37,7 +37,7 @@
 
 buildPythonPackage rec {
   pname = "angr";
-  version = "9.2.107";
+  version = "9.2.108";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = "angr";
     rev = "refs/tags/v${version}";
-    hash = "sha256-f4RiLXEp4q3V2SiX6OSLHbAVCaZ5GLOvqm1qmBAYIZ8=";
+    hash = "sha256-6DjcxmqxDz2aLzYLi/Uz+FsrzeARpJtEMh/Loctyfv8=";
   };
 
   pythonRelaxDeps = [ "capstone" ];
diff --git a/pkgs/development/python-modules/anova-wifi/default.nix b/pkgs/development/python-modules/anova-wifi/default.nix
index fa0b7074094a3..f443e7f585288 100644
--- a/pkgs/development/python-modules/anova-wifi/default.nix
+++ b/pkgs/development/python-modules/anova-wifi/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "anova-wifi";
-  version = "0.13.0";
+  version = "0.14.0";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Lash-L";
     repo = "anova_wifi";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5BSkUg36k2gNfOrVNkeRwU/4SlfEua3ZU4KTZmKSq4Q=";
+    hash = "sha256-a0nc8tbbSIOxLyIcPK5prqEDdz/J0aKwmGG52iHb59U=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/archinfo/default.nix b/pkgs/development/python-modules/archinfo/default.nix
index f5331820f72d7..8842ab7201db6 100644
--- a/pkgs/development/python-modules/archinfo/default.nix
+++ b/pkgs/development/python-modules/archinfo/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.2.107";
+  version = "9.2.108";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = "archinfo";
     rev = "refs/tags/v${version}";
-    hash = "sha256-D29ddBceo4Bz3KUiQckdbV0e9uPXEOAAIHZrSpqw3BE=";
+    hash = "sha256-KMpTShw5aLQc1KMTuWVzhV7mV+Y9KnpNhVv153tggyM=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/authheaders/default.nix b/pkgs/development/python-modules/authheaders/default.nix
index 1bd70e81d3338..77df68b23c2ac 100644
--- a/pkgs/development/python-modules/authheaders/default.nix
+++ b/pkgs/development/python-modules/authheaders/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "authheaders";
-  version = "0.16.2";
+  version = "0.16.3";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -22,12 +22,12 @@ buildPythonPackage rec {
     owner = "ValiMail";
     repo = "authentication-headers";
     rev = "refs/tags/${version}";
-    hash = "sha256-/vxUUSWwysYQzcy2AmkF4f8R59FHRnBfFlPRpfM9e5o=";
+    hash = "sha256-BFMZpSJ4qCEL42xTiM/D5dkatxohiCrOWAkNZHFUhac=";
   };
 
-  nativeBuildInputs = [ setuptools ];
+  build-system = [ setuptools ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     authres
     dnspython
     dkimpy
@@ -46,10 +46,10 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Python library for the generation of email authentication headers";
-    mainProgram = "dmarc-policy-find";
     homepage = "https://github.com/ValiMail/authentication-headers";
     changelog = "https://github.com/ValiMail/authentication-headers/blob${version}/CHANGES";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
+    mainProgram = "dmarc-policy-find";
   };
 }
diff --git a/pkgs/development/python-modules/awkward-cpp/default.nix b/pkgs/development/python-modules/awkward-cpp/default.nix
index 9b4a45c2f4053..611454296cdf3 100644
--- a/pkgs/development/python-modules/awkward-cpp/default.nix
+++ b/pkgs/development/python-modules/awkward-cpp/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "awkward-cpp";
-  version = "34";
+  version = "35";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-OayBTXafOK3ppfbDm4Wwe7wFr1Y0L7FXQu3OEjf54Ek=";
+    hash = "sha256-H4sRKll70kOHlOGnIaY6phhp+pWYoXrGvYEa1vZADQY=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/awkward/default.nix b/pkgs/development/python-modules/awkward/default.nix
index f7f613148f9e5..1bd2e69742148 100644
--- a/pkgs/development/python-modules/awkward/default.nix
+++ b/pkgs/development/python-modules/awkward/default.nix
@@ -25,7 +25,7 @@
 
 buildPythonPackage rec {
   pname = "awkward";
-  version = "2.6.5";
+  version = "2.6.6";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     owner = "scikit-hep";
     repo = "awkward";
     rev = "refs/tags/v${version}";
-    hash = "sha256-HDO626bK5BH/mdLuGkeYIOz8X2N9/rkTLhQNzG1erYA=";
+    hash = "sha256-5Jg+Ki1vJ4Rz22TbqTvVtb5YLvkvP8EOQ7cmTmI6gQU=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/boto3-stubs/default.nix b/pkgs/development/python-modules/boto3-stubs/default.nix
index 734e5d4cbb133..aed55270adfed 100644
--- a/pkgs/development/python-modules/boto3-stubs/default.nix
+++ b/pkgs/development/python-modules/boto3-stubs/default.nix
@@ -366,7 +366,7 @@
 
 buildPythonPackage rec {
   pname = "boto3-stubs";
-  version = "1.34.132";
+  version = "1.34.134";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -374,7 +374,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "boto3_stubs";
     inherit version;
-    hash = "sha256-NHl+3LxgiiX6qb9a6nbXLWpdUExXVJJYYMlS5DHLRa4=";
+    hash = "sha256-KtCBgH1xCgzVP4ZkgN5225+Y9K1xBtlHr/sOivPIjrw=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/botocore-stubs/default.nix b/pkgs/development/python-modules/botocore-stubs/default.nix
index f19fa9a271455..c593c5dbb3645 100644
--- a/pkgs/development/python-modules/botocore-stubs/default.nix
+++ b/pkgs/development/python-modules/botocore-stubs/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "botocore-stubs";
-  version = "1.34.132";
+  version = "1.34.134";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "botocore_stubs";
     inherit version;
-    hash = "sha256-LCqam3eYIneIlUbkRTRJK6IH8VukH+7zYzngef89rHI=";
+    hash = "sha256-48CK8m0HEc7vNWzSVKDYdy95S4zZ2o+eujLk8EYMRvg=";
   };
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/pkgs/development/python-modules/claripy/default.nix b/pkgs/development/python-modules/claripy/default.nix
index 3cc8b05aad735..6b9108aea977c 100644
--- a/pkgs/development/python-modules/claripy/default.nix
+++ b/pkgs/development/python-modules/claripy/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "claripy";
-  version = "9.2.107";
+  version = "9.2.108";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = "claripy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-89wh/SuwxOuORk3S42VA/cJh1GACFWB4ceUxp2OszQM=";
+    hash = "sha256-CTCgiwt/vMJugo1KS5zugbfwk/a3TeMX/ezk9wkMsoo=";
   };
 
   # z3 does not provide a dist-info, so python-runtime-deps-check will fail
diff --git a/pkgs/development/python-modules/cle/default.nix b/pkgs/development/python-modules/cle/default.nix
index f828e4c4b2ea8..ac93d8c9fb7e5 100644
--- a/pkgs/development/python-modules/cle/default.nix
+++ b/pkgs/development/python-modules/cle/default.nix
@@ -19,14 +19,14 @@
 
 let
   # The binaries are following the argr projects release cycle
-  version = "9.2.107";
+  version = "9.2.108";
 
   # Binary files from https://github.com/angr/binaries (only used for testing and only here)
   binaries = fetchFromGitHub {
     owner = "angr";
     repo = "binaries";
     rev = "refs/tags/v${version}";
-    hash = "sha256-7b3kjPoaJ9z1wdz125XsD0hj5FXj9DmUt8Hpqd/AjKs=";
+    hash = "sha256-d3Hs3k7PmOZqvLoiHD9HctaEHHOafCefjUcKGBPIiHU=";
   };
 in
 buildPythonPackage rec {
@@ -40,7 +40,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = "cle";
     rev = "refs/tags/v${version}";
-    hash = "sha256-0dfnp0sIxO4Ln20c57Wb9B0E987v+xhrX53yriC+Qy0=";
+    hash = "sha256-3zzTH6WKAavB/lkLBastOdeKegO8IyKRGN7k2vnX5WA=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/cleanlab/default.nix b/pkgs/development/python-modules/cleanlab/default.nix
index b7c2070ebcea3..e5f227f7545e1 100644
--- a/pkgs/development/python-modules/cleanlab/default.nix
+++ b/pkgs/development/python-modules/cleanlab/default.nix
@@ -1,14 +1,19 @@
 {
   lib,
   buildPythonPackage,
-  fetchFromGitHub,
   pythonOlder,
+  fetchFromGitHub,
+
+  # build-system
+  setuptools,
+
+  # dependencies
   numpy,
   scikit-learn,
   termcolor,
   tqdm,
   pandas,
-  setuptools,
+
   # test dependencies
   datasets,
   fasttext,
@@ -26,7 +31,7 @@
 
 buildPythonPackage rec {
   pname = "cleanlab";
-  version = "2.6.5";
+  version = "2.6.6";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -35,7 +40,7 @@ buildPythonPackage rec {
     owner = "cleanlab";
     repo = "cleanlab";
     rev = "refs/tags/v${version}";
-    hash = "sha256-wehvGh27Ey1YK+eWTjT6jRwa7yqPpx3P0HUNePoljpw=";
+    hash = "sha256-08ePFTCRuggr4hTCfr/gbzMhLozz4KCywhPFSKYDNng=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/discovery30303/default.nix b/pkgs/development/python-modules/discovery30303/default.nix
index 823207a087af4..d6a8a50d93b83 100644
--- a/pkgs/development/python-modules/discovery30303/default.nix
+++ b/pkgs/development/python-modules/discovery30303/default.nix
@@ -2,27 +2,31 @@
   lib,
   buildPythonPackage,
   fetchFromGitHub,
-  pythonOlder,
   poetry-core,
   pytest-asyncio,
   pytestCheckHook,
+  pythonOlder,
 }:
 
 buildPythonPackage rec {
   pname = "discovery30303";
-  version = "0.2.1";
-  format = "pyproject";
+  version = "0.3.2";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "bdraco";
-    repo = pname;
-    # Commit points to 0.2.1, https://github.com/bdraco/discovery30303/issues/1
-    rev = "0d0b0fdca1a98662dd2e6174d25853703bd6bf07";
-    hash = "sha256-WSVMhiJxASxAkxs6RGuAVvEFS8TPxDKE9M99Rp8HKGM=";
+    repo = "discovery30303";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-P31P5GjIrMotdIXqqZ6LCbk5MIl2Kq4MzlWDw+aOcrE=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace-fail " --cov=discovery30303" ""
+  '';
+
   nativeBuildInputs = [ poetry-core ];
 
   nativeCheckInputs = [
@@ -32,17 +36,13 @@ buildPythonPackage rec {
 
   pytestFlagsArray = [ "--asyncio-mode=auto" ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace " --cov=discovery30303" ""
-  '';
-
   pythonImportsCheck = [ "discovery30303" ];
 
   meta = with lib; {
     description = "Module to discover devices that respond on port 30303";
     homepage = "https://github.com/bdraco/discovery30303";
-    license = with licenses; [ asl20 ];
+    changelog = "https://github.com/bdraco/discovery30303/releases/tag/v${version}";
+    license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/pkgs/development/python-modules/dvc-s3/default.nix b/pkgs/development/python-modules/dvc-s3/default.nix
index e6a18d59f272a..d85b3ecf9d522 100644
--- a/pkgs/development/python-modules/dvc-s3/default.nix
+++ b/pkgs/development/python-modules/dvc-s3/default.nix
@@ -13,12 +13,13 @@
 
 buildPythonPackage rec {
   pname = "dvc-s3";
-  version = "3.1.0";
+  version = "3.2.0";
   pyproject = true;
 
   src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-0yD5FsinQat3cbmY5teClFS0KEGUvED2Ah/JCbTtZ/s=";
+    pname = "dvc_s3";
+    inherit version;
+    hash = "sha256-HQEqwdzkdlmYb5GBI7SJMc+bNCmrC0oi/UsCRIGFzrY=";
   };
 
   # Prevent circular dependency
@@ -26,15 +27,19 @@ buildPythonPackage rec {
 
   # dvc-s3 uses boto3 directly, we add in propagatedBuildInputs
   postPatch = ''
-    substituteInPlace setup.cfg --replace 'aiobotocore[boto3]' 'aiobotocore'
+    substituteInPlace pyproject.toml \
+      --replace-fail "aiobotocore[boto3]" "aiobotocore"
   '';
 
-  nativeBuildInputs = [
+  build-system = [
     setuptools-scm
+  ];
+
+  nativeBuildInputs = [
     pythonRelaxDepsHook
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     aiobotocore
     boto3
     dvc-objects
diff --git a/pkgs/development/python-modules/ffcv/default.nix b/pkgs/development/python-modules/ffcv/default.nix
index 05750d9baed31..d9c37657adf36 100644
--- a/pkgs/development/python-modules/ffcv/default.nix
+++ b/pkgs/development/python-modules/ffcv/default.nix
@@ -1,6 +1,8 @@
 {
   buildPythonPackage,
+  pythonAtLeast,
   fetchFromGitHub,
+  setuptools,
   lib,
   libjpeg,
   numba,
@@ -10,12 +12,20 @@
   pytorch-pfn-extras,
   terminaltables,
   tqdm,
+  pytestCheckHook,
+  assertpy,
+  psutil,
+  torchvision,
+  webdataset,
 }:
 
 buildPythonPackage rec {
   pname = "ffcv";
   version = "1.0.0";
-  format = "setuptools";
+  pyproject = true;
+
+  # version 1.0.0 uses distutils which was removed in Python 3.12
+  disabled = pythonAtLeast "3.12";
 
   src = fetchFromGitHub {
     owner = "libffcv";
@@ -27,15 +37,13 @@ buildPythonPackage rec {
   # See https://github.com/libffcv/ffcv/issues/159.
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "'assertpy'," "" \
-      --replace "'fastargs'," "" \
-      --replace "'imgcat'," "" \
-      --replace "'matplotlib'," "" \
-      --replace "'psutil'," "" \
-      --replace "'sklearn'," "" \
-      --replace "'webdataset'," ""
+      --replace-fail "'assertpy'," "" \
+      --replace-fail "'fastargs'," "" \
+      --replace-fail "'opencv-python'," "" \
+      --replace-fail "'psutil'," "" \
   '';
 
+  build-system = [ setuptools ];
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ libjpeg ];
   propagatedBuildInputs = [
@@ -47,16 +55,58 @@ buildPythonPackage rec {
     tqdm
   ];
 
-  # `ffcv._libffcv*.so` cannot be loaded in the nix build environment for some
-  # reason. See https://github.com/NixOS/nixpkgs/pull/160441#issuecomment-1045204722.
-  doCheck = false;
-
   pythonImportsCheck = [ "ffcv" ];
 
-  meta = with lib; {
+  # C/C++ python modules are only in the installed output and not in the build
+  # directory. Since tests are run from the build directory python prefers to
+  # import the local module first which does not contain the C/C++ python
+  # modules and results in an import error. By changing the directory to
+  # 'tests' the build directory is no long available and python will import
+  # from the installed output in the nix store which does contain the C/C++
+  # python modules.
+  preCheck = ''
+    cd tests
+  '';
+
+  nativeCheckInputs = [
+    assertpy
+    psutil
+    pytestCheckHook
+    torchvision
+    webdataset
+  ];
+
+  disabledTestPaths = [
+    # Tests require network access and do not work in the sandbox
+    "test_augmentations.py"
+    # Occasionally causes the testing phase to hang
+    "test_basic_pipeline.py"
+  ];
+
+  disabledTests = [
+    # Tests require network access and do not work in the sandbox
+    "test_cifar_subset"
+    # Requires CUDA which is unfree and unfree packages are not built by Hydra
+    "test_cuda"
+    "test_gpu_normalization"
+    # torch.multiprocessing.spawn.ProcessRaisedException
+    "test_traversal_sequential_2"
+    "test_traversal_sequential_3"
+    "test_traversal_sequential_4"
+    "test_traversal_random_2"
+    "test_traversal_random_3"
+    "test_traversal_random_4"
+    "test_traversal_sequential_distributed_with_indices"
+    "test_traversal_random_distributed_with_indices"
+  ];
+
+  meta = {
     description = "FFCV: Fast Forward Computer Vision";
     homepage = "https://ffcv.io";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ samuela ];
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [
+      samuela
+      djacu
+    ];
   };
 }
diff --git a/pkgs/development/python-modules/flax/default.nix b/pkgs/development/python-modules/flax/default.nix
index 7c443368bd41f..955177b9bbca3 100644
--- a/pkgs/development/python-modules/flax/default.nix
+++ b/pkgs/development/python-modules/flax/default.nix
@@ -1,32 +1,40 @@
 {
   lib,
   buildPythonPackage,
-  cloudpickle,
-  einops,
+  pythonOlder,
   fetchFromGitHub,
-  jax,
+
+  # build-system
   jaxlib,
-  keras,
-  matplotlib,
+  pythonRelaxDepsHook,
+  setuptools-scm,
+
+  # dependencies
+  jax,
   msgpack,
   numpy,
   optax,
   orbax-checkpoint,
-  pytest-xdist,
-  pytestCheckHook,
-  pythonOlder,
-  pythonRelaxDepsHook,
   pyyaml,
   rich,
-  setuptools-scm,
-  tensorflow,
   tensorstore,
   typing-extensions,
+
+  # checks
+  cloudpickle,
+  einops,
+  keras,
+  pytest-xdist,
+  pytestCheckHook,
+  tensorflow,
+
+  # optional-dependencies
+  matplotlib,
 }:
 
 buildPythonPackage rec {
   pname = "flax";
-  version = "0.8.4";
+  version = "0.8.5";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -35,7 +43,7 @@ buildPythonPackage rec {
     owner = "google";
     repo = "flax";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ZwqKZdJ9LOfWTav5nE9xMsMw/DbryqQUuu5fqeugBzY=";
+    hash = "sha256-6WOFq0758gtNdrlWqSQBlKmWVIGe5e4PAaGrvHoGjr0=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/google-cloud-bigquery/default.nix b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
index 35de32bea6c51..7062b2b2e3d84 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
@@ -30,14 +30,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery";
-  version = "3.24.0";
+  version = "3.25.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-6V5vbgqjLmxFPUTisymJMf3XlHwwnqMpoxtv8fk54X4=";
+    hash = "sha256-Wyr/MgWoVEgRF0NoNq4UA/EfJZTmgQqYiGr9V+2ihQk=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/google-cloud-monitoring/default.nix b/pkgs/development/python-modules/google-cloud-monitoring/default.nix
index f3cafa489d6e5..fb5e089228f7f 100644
--- a/pkgs/development/python-modules/google-cloud-monitoring/default.nix
+++ b/pkgs/development/python-modules/google-cloud-monitoring/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-monitoring";
-  version = "2.21.0";
+  version = "2.22.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-57HIdY/DVj/7mjR7xRcuJ4L0TBIbyA/BUoPiic/2db8=";
+    hash = "sha256-SUaW4XiMVe9bL61GSBP92fWRF/wogZt9nSehhz17f60=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/google-cloud-pubsub/default.nix b/pkgs/development/python-modules/google-cloud-pubsub/default.nix
index 8ba2f84e072f3..4f4877e3589a8 100644
--- a/pkgs/development/python-modules/google-cloud-pubsub/default.nix
+++ b/pkgs/development/python-modules/google-cloud-pubsub/default.nix
@@ -18,14 +18,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-pubsub";
-  version = "2.21.4";
+  version = "2.21.5";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-LLjHaYrb/qBEjbbIm3iqchf84HweN7RtPlNfoWM/OuY=";
+    hash = "sha256-T6lufyADWczEnPZlfjGsNfXm5V0A+7PO36ZykDz3WyQ=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/google-generativeai/default.nix b/pkgs/development/python-modules/google-generativeai/default.nix
index 13f9386eb135c..21730414ed6c3 100644
--- a/pkgs/development/python-modules/google-generativeai/default.nix
+++ b/pkgs/development/python-modules/google-generativeai/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "google-generativeai";
-  version = "0.7.0";
+  version = "0.7.1";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "google";
     repo = "generative-ai-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-cK5Go5mFy+dC5/B4aMLDjZytNZn79r+ZvOEwAW0FPrI=";
+    hash = "sha256-4pfcZIRPxkZkKjzYtOn3r7mn0pJZeUzkYidZmePgDys=";
   };
 
   pythonRelaxDeps = [ "google-ai-generativelanguage" ];
diff --git a/pkgs/development/python-modules/govee-ble/default.nix b/pkgs/development/python-modules/govee-ble/default.nix
index 07e60b09b516a..c9a97a114c956 100644
--- a/pkgs/development/python-modules/govee-ble/default.nix
+++ b/pkgs/development/python-modules/govee-ble/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "govee-ble";
-  version = "0.31.2";
+  version = "0.31.3";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = "govee-ble";
     rev = "refs/tags/v${version}";
-    hash = "sha256-aWSf80WmVopkvqCzQKHEw9McrfepZcN+fhrUP90gf5U=";
+    hash = "sha256-Gb9k2MieRKSJeKpmltL9HYA7pYKTSTWLGDgo52mY6xA=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/influxdb-client/default.nix b/pkgs/development/python-modules/influxdb-client/default.nix
index 0c959277f31e1..7fe84b567d362 100644
--- a/pkgs/development/python-modules/influxdb-client/default.nix
+++ b/pkgs/development/python-modules/influxdb-client/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "influxdb-client";
-  version = "1.43.0";
+  version = "1.44.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "influxdata";
     repo = "influxdb-client-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-CwSqJj9MslcvTzYGaDRygskSxbSh80uCJQM2tNz743k=";
+    hash = "sha256-iG9edGHqhExUoL+1q8s5QvY/mrYOMosgtA2P1zwO3o8=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/jsonargparse/default.nix b/pkgs/development/python-modules/jsonargparse/default.nix
index ec01c1beffe3f..d7622853b16af 100644
--- a/pkgs/development/python-modules/jsonargparse/default.nix
+++ b/pkgs/development/python-modules/jsonargparse/default.nix
@@ -26,7 +26,7 @@
 
 buildPythonPackage rec {
   pname = "jsonargparse";
-  version = "4.30.0";
+  version = "4.31.0";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     owner = "omni-us";
     repo = "jsonargparse";
     rev = "refs/tags/v${version}";
-    hash = "sha256-jeQOnJ8dLUbp60Nk5v4NYKVR8VYlGz08QHIfQotO2uY=";
+    hash = "sha256-wtiVUf7aA0++XKb2hVcXeyKneY4eq5M4FN1JbdxMh9Q=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/kasa-crypt/default.nix b/pkgs/development/python-modules/kasa-crypt/default.nix
index 44d86fc29a5a3..2622f3d3bb9a3 100644
--- a/pkgs/development/python-modules/kasa-crypt/default.nix
+++ b/pkgs/development/python-modules/kasa-crypt/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "kasa-crypt";
-  version = "0.4.2";
+  version = "0.4.4";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = "kasa-crypt";
     rev = "refs/tags/v${version}";
-    hash = "sha256-7PLOuWxA5ziOuysSu+nLWNmNA3/sbuUCuZcMRBflf6U=";
+    hash = "sha256-9uDloaf9w75O+7r27PK/xOf0TrK43ndxnTUcm4CmOXo=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/led-ble/default.nix b/pkgs/development/python-modules/led-ble/default.nix
index b02f4edb45776..595e353c431b5 100644
--- a/pkgs/development/python-modules/led-ble/default.nix
+++ b/pkgs/development/python-modules/led-ble/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "led-ble";
-  version = "1.0.1";
+  version = "1.0.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-8DBA01QjW99OVYI9zC1Q+utnwzc10idUG7y+lmUbO4A=";
+    hash = "sha256-4z6SJE/VFNa81ecDal2IEX9adYBrSzco9VfhUPKBj4k=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/lightning-utilities/default.nix b/pkgs/development/python-modules/lightning-utilities/default.nix
index 2d9ff69847724..504b5e616c125 100644
--- a/pkgs/development/python-modules/lightning-utilities/default.nix
+++ b/pkgs/development/python-modules/lightning-utilities/default.nix
@@ -18,14 +18,14 @@
 
 buildPythonPackage rec {
   pname = "lightning-utilities";
-  version = "0.11.2";
+  version = "0.11.3.post0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Lightning-AI";
     repo = "utilities";
     rev = "refs/tags/v${version}";
-    hash = "sha256-IT9aRAUNc2cP2erLr0MglZSVLfDjOxg8PVIIe9AvO0o=";
+    hash = "sha256-pOy8BCNwuPcM6cvUl295y+0QrcWOq2rT9iZMKyBxpqg=";
   };
 
   build-system = [ setuptools ];
@@ -67,12 +67,12 @@ buildPythonPackage rec {
     "ignore::DeprecationWarning"
   ];
 
-  meta = with lib; {
+  meta = {
     changelog = "https://github.com/Lightning-AI/utilities/releases/tag/v${version}";
     description = "Common Python utilities and GitHub Actions in Lightning Ecosystem";
     homepage = "https://github.com/Lightning-AI/utilities";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ GaetanLepage ];
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ GaetanLepage ];
     broken = pythonAtLeast "3.12";
   };
 }
diff --git a/pkgs/development/python-modules/llama-index-graph-stores-neo4j/default.nix b/pkgs/development/python-modules/llama-index-graph-stores-neo4j/default.nix
index 71b90f73f1964..06d00b774787c 100644
--- a/pkgs/development/python-modules/llama-index-graph-stores-neo4j/default.nix
+++ b/pkgs/development/python-modules/llama-index-graph-stores-neo4j/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "llama-index-graph-stores-neo4j";
-  version = "0.2.5";
+  version = "0.2.6";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "llama_index_graph_stores_neo4j";
     inherit version;
-    hash = "sha256-K+k3tsELhF6TXVK/voMRYpb0vVkGQpkzYnB9syCLmoY=";
+    hash = "sha256-xv/Z/HLFUEfLqjE4052bc8aBJq3bvreYD/XZw1vijQQ=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/miauth/default.nix b/pkgs/development/python-modules/miauth/default.nix
index 7ebf4124dcc41..7070577839212 100644
--- a/pkgs/development/python-modules/miauth/default.nix
+++ b/pkgs/development/python-modules/miauth/default.nix
@@ -1,19 +1,13 @@
 {
   lib,
+  bluepy,
   buildPythonPackage,
+  cryptography,
   fetchPypi,
+  pytestCheckHook,
   pythonOlder,
   pythonRelaxDepsHook,
-
-  # build-system
   setuptools,
-
-  # dependencies
-  bluepy,
-  cryptography,
-
-  # tests
-  pytestCheckHook,
 }:
 
 buildPythonPackage rec {
@@ -28,14 +22,13 @@ buildPythonPackage rec {
     hash = "sha256-2/4nFInpdY8fb/b+sXhgT6ZPtEgBV+KHMyLnxIp6y/U=";
   };
 
-  nativeBuildInputs = [
-    setuptools
-    pythonRelaxDepsHook
-  ];
+  build-system = [ setuptools ];
+
+  nativeBuildInputs = [ pythonRelaxDepsHook ];
 
   pythonRelaxDeps = [ "cryptography" ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     bluepy
     cryptography
   ];
@@ -46,9 +39,9 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Authenticate and interact with Xiaomi devices over BLE";
-    mainProgram = "miauth";
     homepage = "https://github.com/dnandha/miauth";
     license = licenses.agpl3Only;
     maintainers = with maintainers; [ fab ];
+    mainProgram = "miauth";
   };
 }
diff --git a/pkgs/development/python-modules/mkdocs-rss-plugin/default.nix b/pkgs/development/python-modules/mkdocs-rss-plugin/default.nix
index f35fa16cd400e..d3fdfd625bb1a 100644
--- a/pkgs/development/python-modules/mkdocs-rss-plugin/default.nix
+++ b/pkgs/development/python-modules/mkdocs-rss-plugin/default.nix
@@ -1,6 +1,7 @@
 {
   lib,
   buildPythonPackage,
+  cachecontrol,
   feedparser,
   fetchFromGitHub,
   gitpython,
@@ -14,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "mkdocs-rss-plugin";
-  version = "1.13.1";
+  version = "1.14.0";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -23,7 +24,7 @@ buildPythonPackage rec {
     owner = "Guts";
     repo = "mkdocs-rss-plugin";
     rev = "refs/tags/${version}";
-    hash = "sha256-FxVyPks42hoj2y2epZjSNuTOvhDk3Vxm895a4teeSuw=";
+    hash = "sha256-4/sLwdScYatDXfAGbEsiYMdQ7IYMSlA3X1u04G3XcOc=";
   };
 
   postPatch = ''
@@ -33,6 +34,7 @@ buildPythonPackage rec {
   build-system = [ setuptools ];
 
   dependencies = [
+    cachecontrol
     gitpython
     mkdocs
   ];
diff --git a/pkgs/development/python-modules/nats-py/default.nix b/pkgs/development/python-modules/nats-py/default.nix
index 7102d87286bb7..a79a068f86dd0 100644
--- a/pkgs/development/python-modules/nats-py/default.nix
+++ b/pkgs/development/python-modules/nats-py/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "nats-py";
-  version = "2.7.2";
+  version = "2.8.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "nats-io";
     repo = "nats.py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5lvdt1JbOmdts0CYU00bSmv0LsMQsOe//yUgyevBULE=";
+    hash = "sha256-xPjyi5dFR9xVp1Fl6mM2JNKTRlLBQ6J9aB0dpjnZ+eQ=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/neo4j/default.nix b/pkgs/development/python-modules/neo4j/default.nix
index 1dc1de3daab13..d1a6903a666b0 100644
--- a/pkgs/development/python-modules/neo4j/default.nix
+++ b/pkgs/development/python-modules/neo4j/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "neo4j";
-  version = "5.21.0";
+  version = "5.22.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "neo4j";
     repo = "neo4j-python-driver";
     rev = "refs/tags/${version}";
-    hash = "sha256-SGRe5O+6HqLFu4VQc0QC+91KVjqKeqNt5hIBwophvP0=";
+    hash = "sha256-/yilbKui0D49zviNM9MI5ElGAYPB3MlbMgpDyI1kVX8=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/openai-triton/default.nix b/pkgs/development/python-modules/openai-triton/default.nix
index 1b4d713311ee1..d1aaed52052dd 100644
--- a/pkgs/development/python-modules/openai-triton/default.nix
+++ b/pkgs/development/python-modules/openai-triton/default.nix
@@ -1,10 +1,10 @@
 {
   lib,
   config,
+  addDriverRunpath,
   buildPythonPackage,
   fetchFromGitHub,
   fetchpatch,
-  addOpenGLRunpath,
   setuptools,
   pytestCheckHook,
   pythonRelaxDepsHook,
@@ -57,6 +57,52 @@ buildPythonPackage rec {
       ./0001-ptxas-disable-version-key-for-non-cuda-targets.patch
     ];
 
+  postPatch =
+    let
+      quote = x: ''"${x}"'';
+      subs.ldFlags =
+        let
+          # Bash was getting weird without linting,
+          # but basically upstream contains [cc, ..., "-lcuda", ...]
+          # and we replace it with [..., "-lcuda", "-L/run/opengl-driver/lib", "-L$stubs", ...]
+          old = [ "-lcuda" ];
+          new = [
+            "-lcuda"
+            "-L${addDriverRunpath.driverLink}"
+            "-L${cudaPackages.cuda_cudart}/lib/stubs/"
+          ];
+        in
+        {
+          oldStr = lib.concatMapStringsSep ", " quote old;
+          newStr = lib.concatMapStringsSep ", " quote new;
+        };
+    in
+    ''
+      # Use our `cmakeFlags` instead and avoid downloading dependencies
+      substituteInPlace python/setup.py \
+        --replace "= get_thirdparty_packages(triton_cache_path)" "= os.environ[\"cmakeFlags\"].split()"
+
+      # Already defined in llvm, when built with -DLLVM_INSTALL_UTILS
+      substituteInPlace bin/CMakeLists.txt \
+        --replace "add_subdirectory(FileCheck)" ""
+
+      # Don't fetch googletest
+      substituteInPlace unittest/CMakeLists.txt \
+        --replace "include (\''${CMAKE_CURRENT_SOURCE_DIR}/googletest.cmake)" ""\
+        --replace "include(GoogleTest)" "find_package(GTest REQUIRED)"
+
+      cat << \EOF > python/triton/common/build.py
+
+      def libcuda_dirs():
+          return [ "${addDriverRunpath.driverLink}/lib" ]
+      EOF
+    ''
+    + lib.optionalString cudaSupport ''
+      # Use our linker flags
+      substituteInPlace python/triton/common/build.py \
+        --replace '${subs.ldFlags.oldStr}' '${subs.ldFlags.newStr}'
+    '';
+
   nativeBuildInputs = [
     setuptools
     pythonRelaxDepsHook
@@ -87,42 +133,6 @@ buildPythonPackage rec {
     setuptools
   ];
 
-  postPatch =
-    let
-      # Bash was getting weird without linting,
-      # but basically upstream contains [cc, ..., "-lcuda", ...]
-      # and we replace it with [..., "-lcuda", "-L/run/opengl-driver/lib", "-L$stubs", ...]
-      old = [ "-lcuda" ];
-      new = [
-        "-lcuda"
-        "-L${addOpenGLRunpath.driverLink}"
-        "-L${cudaPackages.cuda_cudart}/lib/stubs/"
-      ];
-
-      quote = x: ''"${x}"'';
-      oldStr = lib.concatMapStringsSep ", " quote old;
-      newStr = lib.concatMapStringsSep ", " quote new;
-    in
-    ''
-      # Use our `cmakeFlags` instead and avoid downloading dependencies
-      substituteInPlace python/setup.py \
-        --replace "= get_thirdparty_packages(triton_cache_path)" "= os.environ[\"cmakeFlags\"].split()"
-
-      # Already defined in llvm, when built with -DLLVM_INSTALL_UTILS
-      substituteInPlace bin/CMakeLists.txt \
-        --replace "add_subdirectory(FileCheck)" ""
-
-      # Don't fetch googletest
-      substituteInPlace unittest/CMakeLists.txt \
-        --replace "include (\''${CMAKE_CURRENT_SOURCE_DIR}/googletest.cmake)" ""\
-        --replace "include(GoogleTest)" "find_package(GTest REQUIRED)"
-    ''
-    + lib.optionalString cudaSupport ''
-      # Use our linker flags
-      substituteInPlace python/triton/common/build.py \
-        --replace '${oldStr}' '${newStr}'
-    '';
-
   # Avoid GLIBCXX mismatch with other cuda-enabled python packages
   preConfigure =
     ''
diff --git a/pkgs/development/python-modules/osmnx/default.nix b/pkgs/development/python-modules/osmnx/default.nix
index 97488f2810fd2..673296d719f53 100644
--- a/pkgs/development/python-modules/osmnx/default.nix
+++ b/pkgs/development/python-modules/osmnx/default.nix
@@ -21,21 +21,21 @@
 
 buildPythonPackage rec {
   pname = "osmnx";
-  version = "1.9.1";
+  version = "1.9.3";
   pyproject = true;
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "gboeing";
     repo = "osmnx";
     rev = "refs/tags/v${version}";
-    hash = "sha256-od/0IuiK2CvrD0lfcTzkImK/5hcm6m61ULYzEtv/YeA=";
+    hash = "sha256-Tn800wFoPi5VkZmu9wUVM+EmCj/xxU2EJ6iwnA1VKXo=";
   };
 
-  nativeBuildInputs = [ hatchling ];
+  build-system = [ hatchling ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     geopandas
     matplotlib
     networkx
@@ -56,11 +56,11 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "osmnx" ];
 
-  meta = with lib; {
+  meta = {
     description = "Package to easily download, construct, project, visualize, and analyze complex street networks from OpenStreetMap with NetworkX";
     homepage = "https://github.com/gboeing/osmnx";
-    changelog = "https://github.com/gboeing/osmnx/blob/v${version}/CHANGELOG.md";
-    license = licenses.mit;
-    maintainers = with maintainers; [ psyanticy ];
+    changelog = "https://github.com/gboeing/osmnx/blob/${src.rev}/CHANGELOG.md";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ psyanticy ];
   };
 }
diff --git a/pkgs/development/python-modules/plugwise/default.nix b/pkgs/development/python-modules/plugwise/default.nix
index e40bea699f8b4..75c281ae22b9f 100644
--- a/pkgs/development/python-modules/plugwise/default.nix
+++ b/pkgs/development/python-modules/plugwise/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "plugwise";
-  version = "0.37.4.1";
+  version = "0.38.3";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "plugwise";
     repo = "python-plugwise";
     rev = "refs/tags/v${version}";
-    hash = "sha256-4B/rnwrkeridIgMD8gUVYXYVbrmQhQqDOa8Ot1ae/Ls=";
+    hash = "sha256-DFHKycFWtR8moLyGaiDVqnrlg+ydgR8/UVgkUpzqAuY=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pyTelegramBotAPI/default.nix b/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
index e5f32b9507560..e86332342bb9b 100644
--- a/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
+++ b/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "pytelegrambotapi";
-  version = "4.19.0";
+  version = "4.20.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "eternnoir";
     repo = "pyTelegramBotAPI";
     rev = "refs/tags/${version}";
-    hash = "sha256-vyhX6TG3B6f1u49ngzdaCOZwSnEUQ2XMiq80bqCSmxU=";
+    hash = "sha256-JKT3kllOV9VEwhUwv3geAP5ibJgaAApCahD1N4V5SE8=";
   };
 
   build-system = [ hatchling ];
diff --git a/pkgs/development/python-modules/pyais/default.nix b/pkgs/development/python-modules/pyais/default.nix
index 2070b0616cb10..2cbeb25693b95 100644
--- a/pkgs/development/python-modules/pyais/default.nix
+++ b/pkgs/development/python-modules/pyais/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyais";
-  version = "2.6.5";
+  version = "2.6.6";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "M0r13n";
     repo = "pyais";
     rev = "refs/tags/v${version}";
-    hash = "sha256-/I/4ATvX/0ya8xtineXyjSFJBGhDNy/tosh2NdnKLK4=";
+    hash = "sha256-8i852bf0FRaorI3vJnuHTZSik6yoqtHr3wbafSvKmBM=";
   };
 
   nativeBuildInputs = [ setuptools ];
diff --git a/pkgs/development/python-modules/pyflume/default.nix b/pkgs/development/python-modules/pyflume/default.nix
index 32f0016deed24..e838e7c2159e4 100644
--- a/pkgs/development/python-modules/pyflume/default.nix
+++ b/pkgs/development/python-modules/pyflume/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pyflume";
-  version = "0.8.3";
+  version = "0.8.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.10";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "ChrisMandich";
     repo = "PyFlume";
     rev = "refs/tags/v${version}";
-    hash = "sha256-RtzbAXjMtvKc8vnZIxIJnc6CS+BrYcQgdy5bVaJumg0=";
+    hash = "sha256-/8gLKe+6GaPQe0J3YBmOVcAcAcqfrWM7UQCoX+qOEmw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyftpdlib/default.nix b/pkgs/development/python-modules/pyftpdlib/default.nix
index e154e6f9a1a8a..81cc96051c257 100644
--- a/pkgs/development/python-modules/pyftpdlib/default.nix
+++ b/pkgs/development/python-modules/pyftpdlib/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pyftpdlib";
-  version = "1.5.9";
+  version = "1.5.10";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Mj1MQvFAau203xj69oD2TzLAgP9m9sJgkLpZL1v8Sg8=";
+    hash = "sha256-jb3rEhW8ui+3SNrjH/2xqwCFQMKNE7NwThePNooIcSg=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/pyinsteon/default.nix b/pkgs/development/python-modules/pyinsteon/default.nix
index af11516e851a1..fe3c2dc444d75 100644
--- a/pkgs/development/python-modules/pyinsteon/default.nix
+++ b/pkgs/development/python-modules/pyinsteon/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "pyinsteon";
-  version = "1.6.2";
+  version = "1.6.3";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "pyinsteon";
     repo = "pyinsteon";
     rev = "refs/tags/${version}";
-    hash = "sha256-V1sYLKKlTMG9Km53uNCU34e8D/owxuDNT+HGZxtK21I=";
+    hash = "sha256-SyhPM3NS7iJX8jwTJ4YWZ72eYLn9JT6eESekPf5eCKI=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/pynvml/default.nix b/pkgs/development/python-modules/pynvml/default.nix
index a115cd723998f..762771c66a2bb 100644
--- a/pkgs/development/python-modules/pynvml/default.nix
+++ b/pkgs/development/python-modules/pynvml/default.nix
@@ -1,6 +1,7 @@
 {
   lib,
   buildPythonPackage,
+  cudaPackages,
   fetchFromGitHub,
   substituteAll,
   pythonOlder,
@@ -8,6 +9,7 @@
   setuptools,
   pytestCheckHook,
   versioneer,
+  pynvml,
 }:
 
 buildPythonPackage rec {
@@ -50,6 +52,13 @@ buildPythonPackage rec {
   # OSError: /run/opengl-driver/lib/libnvidia-ml.so.1: cannot open shared object file: No such file or directory
   doCheck = false;
 
+  passthru.tests.tester-nvmlInit = cudaPackages.writeGpuTestPython { libraries = [ pynvml ]; } ''
+    import pynvml
+    from pynvml.smi import nvidia_smi  # noqa: F401
+
+    print(f"{pynvml.nvmlInit()=}")
+  '';
+
   meta = with lib; {
     description = "Python bindings for the NVIDIA Management Library";
     homepage = "https://github.com/gpuopenanalytics/pynvml";
diff --git a/pkgs/development/python-modules/pyogrio/default.nix b/pkgs/development/python-modules/pyogrio/default.nix
index 551fde29bafe8..63f798d21d859 100644
--- a/pkgs/development/python-modules/pyogrio/default.nix
+++ b/pkgs/development/python-modules/pyogrio/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "pyogrio";
-  version = "0.8.0";
+  version = "0.9.0";
   pyproject = true;
   disabled = pythonOlder "3.8";
 
@@ -25,15 +25,12 @@ buildPythonPackage rec {
     owner = "geopandas";
     repo = "pyogrio";
     rev = "v${version}";
-    hash = "sha256-h4Rv5xOWSJSv0nLbosviz5EiF/IsZO5wzBel9YRd0Bg=";
+    hash = "sha256-HC7+dDehDwEIDQnCMYrsC1jE78AyfHqEhfOZLYSzTIw=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
       --replace-fail "versioneer[toml]==0.28" "versioneer[toml]"
-  '' + lib.optionalString (!pythonOlder "3.12") ''
-    substituteInPlace setup.py \
-      --replace-fail "distutils" "setuptools._distutils"
   '';
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/python-fullykiosk/default.nix b/pkgs/development/python-modules/python-fullykiosk/default.nix
index 3e3a65ff9815e..66b6cb4528c43 100644
--- a/pkgs/development/python-modules/python-fullykiosk/default.nix
+++ b/pkgs/development/python-modules/python-fullykiosk/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "python-fullykiosk";
-  version = "0.0.13";
+  version = "0.0.14";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "cgarwood";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-GElLaSSr/EEhtjgasP2C79kf+HluVPuQ21I8La7IvLs=";
+    hash = "sha256-+JBgBi05zNgIt2cXlHjFPI6nBFR7SpMCWIQHKtnZeX4=";
   };
 
   propagatedBuildInputs = [ aiohttp ];
diff --git a/pkgs/development/python-modules/python-logging-loki/default.nix b/pkgs/development/python-modules/python-logging-loki/default.nix
new file mode 100644
index 0000000000000..fe22ed58b7c62
--- /dev/null
+++ b/pkgs/development/python-modules/python-logging-loki/default.nix
@@ -0,0 +1,49 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  setuptools,
+  pytestCheckHook,
+  rfc3339,
+  requests,
+  freezegun,
+}:
+
+buildPythonPackage rec {
+  pname = "python-logging-loki";
+  version = "0.3.1";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "GreyZmeem";
+    repo = "python-logging-loki";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-1qHuv+xzATo11au+QAhD1lHcLJtnVKZDdQDGohHUhiI=";
+  };
+
+  build-system = [ setuptools ];
+
+  dependencies = [
+    rfc3339
+    requests
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    freezegun
+  ];
+
+  # ValueError
+  # Considering that the package has not been updated since 2019, it is likely that this test is broken
+  disabledTests = [ "test_can_build_tags_from_converting_dict" ];
+
+  pythonImportsCheck = [ "logging_loki" ];
+
+  meta = {
+    description = "Python logging handler for Loki";
+    homepage = "https://github.com/GreyZmeem/python-logging-loki";
+    changelog = "https://github.com/GreyZmeem/python-logging-loki/releases/tag/v${version}";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ moraxyc ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-roborock/default.nix b/pkgs/development/python-modules/python-roborock/default.nix
index 261624e1902f5..02e5507363127 100644
--- a/pkgs/development/python-modules/python-roborock/default.nix
+++ b/pkgs/development/python-modules/python-roborock/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "python-roborock";
-  version = "2.3.0";
+  version = "2.5.0";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "humbertogontijo";
     repo = "python-roborock";
     rev = "refs/tags/v${version}";
-    hash = "sha256-YjD/aTSUeVuMyrdC2dcKgIqeBC+8NircRFLh2+mbD+8=";
+    hash = "sha256-W+xq6FwBZNjrqivAWv821h5Pak0wGaksQoYN5EULSnA=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pyvex/default.nix b/pkgs/development/python-modules/pyvex/default.nix
index 53ea4ed0c94f0..b17b67b0c8efa 100644
--- a/pkgs/development/python-modules/pyvex/default.nix
+++ b/pkgs/development/python-modules/pyvex/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pyvex";
-  version = "9.2.107";
+  version = "9.2.108";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-e8DZgHCVUcAEgo9IR7Ut/v580//oeH9l1MwGSe/RThw=";
+    hash = "sha256-N1sGTjDiqmwyXdXpApUgVAmUPjwJUiEIaTZoWyrBpAs=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/rioxarray/default.nix b/pkgs/development/python-modules/rioxarray/default.nix
index 1b3325e4576fd..d270fb5049ec6 100644
--- a/pkgs/development/python-modules/rioxarray/default.nix
+++ b/pkgs/development/python-modules/rioxarray/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "rioxarray";
-  version = "0.15.5";
+  version = "0.15.7";
   pyproject = true;
   disabled = pythonOlder "3.10";
 
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "corteva";
     repo = "rioxarray";
     rev = "refs/tags/${version}";
-    hash = "sha256-bumFZQktgUqo2lyoLtDXkh6Vv5oS/wobqYpvNYy7La0=";
+    hash = "sha256-x5+T1ITZ6t+08s+WpSiqbohiKVfigREn63+5pJYHkxc=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/solidpython2/default.nix b/pkgs/development/python-modules/solidpython2/default.nix
new file mode 100644
index 0000000000000..54dd8e2c2004a
--- /dev/null
+++ b/pkgs/development/python-modules/solidpython2/default.nix
@@ -0,0 +1,49 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, lib
+, ply
+, setuptools
+, poetry-core
+, withOpenSCAD ? false
+, openscad
+}:
+buildPythonPackage rec {
+  pname = "solidpython2";
+  version = "2.1.0";
+  pyproject = true;
+  src = fetchFromGitHub {
+    owner = "jeff-dh";
+    repo = "SolidPython";
+    rev = "v${version}";
+    hash = "sha256-Tq3hrsC2MmueCqChk6mY/u/pCjF/pFuU2o3K+qw7ImY=";
+  };
+
+  # NOTE: this patch makes tests runnable outside the source-tree
+  # - it uses diff instead of git-diff
+  # - modifies the tests output to resemble the paths resulting from running inside the source-tree
+  # - drop the openscad image geneneration tests, these don't work on the nix sandbox due to the need for xserver
+  patches = [ ./difftool_tests.patch ];
+
+  propagatedBuildInputs = lib.optionals withOpenSCAD [openscad];
+
+  build-system = [
+    poetry-core
+  ];
+  dependencies = [
+    ply
+    setuptools
+  ];
+  pythonImportsCheck = [ "solid2" ];
+  checkPhase = ''
+    runHook preCheck
+    python $TMPDIR/source/tests/run_tests.py
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/jeff-dh/SolidPython";
+    description = "A python frontend for solid modelling that compiles to OpenSCAD";
+    license = licenses.lgpl2Plus;
+    maintainers = with maintainers; [ jonboh ];
+  };
+}
diff --git a/pkgs/development/python-modules/solidpython2/difftool_tests.patch b/pkgs/development/python-modules/solidpython2/difftool_tests.patch
new file mode 100644
index 0000000000000..a5c950a9fc03d
--- /dev/null
+++ b/pkgs/development/python-modules/solidpython2/difftool_tests.patch
@@ -0,0 +1,35 @@
+diff --git a/tests/examples_test.py b/tests/examples_test.py
+index 77204fd..9784389 100644
+--- a/tests/examples_test.py
++++ b/tests/examples_test.py
+@@ -48,14 +48,19 @@ class ExamplesTest(unittest.TestCase):
+             subprocess.check_call(["python3", f.as_posix()])
+             # copy generated scad file to examples_scad/
+             copyWithRelativeIncludes(f.with_suffix(".scad"), test_scad_file)
+-            # call git diff test/examples_scad/{f}.scad
+-            diff = subprocess.check_output(["git", "diff",
+-                                            test_scad_file.as_posix()])
+-            # make sure there's no diff
+-            self.assertEqual(diff.decode(), "")
+-            # render with openscad
+-            subprocess.check_call([get_openscad_executable(), "-o",
+-                                   test_scad_file.with_suffix(".png"),
+-                                   "--preview", "-",
+-                                   test_scad_file],
+-                                   stderr=subprocess.DEVNULL)
++            subprocess.check_call(
++                [
++                    "sed",
++                    "-i",
++                    f"s#^include <.*/solid2#include <../../solid2#g",
++                    test_scad_file.as_posix(),
++                ]
++            )
++            nixsrc = os.getenv("src")
++            subprocess.check_call(
++                [
++                    "diff",
++                    f"{nixsrc}/tests/examples_scad/{f.with_suffix('.scad').name}",
++                    test_scad_file.as_posix(),
++                ]
++            )
diff --git a/pkgs/development/python-modules/std-uritemplate/default.nix b/pkgs/development/python-modules/std-uritemplate/default.nix
index 83c17826ff281..be7ff2030ca51 100644
--- a/pkgs/development/python-modules/std-uritemplate/default.nix
+++ b/pkgs/development/python-modules/std-uritemplate/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "std-uritemplate";
-  version = "1.0.1";
+  version = "1.0.2";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "std_uritemplate";
     inherit version;
-    hash = "sha256-Mf7o2nDbj663cdC6OfXIK/newY1NKnUpWTniowXlNvE=";
+    hash = "sha256-lJ2YDTjUI3mf9Jh6g17rXppFRD3GGpzIMEYdkmz0JuQ=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix
index 14b60b888088f..bed497e92a335 100644
--- a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix
+++ b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "tencentcloud-sdk-python";
-  version = "3.0.1175";
+  version = "3.0.1177";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "TencentCloud";
     repo = "tencentcloud-sdk-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-TpLPYwSzZDqvXfeePFgayS0KzeaTDMCEvOzdj1/uHjM=";
+    hash = "sha256-sGbbeyKwDjXvV+LFozBclS2lltrZnafBOy62GP6XDMA=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/torch/bin.nix b/pkgs/development/python-modules/torch/bin.nix
index f9d5cd97c183a..e2899c081e08b 100644
--- a/pkgs/development/python-modules/torch/bin.nix
+++ b/pkgs/development/python-modules/torch/bin.nix
@@ -8,6 +8,7 @@
   pythonAtLeast,
   pythonOlder,
   addOpenGLRunpath,
+  callPackage,
   cudaPackages,
   future,
   numpy,
@@ -15,6 +16,7 @@
   pyyaml,
   requests,
   setuptools,
+  torch-bin,
   typing-extensions,
   sympy,
   jinja2,
@@ -119,6 +121,8 @@ buildPythonPackage {
 
   pythonImportsCheck = [ "torch" ];
 
+  passthru.gpuChecks.cudaAvailable = callPackage ./test-cuda.nix { torch = torch-bin; };
+
   meta = {
     description = "PyTorch: Tensors and Dynamic neural networks in Python with strong GPU acceleration";
     homepage = "https://pytorch.org/";
diff --git a/pkgs/development/python-modules/torch/default.nix b/pkgs/development/python-modules/torch/default.nix
index d5d7e823bed7c..9597a047bdb48 100644
--- a/pkgs/development/python-modules/torch/default.nix
+++ b/pkgs/development/python-modules/torch/default.nix
@@ -24,6 +24,10 @@
   mpi,
   buildDocs ? false,
 
+  # tests.cudaAvailable:
+  callPackage,
+  torchWithCuda,
+
   # Native build inputs
   cmake,
   symlinkJoin,
@@ -639,11 +643,12 @@ buildPythonPackage rec {
       rocmSupport
       rocmPackages
       ;
+    cudaCapabilities = if cudaSupport then supportedCudaCapabilities else [ ];
     # At least for 1.10.2 `torch.fft` is unavailable unless BLAS provider is MKL. This attribute allows for easy detection of its availability.
     blasProvider = blas.provider;
     # To help debug when a package is broken due to CUDA support
     inherit brokenConditions;
-    cudaCapabilities = if cudaSupport then supportedCudaCapabilities else [ ];
+    tests = callPackage ./tests.nix { };
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/torch/gpu-checks.nix b/pkgs/development/python-modules/torch/gpu-checks.nix
new file mode 100644
index 0000000000000..55a4b45f71522
--- /dev/null
+++ b/pkgs/development/python-modules/torch/gpu-checks.nix
@@ -0,0 +1,40 @@
+{
+  lib,
+  torchWithCuda,
+  torchWithRocm,
+  callPackage,
+}:
+
+let
+  accelAvailable =
+    {
+      feature,
+      versionAttr,
+      torch,
+      cudaPackages,
+    }:
+    cudaPackages.writeGpuTestPython
+      {
+        inherit feature;
+        libraries = [ torch ];
+        name = "${feature}Available";
+      }
+      ''
+        import torch
+        message = f"{torch.cuda.is_available()=} and {torch.version.${versionAttr}=}"
+        assert torch.cuda.is_available() and torch.version.${versionAttr}, message
+        print(message)
+      '';
+in
+{
+  tester-cudaAvailable = callPackage accelAvailable {
+    feature = "cuda";
+    versionAttr = "cuda";
+    torch = torchWithCuda;
+  };
+  tester-rocmAvailable = callPackage accelAvailable {
+    feature = "rocm";
+    versionAttr = "hip";
+    torch = torchWithRocm;
+  };
+}
diff --git a/pkgs/development/python-modules/torch/tests.nix b/pkgs/development/python-modules/torch/tests.nix
new file mode 100644
index 0000000000000..5a46d0886868c
--- /dev/null
+++ b/pkgs/development/python-modules/torch/tests.nix
@@ -0,0 +1,3 @@
+{ callPackage }:
+
+callPackage ./gpu-checks.nix { }
diff --git a/pkgs/development/python-modules/voluptuous/default.nix b/pkgs/development/python-modules/voluptuous/default.nix
index fb86d84a9dcde..258f8512acf8e 100644
--- a/pkgs/development/python-modules/voluptuous/default.nix
+++ b/pkgs/development/python-modules/voluptuous/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "voluptuous";
-  version = "0.14.2";
+  version = "0.15.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "alecthomas";
     repo = "voluptuous";
     rev = "refs/tags/${version}";
-    hash = "sha256-2a4lid9NibbvhHfs/fcyHgPRZ2HirIKuPYxMsl5oA4o=";
+    hash = "sha256-/K1r+YkiRq/p8kwPXr/RrE6h0c94rbmWITrRSM+COKQ=";
   };
 
   nativeBuildInputs = [ setuptools ];
diff --git a/pkgs/development/python-modules/xformers/default.nix b/pkgs/development/python-modules/xformers/default.nix
index b63270f6f4c55..261ff0cb89e8a 100644
--- a/pkgs/development/python-modules/xformers/default.nix
+++ b/pkgs/development/python-modules/xformers/default.nix
@@ -1,5 +1,6 @@
 {
   lib,
+  stdenv,
   buildPythonPackage,
   pythonOlder,
   fetchFromGitHub,
@@ -52,12 +53,14 @@ buildPythonPackage {
       # noqa: C801
       __version__ = "${version}"
       EOF
-    ''
-    + lib.optionalString cudaSupport ''
-      export CUDA_HOME=${cudaPackages.cuda_nvcc}
-      export TORCH_CUDA_ARCH_LIST="${lib.concatStringsSep ";" cudaCapabilities}"
     '';
 
+  env = lib.attrsets.optionalAttrs cudaSupport {
+    TORCH_CUDA_ARCH_LIST = "${lib.concatStringsSep ";" torch.cudaCapabilities}";
+  };
+
+  stdenv = if cudaSupport then cudaPackages.backendStdenv else stdenv;
+
   buildInputs = lib.optionals cudaSupport (
     with cudaPackages;
     [
@@ -71,7 +74,9 @@ buildPythonPackage {
     ]
   );
 
-  nativeBuildInputs = [ which ];
+  nativeBuildInputs = [ which ] ++ lib.optionals cudaSupport (with cudaPackages; [
+    cuda_nvcc
+  ]);
 
   propagatedBuildInputs = [
     numpy
diff --git a/pkgs/development/python-modules/xiaomi-ble/default.nix b/pkgs/development/python-modules/xiaomi-ble/default.nix
index e081f49cae91e..5e834c3419a4c 100644
--- a/pkgs/development/python-modules/xiaomi-ble/default.nix
+++ b/pkgs/development/python-modules/xiaomi-ble/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "xiaomi-ble";
-  version = "0.30.0";
+  version = "0.30.1";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = "xiaomi-ble";
     rev = "refs/tags/v${version}";
-    hash = "sha256-pWTWzw1ZdXnxPERkJUHumBboSIVo0t5HqQFRXC90CpU=";
+    hash = "sha256-1YeT525L6SsybiA+k5vPx5D2yvYdcuxfhpUMlZCX2Jo=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/yalexs-ble/default.nix b/pkgs/development/python-modules/yalexs-ble/default.nix
index 337ffbf114c99..a38ecebdffdc1 100644
--- a/pkgs/development/python-modules/yalexs-ble/default.nix
+++ b/pkgs/development/python-modules/yalexs-ble/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "yalexs-ble";
-  version = "2.4.2";
+  version = "2.4.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-A/4N3vmFuzg9vaPISs0P3KxRQZSquPpR1zYcYEePkTA=";
+    hash = "sha256-e+XTozOStGiYa4VBM/mQfcpYTapKe92OeZPuD5SwSIQ=";
   };
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/pkgs/development/python-modules/zha-quirks/default.nix b/pkgs/development/python-modules/zha-quirks/default.nix
index 9fca32df4185b..171a725cf0e89 100644
--- a/pkgs/development/python-modules/zha-quirks/default.nix
+++ b/pkgs/development/python-modules/zha-quirks/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "zha-quirks";
-  version = "0.0.116";
+  version = "0.0.117";
   pyproject = true;
 
   disabled = pythonOlder "3.12";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zha-device-handlers";
     rev = "refs/tags/${version}";
-    hash = "sha256-dWKIKIN61Y2vSbC7maxe4DoSYsAqeGtyWksnvAc2Pa8=";
+    hash = "sha256-uk1G8X5TLuA4spTrd+077wggCooqvqJZh3NIwC4/BFM=";
   };
 
   postPatch = ''