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/ansible/legacy.nix4
-rw-r--r--pkgs/development/python-modules/bitarray/default.nix4
-rw-r--r--pkgs/development/python-modules/boto3/default.nix4
-rw-r--r--pkgs/development/python-modules/botocore/default.nix4
-rw-r--r--pkgs/development/python-modules/datasette/default.nix41
-rw-r--r--pkgs/development/python-modules/itemloaders/default.nix13
-rw-r--r--pkgs/development/python-modules/jsonstreams/default.nix4
-rw-r--r--pkgs/development/python-modules/mypy-boto3-builder/default.nix4
-rw-r--r--pkgs/development/python-modules/mypy-boto3-s3/default.nix4
-rw-r--r--pkgs/development/python-modules/notify-py/default.nix4
-rw-r--r--pkgs/development/python-modules/parsel/default.nix51
-rw-r--r--pkgs/development/python-modules/py-desmume/default.nix4
-rw-r--r--pkgs/development/python-modules/py3status/default.nix4
-rw-r--r--pkgs/development/python-modules/pynobo/default.nix28
-rw-r--r--pkgs/development/python-modules/python-rtmidi/default.nix4
-rw-r--r--pkgs/development/python-modules/rtmidi-python/default.nix4
-rw-r--r--pkgs/development/python-modules/s3transfer/default.nix4
-rw-r--r--pkgs/development/python-modules/scrapy/default.nix128
-rw-r--r--pkgs/development/python-modules/simpleaudio/default.nix4
-rw-r--r--pkgs/development/python-modules/sipsimple/default.nix2
20 files changed, 212 insertions, 107 deletions
diff --git a/pkgs/development/python-modules/ansible/legacy.nix b/pkgs/development/python-modules/ansible/legacy.nix
index 2779feffee8..174ab6dc6c4 100644
--- a/pkgs/development/python-modules/ansible/legacy.nix
+++ b/pkgs/development/python-modules/ansible/legacy.nix
@@ -18,13 +18,13 @@
 
 buildPythonPackage rec {
   pname = "ansible";
-  version = "2.9.21";
+  version = "2.9.22";
 
   src = fetchFromGitHub {
     owner = "ansible";
     repo = "ansible";
     rev = "v${version}";
-    sha256 = "1pfiwq2wfw11vmxdq2yhk86hm5jljlrnphlzfjr01kwzfikkdp5m";
+    sha256 = "0gkv59cfxzs0ahgkxmmx9sqnfb2xqr10q4yh2662nbzajmvqmfgm";
   };
 
   prePatch = ''
diff --git a/pkgs/development/python-modules/bitarray/default.nix b/pkgs/development/python-modules/bitarray/default.nix
index c3965b10a2a..e83a7919238 100644
--- a/pkgs/development/python-modules/bitarray/default.nix
+++ b/pkgs/development/python-modules/bitarray/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "bitarray";
-  version = "2.0.1";
+  version = "2.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-7DpPbXEaee0jrqlUFjjTNT3D8IPyk6ExgLFLSC4+Ge8=";
+    sha256 = "sha256-lyJKGTJezuSaO/TfPuBTHTr5zyiLZ9CJp+9Eo8TqODk=";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/boto3/default.nix b/pkgs/development/python-modules/boto3/default.nix
index afeefbdf55b..73cb44d0811 100644
--- a/pkgs/development/python-modules/boto3/default.nix
+++ b/pkgs/development/python-modules/boto3/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "boto3";
-  version = "1.17.52"; # N.B: if you change this, change botocore and awscli to a matching version
+  version = "1.17.88"; # N.B: if you change this, change botocore and awscli to a matching version
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-7WQMF8l68om+RpN0DBy/laRW6cSV45c6Htb1GjloRtI=";
+    sha256 = "sha256-pxXKbERX1W6j4+/em9yL5BwpsvKpBPvRK+/bnLXiieQ=";
   };
 
   propagatedBuildInputs = [ botocore jmespath s3transfer ] ++ lib.optionals (!isPy3k) [ futures ];
diff --git a/pkgs/development/python-modules/botocore/default.nix b/pkgs/development/python-modules/botocore/default.nix
index f34cc34334d..a3c77e1fab7 100644
--- a/pkgs/development/python-modules/botocore/default.nix
+++ b/pkgs/development/python-modules/botocore/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "botocore";
-  version = "1.20.52"; # N.B: if you change this, change boto3 and awscli to a matching version
+  version = "1.20.88"; # N.B: if you change this, change boto3 and awscli to a matching version
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-3V9YCOxIqZm5Y0s4etarehojuh+XEqh1Bm0jSAj4qmI=";
+    sha256 = "sha256-vJie2rUtR4iq3Y0a/5JfXGp8vGiQC/2443mWWurBcxc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/datasette/default.nix b/pkgs/development/python-modules/datasette/default.nix
index 1d919de6ee8..58920b40646 100644
--- a/pkgs/development/python-modules/datasette/default.nix
+++ b/pkgs/development/python-modules/datasette/default.nix
@@ -5,6 +5,7 @@
 , asgi-csrf
 , click
 , click-default-group
+, itsdangerous
 , janus
 , jinja2
 , hupper
@@ -17,56 +18,62 @@
 , httpx
 # Check Inputs
 , pytestCheckHook
-, pytestrunner
+, pytest-runner
 , pytest-asyncio
+, pytest-timeout
 , aiohttp
 , beautifulsoup4
 , asgiref
 , setuptools
+, trustme
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "datasette";
-  version = "0.54.1";
+  version = "0.57.1";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "simonw";
-    repo = "datasette";
+    repo = pname;
     rev = version;
-    sha256 = "sha256-Ixh56X9dI/FIJPXHXXGnFiYj3qeBmvW5L1FF7/0ofUQ=";
+    sha256 = "sha256-BHsf3GOganPhsDiZlRxvAsRZH/Sq+Jr+CZcc2ubce+8=";
   };
 
-  nativeBuildInputs = [ pytestrunner ];
+  nativeBuildInputs = [ pytest-runner ];
 
   propagatedBuildInputs = [
     aiofiles
     asgi-csrf
+    asgiref
     click
     click-default-group
+    httpx
+    hupper
+    itsdangerous
     janus
     jinja2
-    hupper
     mergedeep
     pint
     pluggy
     python-baseconv
     pyyaml
-    uvicorn
     setuptools
-    httpx
-    asgiref
+    uvicorn
   ];
 
   checkInputs = [
-    pytestCheckHook
-    pytest-asyncio
     aiohttp
     beautifulsoup4
+    pytest-asyncio
+    pytest-timeout
+    pytestCheckHook
+    trustme
   ];
 
   postConfigure = ''
     substituteInPlace setup.py \
-      --replace "click~=7.1.1" "click" \
       --replace "click-default-group~=1.2.2" "click-default-group" \
       --replace "hupper~=1.9" "hupper" \
       --replace "pint~=0.9" "pint" \
@@ -75,12 +82,13 @@ buildPythonPackage rec {
       --replace "PyYAML~=5.3" "PyYAML"
   '';
 
-  # takes 30-180 mins to run entire test suite, not worth the cpu resources, slows down reviews
-  # with pytest-xdist, it still takes around 10mins with 32 cores
+  # takes 30-180 mins to run entire test suite, not worth the CPU resources, slows down reviews
+  # with pytest-xdist, it still takes around 10 mins with 32 cores
   # just run the csv tests, as this should give some indictation of correctness
   pytestFlagsArray = [
     "tests/test_csv.py"
   ];
+
   disabledTests = [
     "facet"
     "_invalid_database" # checks error message when connecting to invalid database
@@ -97,10 +105,9 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    description = "An instant JSON API for your SQLite databases";
-    homepage = "https://github.com/simonw/datasette";
+    description = "Multi-tool for exploring and publishing data";
+    homepage = "https://datasette.io/";
     license = licenses.asl20;
     maintainers = [ maintainers.costrouc ];
   };
-
 }
diff --git a/pkgs/development/python-modules/itemloaders/default.nix b/pkgs/development/python-modules/itemloaders/default.nix
index 107585f0416..e6098208033 100644
--- a/pkgs/development/python-modules/itemloaders/default.nix
+++ b/pkgs/development/python-modules/itemloaders/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, isPy27
+, pythonOlder
 , w3lib
 , parsel
 , jmespath
@@ -12,8 +12,7 @@
 buildPythonPackage rec {
   pname = "itemloaders";
   version = "1.0.4";
-
-  disabled = isPy27;
+  disabled = pythonOlder "3.6";
 
   # Tests not included in PyPI tarball
   src = fetchFromGitHub {
@@ -27,6 +26,14 @@ buildPythonPackage rec {
 
   checkInputs = [ pytestCheckHook ];
 
+  disabledTests = [
+    # Test are failing (AssertionError: Lists differ: ...)
+    "test_nested_css"
+    "test_nested_xpath"
+  ];
+
+  pythonImportsCheck = [ "itemloaders" ];
+
   meta = with lib; {
     description = "Base library for scrapy's ItemLoader";
     homepage = "https://github.com/scrapy/itemloaders";
diff --git a/pkgs/development/python-modules/jsonstreams/default.nix b/pkgs/development/python-modules/jsonstreams/default.nix
index 9042498664a..82152a8d112 100644
--- a/pkgs/development/python-modules/jsonstreams/default.nix
+++ b/pkgs/development/python-modules/jsonstreams/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "jsonstreams";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "dcbaker";
     repo = pname;
     rev = version;
-    sha256 = "0c85fdqkj5k4b0v0ngx2d9qbmzdsvglh4j9k9h7508bvn7l8fa4b";
+    sha256 = "0qw74wz9ngz9wiv89vmilbifsbvgs457yn1bxnzhrh7g4vs2wcav";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/mypy-boto3-builder/default.nix b/pkgs/development/python-modules/mypy-boto3-builder/default.nix
index 860646af9c6..0c871c90a3a 100644
--- a/pkgs/development/python-modules/mypy-boto3-builder/default.nix
+++ b/pkgs/development/python-modules/mypy-boto3-builder/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "mypy-boto3-builder";
-  version = "4.12.0";
+  version = "4.14.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "vemel";
     repo = "mypy_boto3_builder";
     rev = version;
-    sha256 = "09kbmrpnph5kbxlqqavpxg3l85dmk3vzmwawa4s09y9gknxxkcv9";
+    sha256 = "sha256-y55bPi70ldd528Olr2atXHm5JHiLNBZ396D9qwbBmkc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mypy-boto3-s3/default.nix b/pkgs/development/python-modules/mypy-boto3-s3/default.nix
index af97c5e103f..bbbcc5a1492 100644
--- a/pkgs/development/python-modules/mypy-boto3-s3/default.nix
+++ b/pkgs/development/python-modules/mypy-boto3-s3/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "mypy-boto3-s3";
-  version = "1.17.71";
+  version = "1.17.88";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0zgx3f41j80xy203jwms7j72svxy10ry5v9w3ql817ai4lcrspnn";
+    sha256 = "sha256-ba7ohsScaag3tDnUbs1eWYO/YSWcgJlo9VpkdU40x5o=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/notify-py/default.nix b/pkgs/development/python-modules/notify-py/default.nix
index ea9f0485bef..ba4725c9aaa 100644
--- a/pkgs/development/python-modules/notify-py/default.nix
+++ b/pkgs/development/python-modules/notify-py/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildPythonPackage, fetchFromGitHub, isPy3k, coreutils, alsaUtils
+{ lib, stdenv, buildPythonPackage, fetchFromGitHub, isPy3k, coreutils, alsa-utils
 , libnotify, which, jeepney, loguru, pytestCheckHook }:
 
 buildPythonPackage rec {
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   };
 
   propagatedNativeBuildInputs = [ which ]
-    ++ lib.optionals stdenv.isLinux [ alsaUtils libnotify ];
+    ++ lib.optionals stdenv.isLinux [ alsa-utils libnotify ];
   propagatedBuildInputs = [ loguru ]
     ++ lib.optionals stdenv.isLinux [ jeepney ];
 
diff --git a/pkgs/development/python-modules/parsel/default.nix b/pkgs/development/python-modules/parsel/default.nix
index 319f83f7275..423f4eb0293 100644
--- a/pkgs/development/python-modules/parsel/default.nix
+++ b/pkgs/development/python-modules/parsel/default.nix
@@ -1,14 +1,13 @@
 { lib
 , buildPythonPackage
+, cssselect
 , fetchPypi
-, pytest
-, pytestrunner
 , functools32
+, isPy27
+, lxml
+, pytestCheckHook
 , six
 , w3lib
-, lxml
-, cssselect
-, isPy27
 }:
 
 buildPythonPackage rec {
@@ -20,17 +19,47 @@ buildPythonPackage rec {
     sha256 = "0yawf9r3r863lwxj0n89i7h3n8xjbsl5b7n6xg76r68scl5yzvvh";
   };
 
-  checkInputs = [ pytest pytestrunner ];
-  propagatedBuildInputs = [ six w3lib lxml cssselect ] ++ lib.optionals isPy27 [ functools32 ];
+  propagatedBuildInputs = [
+    cssselect
+    lxml
+    six
+    w3lib
+  ] ++ lib.optionals isPy27 [
+    functools32
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  checkPhase = ''
-    py.test
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "'pytest-runner'," ""
   '';
 
+  disabledTests = [
+    # Test are out-dated and are failing (AssertionError: Lists differ: ...)
+    # https://github.com/scrapy/parsel/pull/174
+    "test_differences_parsing_xml_vs_html"
+    "test_nested_selectors"
+    "test_re"
+    "test_replacement_null_char_from_body"
+    "test_select_on_text_nodes"
+    "test_selector_get_alias"
+    "test_selector_getall_alias"
+    "test_selector_over_text"
+    "test_selectorlist_get_alias"
+    "test_selectorlist_getall_alias"
+    "test_slicing"
+    "test_text_pseudo_element"
+  ];
+
+  pythonImportsCheck = [ "parsel" ];
+
   meta = with lib; {
     homepage = "https://github.com/scrapy/parsel";
-    description = "Parsel is a library to extract data from HTML and XML using XPath and CSS selectors";
+    description = "Python library to extract data from HTML and XML using XPath and CSS selectors";
     license = licenses.bsd3;
+    maintainers = with maintainers; [ fab ];
   };
-
 }
diff --git a/pkgs/development/python-modules/py-desmume/default.nix b/pkgs/development/python-modules/py-desmume/default.nix
index a249b0aede1..e9cff7eb824 100644
--- a/pkgs/development/python-modules/py-desmume/default.nix
+++ b/pkgs/development/python-modules/py-desmume/default.nix
@@ -1,6 +1,6 @@
 { lib, buildPythonPackage, fetchFromGitHub, GitPython
 , libpcap, meson, ninja, pillow, pkg-config, pygobject3, SDL2
-, alsaLib, soundtouch, openal
+, alsa-lib, soundtouch, openal
 }:
 
 let
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     cp -R --no-preserve=mode ${desmume} __build_desmume
   '';
 
-  buildInputs = [ GitPython libpcap SDL2 alsaLib soundtouch openal ];
+  buildInputs = [ GitPython libpcap SDL2 alsa-lib soundtouch openal ];
   nativeBuildInputs = [ meson ninja pkg-config ];
   propagatedBuildInputs = [ pillow pygobject3 ];
 
diff --git a/pkgs/development/python-modules/py3status/default.nix b/pkgs/development/python-modules/py3status/default.nix
index 9967394d28e..b41b7ddf320 100644
--- a/pkgs/development/python-modules/py3status/default.nix
+++ b/pkgs/development/python-modules/py3status/default.nix
@@ -14,7 +14,7 @@
 , file
 , acpi
 , coreutils
-, alsaUtils
+, alsa-utils
 , i3
 , procps
 , lm_sensors
@@ -40,7 +40,7 @@ buildPythonPackage rec {
     sed -i -e "s|\[\"acpi\"|\[\"${acpi}/bin/acpi\"|" py3status/modules/battery_level.py
     sed -i -e "s|notify-send|${libnotify}/bin/notify-send|" py3status/modules/battery_level.py
     sed -i -e "s|/usr/bin/whoami|${coreutils}/bin/whoami|" py3status/modules/external_script.py
-    sed -i -e "s|'amixer|'${alsaUtils}/bin/amixer|" py3status/modules/volume_status.py
+    sed -i -e "s|'amixer|'${alsa-utils}/bin/amixer|" py3status/modules/volume_status.py
     sed -i -e "s|'i3-nagbar|'${i3}/bin/i3-nagbar|" py3status/modules/pomodoro.py
     sed -i -e "s|'free|'${procps}/bin/free|" py3status/modules/sysdata.py
     sed -i -e "s|'sensors|'${lm_sensors}/bin/sensors|" py3status/modules/sysdata.py
diff --git a/pkgs/development/python-modules/pynobo/default.nix b/pkgs/development/python-modules/pynobo/default.nix
new file mode 100644
index 00000000000..52cada82781
--- /dev/null
+++ b/pkgs/development/python-modules/pynobo/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+}:
+
+buildPythonPackage rec {
+  pname = "pynobo";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    owner = "echoromeo";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0f98qm9vp7f0hqaxhihv7y5swciyp60222la44f4936g0rvs005x";
+  };
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "pynobo" ];
+
+  meta = with lib; {
+    description = "Python 3 TCP/IP interface for Nobo Hub/Nobo Energy Control devices";
+    homepage = "https://github.com/echoromeo/pynobo";
+    license = with licenses; [ gpl3Plus ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-rtmidi/default.nix b/pkgs/development/python-modules/python-rtmidi/default.nix
index aadf75d59f7..781231749fd 100644
--- a/pkgs/development/python-modules/python-rtmidi/default.nix
+++ b/pkgs/development/python-modules/python-rtmidi/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchPypi, isPy27
-, pkg-config, alsaLib, libjack2, tox, flake8, alabaster
+, pkg-config, alsa-lib, libjack2, tox, flake8, alabaster
 }:
 
 buildPythonPackage rec {
@@ -13,7 +13,7 @@ buildPythonPackage rec {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ alsaLib libjack2 ];
+  buildInputs = [ alsa-lib libjack2 ];
   checkInputs = [
     tox
     flake8
diff --git a/pkgs/development/python-modules/rtmidi-python/default.nix b/pkgs/development/python-modules/rtmidi-python/default.nix
index 4e6da0b8d42..e1565fa6c30 100644
--- a/pkgs/development/python-modules/rtmidi-python/default.nix
+++ b/pkgs/development/python-modules/rtmidi-python/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, cython, alsaLib }:
+{ lib, buildPythonPackage, fetchPypi, cython, alsa-lib }:
 
 buildPythonPackage rec {
   pname = "rtmidi-python";
@@ -14,7 +14,7 @@ buildPythonPackage rec {
   '';
 
   nativeBuildInputs = [ cython ];
-  buildInputs = [ alsaLib ];
+  buildInputs = [ alsa-lib ];
 
   setupPyBuildFlags = [ "--from-cython" ];
 
diff --git a/pkgs/development/python-modules/s3transfer/default.nix b/pkgs/development/python-modules/s3transfer/default.nix
index 0ef7378fbf6..e41e4165b9c 100644
--- a/pkgs/development/python-modules/s3transfer/default.nix
+++ b/pkgs/development/python-modules/s3transfer/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "s3transfer";
-  version = "0.3.6";
+  version = "0.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c5dadf598762899d8cfaecf68eba649cd25b0ce93b6c954b156aaa3eed160547";
+    sha256 = "sha256-ywIvSxZVHt67sxo3fT8JYA262nNj2MXbeXbn9Hcy4bI=";
   };
 
   propagatedBuildInputs =
diff --git a/pkgs/development/python-modules/scrapy/default.nix b/pkgs/development/python-modules/scrapy/default.nix
index 08a3a596732..4ca07310658 100644
--- a/pkgs/development/python-modules/scrapy/default.nix
+++ b/pkgs/development/python-modules/scrapy/default.nix
@@ -1,64 +1,89 @@
 { lib
 , stdenv
+, botocore
 , buildPythonPackage
-, isPy27
-, fetchPypi
+, cryptography
+, cssselect
+, fetchFromGitHub
+, fetchpatch
 , glibcLocales
+, installShellFiles
+, itemadapter
+, itemloaders
+, jmespath
+, lxml
+, parsel
+, pillow
+, protego
+, pydispatcher
+, pyopenssl
+, pytest-twisted
 , pytestCheckHook
+, pythonOlder
+, queuelib
+, service-identity
+, sybil
 , testfixtures
-, pillow
 , twisted
-, cryptography
 , w3lib
-, lxml
-, queuelib
-, pyopenssl
-, service-identity
-, parsel
-, pydispatcher
-, cssselect
 , zope_interface
-, protego
-, jmespath
-, sybil
-, pytest-twisted
-, botocore
-, itemadapter
-, itemloaders
 }:
 
 buildPythonPackage rec {
-  version = "2.4.1";
-  pname = "Scrapy";
+  pname = "scrapy";
+  version = "2.5.0";
+  disabled = pythonOlder "3.6";
 
-  disabled = isPy27;
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = version;
+    sha256 = "09lxnjz1cw37i9bgk8sci2xxknj20gi2lq8l7i0b3xw7q8bxzp7h";
+  };
 
-  checkInputs = [
-    glibcLocales
-    jmespath
-    pytestCheckHook
-    sybil
-    testfixtures
-    pillow
-    pytest-twisted
-    botocore
+  nativeBuildInputs = [
+    installShellFiles
   ];
 
   propagatedBuildInputs = [
-    twisted
     cryptography
     cssselect
+    itemadapter
+    itemloaders
     lxml
     parsel
+    protego
     pydispatcher
     pyopenssl
     queuelib
     service-identity
+    twisted
     w3lib
     zope_interface
-    protego
-    itemadapter
-    itemloaders
+  ];
+
+  checkInputs = [
+    botocore
+    glibcLocales
+    jmespath
+    pytestCheckHook
+    sybil
+    testfixtures
+  ];
+
+  patches = [
+    # Require setuptools, https://github.com/scrapy/scrapy/pull/5122
+    (fetchpatch {
+      name = "add-setuptools.patch";
+      url = "https://github.com/scrapy/scrapy/commit/4f500342c8ad4674b191e1fab0d1b2ac944d7d3e.patch";
+      sha256 = "14030sfv1cf7dy4yww02b49mg39cfcg4bv7ys1iwycfqag3xcjda";
+    })
+    # Make Twisted[http2] installation optional, https://github.com/scrapy/scrapy/pull/5113
+    (fetchpatch {
+      name = "remove-h2.patch";
+      url = "https://github.com/scrapy/scrapy/commit/c5b1ee810167266fcd259f263dbfc0fe0204761a.patch";
+      sha256 = "1gw28wg8qcb0al59rz214hm17smspi6j5kg62nr1r850pykyrsqk";
+    })
   ];
 
   LC_ALL = "en_US.UTF-8";
@@ -68,39 +93,48 @@ buildPythonPackage rec {
     substituteInPlace pytest.ini --replace "--doctest-modules" ""
   '';
 
-  pytestFlagsArray = [
-    "--ignore=tests/test_proxy_connect.py"
-    "--ignore=tests/test_utils_display.py"
-    "--ignore=tests/test_command_check.py"
+  disabledTestPaths = [
+    "tests/test_proxy_connect.py"
+    "tests/test_utils_display.py"
+    "tests/test_command_check.py"
+    # Don't test the documentation
+    "docs"
   ];
 
   disabledTests = [
+    # It's unclear if the failures are related to libxml2, https://github.com/NixOS/nixpkgs/pull/123890
+    "test_nested_css"
+    "test_nested_xpath"
+    "test_flavor_detection"
+    # Requires network access
     "FTPFeedStorageTest"
-    "test_noconnect"
-    "test_retry_dns_error"
+    "FeedExportTest"
     "test_custom_asyncio_loop_enabled_true"
     "test_custom_loop_asyncio"
+    "test_custom_loop_asyncio_deferred_signal"
     "FileFeedStoragePreFeedOptionsTest"  # https://github.com/scrapy/scrapy/issues/5157
   ] ++ lib.optionals stdenv.isDarwin [
     "test_xmliter_encoding"
     "test_download"
   ];
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "68c48f01a58636bdf0f6fcd5035a19ecf277b58af24bd70c36dc6e556df3e005";
-  };
-
   postInstall = ''
-    install -m 644 -D extras/scrapy.1 $out/share/man/man1/scrapy.1
+    installManPage extras/scrapy.1
     install -m 644 -D extras/scrapy_bash_completion $out/share/bash-completion/completions/scrapy
     install -m 644 -D extras/scrapy_zsh_completion $out/share/zsh/site-functions/_scrapy
   '';
 
+  pythonImportsCheck = [ "scrapy" ];
+
   __darwinAllowLocalNetworking = true;
 
   meta = with lib; {
-    description = "A fast high-level web crawling and web scraping framework, used to crawl websites and extract structured data from their pages";
+    description = "High-level web crawling and web scraping framework";
+    longDescription = ''
+      Scrapy is a fast high-level web crawling and web scraping framework, used to crawl
+      websites and extract structured data from their pages. It can be used for a wide
+      range of purposes, from data mining to monitoring and automated testing.
+    '';
     homepage = "https://scrapy.org/";
     license = licenses.bsd3;
     maintainers = with maintainers; [ drewkett marsam ];
diff --git a/pkgs/development/python-modules/simpleaudio/default.nix b/pkgs/development/python-modules/simpleaudio/default.nix
index 948716a9b7c..4ab18efe332 100644
--- a/pkgs/development/python-modules/simpleaudio/default.nix
+++ b/pkgs/development/python-modules/simpleaudio/default.nix
@@ -1,4 +1,4 @@
-{ alsaLib, buildPythonPackage, fetchFromGitHub, isPy27, lib }:
+{ alsa-lib, buildPythonPackage, fetchFromGitHub, isPy27, lib }:
 
 buildPythonPackage rec {
   pname = "simpleaudio";
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     sha256 = "12nypzb1m14yip4zrbzin5jc5awyp1d5md5y40g5anj4phb4hx1i";
   };
 
-  buildInputs = [ alsaLib ];
+  buildInputs = [ alsa-lib ];
 
   meta = with lib; {
     homepage = "https://github.com/hamiltron/py-simple-audio";
diff --git a/pkgs/development/python-modules/sipsimple/default.nix b/pkgs/development/python-modules/sipsimple/default.nix
index 568ce67d143..838ffd47184 100644
--- a/pkgs/development/python-modules/sipsimple/default.nix
+++ b/pkgs/development/python-modules/sipsimple/default.nix
@@ -33,7 +33,7 @@ buildPythonPackage rec {
   '';
 
   nativeBuildInputs = [ pkgs.pkg-config ];
-  buildInputs = with pkgs; [ alsaLib ffmpeg_3 libv4l sqlite libvpx ];
+  buildInputs = with pkgs; [ alsa-lib ffmpeg_3 libv4l sqlite libvpx ];
   propagatedBuildInputs = [ cython pkgs.openssl dnspython dateutil xcaplib msrplib lxml python-otr ];
 
   meta = with lib; {