diff --git a/pkgs/development/python-modules/PyRMVtransport/default.nix b/pkgs/development/python-modules/PyRMVtransport/default.nix
index cfbf3be1c40c..4079feb93ec3 100644
--- a/pkgs/development/python-modules/PyRMVtransport/default.nix
+++ b/pkgs/development/python-modules/PyRMVtransport/default.nix
@@ -42,6 +42,11 @@ buildPythonPackage rec {
     pytest-httpx
   ];
 
+  disabledTests = [
+    # fails with pytest-httpx>=0.12.0
+    "test__query_rmv_api_fail"
+  ];
+
   meta = with lib; {
     homepage = "https://github.com/cgtobi/PyRMVtransport";
     description = "Get transport information from opendata.rmv.de";
diff --git a/pkgs/development/python-modules/aiobotocore/default.nix b/pkgs/development/python-modules/aiobotocore/default.nix
index f75a0d6bb60b..1ebf66a2597f 100644
--- a/pkgs/development/python-modules/aiobotocore/default.nix
+++ b/pkgs/development/python-modules/aiobotocore/default.nix
@@ -10,18 +10,18 @@
 
 buildPythonPackage rec {
   pname = "aiobotocore";
-  version = "1.2.2";
+  version = "1.3.0";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "37c23166603a3bd134e5f6fc22dbbf8c274d4d24c71418fba292ed2cd7a0bf43";
+    sha256 = "17pcdi69bwdfw2wv3a0fhira5gimw88sp2wf47yqz50z1ckhv2c1";
   };
 
   # relax version constraints: aiobotocore works with newer botocore versions
   # the pinning used to match some `extras_require` we're not using.
-  preConfigure = ''
-    substituteInPlace setup.py --replace 'botocore>=1.17.44,<1.17.45' 'botocore'
+  postPatch = ''
+    substituteInPlace setup.py --replace 'botocore>=1.20.49,<1.20.50' 'botocore'
   '';
 
   propagatedBuildInputs = [ wrapt aiohttp aioitertools botocore ];
@@ -31,7 +31,7 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "aiobotocore" ];
 
   meta = with lib; {
-    description = "Async client for amazon services using botocore and aiohttp/asyncio.";
+    description = "Python client for amazon services";
     license = licenses.asl20;
     homepage = "https://github.com/aio-libs/aiobotocore";
     maintainers = with maintainers; [ teh ];
diff --git a/pkgs/development/python-modules/aniso8601/default.nix b/pkgs/development/python-modules/aniso8601/default.nix
index f28668a8912b..9cc3fb827755 100644
--- a/pkgs/development/python-modules/aniso8601/default.nix
+++ b/pkgs/development/python-modules/aniso8601/default.nix
@@ -1,22 +1,35 @@
-{ lib, buildPythonPackage, fetchPypi
-, dateutil, mock, isPy3k }:
+{ lib
+, buildPythonPackage
+, dateutil
+, fetchPypi
+, isPy3k
+, mock
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "aniso8601";
   version = "9.0.1";
 
-  meta = with lib; {
-    description = "Parses ISO 8601 strings.";
-    homepage    = "https://bitbucket.org/nielsenb/aniso8601";
-    license     = licenses.bsd3;
-  };
-
-  propagatedBuildInputs = [ dateutil ];
-
-  checkInputs = lib.optional (!isPy3k) mock;
-
   src = fetchPypi {
     inherit pname version;
-    sha256 = "72e3117667eedf66951bb2d93f4296a56b94b078a8a95905a052611fb3f1b973";
+    sha256 = "sha256-cuMRdmfu32aVG7LZP0KWpWuUsHioqVkFoFJhH7PxuXM=";
+  };
+
+  propagatedBuildInputs = [
+    dateutil
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ] ++ lib.optional (!isPy3k) mock;
+
+  pythonImportsCheck = [ "aniso8601" ];
+
+  meta = with lib; {
+    description = "Python Parser for ISO 8601 strings";
+    homepage = "https://bitbucket.org/nielsenb/aniso8601";
+    license = with licenses; [ bsd3 ];
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/pkgs/development/python-modules/elmax/default.nix b/pkgs/development/python-modules/elmax/default.nix
index 7ec3b8d1c112..775050acb0c9 100644
--- a/pkgs/development/python-modules/elmax/default.nix
+++ b/pkgs/development/python-modules/elmax/default.nix
@@ -4,12 +4,15 @@
 , httpx
 , poetry-core
 , pythonOlder
+, pytest-asyncio
+, pytest-httpx
+, pytestCheckHook
 , yarl
 }:
 
 buildPythonPackage rec {
   pname = "elmax";
-  version = "0.1.1";
+  version = "0.1.2";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
@@ -17,7 +20,7 @@ buildPythonPackage rec {
     owner = "home-assistant-ecosystem";
     repo = "python-elmax";
     rev = version;
-    sha256 = "sha256-vDISJ/CVOjpM+GPF2TCm3/AMFTWTM0b/+ZPCpAEvNvY=";
+    sha256 = "sha256-Aq/OHxOmtUUmBNlFPu892C8AkTX+Ee0oca7D79InPXQ=";
   };
 
   nativeBuildInputs = [ poetry-core ];
@@ -27,8 +30,12 @@ buildPythonPackage rec {
     yarl
   ];
 
-  # Project has no tests
-  doCheck = false;
+  checkInputs = [
+    pytest-asyncio
+    pytest-httpx
+    pytestCheckHook
+  ];
+
   pythonImportsCheck = [ "elmax" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/httpcore/default.nix b/pkgs/development/python-modules/httpcore/default.nix
index dbbdf0bb38c0..079b5e71a10f 100644
--- a/pkgs/development/python-modules/httpcore/default.nix
+++ b/pkgs/development/python-modules/httpcore/default.nix
@@ -5,24 +5,25 @@
 , h11
 , h2
 , pproxy
+, pytest-asyncio
+, pytest-trio
 , pytestCheckHook
 , pytestcov
 , sniffio
-, uvicorn
 , trustme
-, trio
+, uvicorn
 }:
 
 buildPythonPackage rec {
   pname = "httpcore";
-  version = "0.12.3";
+  version = "0.13.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "encode";
     repo = pname;
     rev = version;
-    sha256 = "09hbjc5wzhrnri5y3idxcq329d7jiaxljc7y6npwv9gh9saln109";
+    sha256 = "sha256-KvqBVQUaF3p2oJz0tt3Bkn2JiKEHqrZ3b6I9f0JK5h8=";
   };
 
   propagatedBuildInputs = [
@@ -33,18 +34,19 @@ buildPythonPackage rec {
 
   checkInputs = [
     pproxy
+    pytest-asyncio
+    pytest-trio
     pytestCheckHook
     pytestcov
-    uvicorn
     trustme
-    trio
+    uvicorn
   ];
 
-  pytestFlagsArray = [
+  disabledTestPaths = [
     # these tests fail during dns lookups: httpcore.ConnectError: [Errno -2] Name or service not known
-    "--ignore=tests/test_threadsafety.py"
-    "--ignore=tests/sync_tests/test_interfaces.py"
-    "--ignore=tests/sync_tests/test_retries.py"
+    "tests/test_threadsafety.py"
+    "tests/sync_tests/test_interfaces.py"
+    "tests/sync_tests/test_retries.py"
   ];
 
   pythonImportsCheck = [ "httpcore" ];
diff --git a/pkgs/development/python-modules/httpx/default.nix b/pkgs/development/python-modules/httpx/default.nix
index 2aba203ea01f..b45c3e85f502 100644
--- a/pkgs/development/python-modules/httpx/default.nix
+++ b/pkgs/development/python-modules/httpx/default.nix
@@ -18,14 +18,14 @@
 
 buildPythonPackage rec {
   pname = "httpx";
-  version = "0.17.1";
+  version = "0.18.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "encode";
     repo = pname;
     rev = version;
-    sha256 = "sha256-P4Uki+vlAgVECBUz9UGvv1ip49jmf0kYbyU2/mkWE3U=";
+    sha256 = "sha256-6EYBTRXaVHBgW/JzZvWLz55AqgocOyym2FVtu2Nkp/U=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pytest-httpx/default.nix b/pkgs/development/python-modules/pytest-httpx/default.nix
index d6f30486f9b2..1773a4b57928 100644
--- a/pkgs/development/python-modules/pytest-httpx/default.nix
+++ b/pkgs/development/python-modules/pytest-httpx/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "pytest-httpx";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "Colin-b";
     repo = "pytest_httpx";
     rev = "v${version}";
-    sha256 = "08idd3y6khxjqkn46diqvkjvsl4w4pxhl6z1hspbkrj0pqwf9isi";
+    sha256 = "sha256-Awhsm8jmoCZTBnfrrauLxAEKtpxTzjPMXmx7HR0f/g4=";
   };
 
   buildInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/respx/default.nix b/pkgs/development/python-modules/respx/default.nix
index 68da058194bf..0a3fa27a8086 100644
--- a/pkgs/development/python-modules/respx/default.nix
+++ b/pkgs/development/python-modules/respx/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "respx";
-  version = "0.16.3";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "lundberg";
     repo = pname;
     rev = version;
-    sha256 = "0if9sg83rznl37hsjw6pfk78jpxi421g9p21wd92jcd6073g4nbd";
+    sha256 = "sha256-unGAIsslGXOUHXr0FKzC9bX6+Q3mNGZ9Z/dtjz0gkj4=";
   };
 
   # Coverage is under 100 % due to the excluded tests
diff --git a/pkgs/development/python-modules/sanic-testing/default.nix b/pkgs/development/python-modules/sanic-testing/default.nix
index fa1dfc6870b5..e5194e36bd23 100644
--- a/pkgs/development/python-modules/sanic-testing/default.nix
+++ b/pkgs/development/python-modules/sanic-testing/default.nix
@@ -20,6 +20,12 @@ buildPythonPackage rec {
     hash = "sha256-hBAq+/BKs0a01M89Nb8HaClqxB+W5PTfjVzef/m9SWs=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace 'httpx>=0.16, <0.18' 'httpx' \
+      --replace 'httpcore==0.12.*' 'httpcore'
+  '';
+
   propagatedBuildInputs = [ httpx sanic websockets httpcore ];
 
   # `sanic` is explicitly set to null when building `sanic` itself