1{ lib
2, buildPythonPackage
3, cssselect
4, fetchPypi
5, lxml
6, packaging
7, psutil
8, pytestCheckHook
9, pythonOlder
10, w3lib
11}:
12
13buildPythonPackage rec {
14 pname = "parsel";
15 version = "1.7.0";
16 format = "setuptools";
17
18 disabled = pythonOlder "3.7";
19
20 src = fetchPypi {
21 inherit pname version;
22 hash = "sha256-AlQTPLAwTeE/zEhXu4IU/3DWmIcnYfpr6DdOG7vVgZI=";
23 };
24
25 postPatch = ''
26 substituteInPlace setup.py \
27 --replace '"pytest-runner",' ""
28 '';
29
30 propagatedBuildInputs = [
31 cssselect
32 lxml
33 packaging
34 w3lib
35 ];
36
37 checkInputs = [
38 psutil
39 pytestCheckHook
40 ];
41
42 pythonImportsCheck = [
43 "parsel"
44 ];
45
46 meta = with lib; {
47 description = "Python library to extract data from HTML and XML using XPath and CSS selectors";
48 homepage = "https://github.com/scrapy/parsel";
49 license = licenses.bsd3;
50 maintainers = with maintainers; [ fab ];
51 };
52}