1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 html-text,
6 jstyleson,
7 lxml,
8 mf2py,
9 mock,
10 pyrdfa3,
11 pytestCheckHook,
12 pythonOlder,
13 pythonRelaxDepsHook,
14 rdflib,
15 setuptools,
16 six,
17 w3lib,
18}:
19
20buildPythonPackage rec {
21 pname = "extruct";
22 version = "0.16.0";
23 pyproject = true;
24
25 disabled = pythonOlder "3.8";
26
27 src = fetchFromGitHub {
28 owner = "scrapinghub";
29 repo = "extruct";
30 rev = "refs/tags/v${version}";
31 hash = "sha256-6lAb17EoR0FKyIOb9hk1jcpmPtZ7vClfuCrDZ83XBeg=";
32 };
33
34 nativeBuildInputs = [ setuptools ];
35
36 propagatedBuildInputs = [
37 html-text
38 jstyleson
39 lxml
40 mf2py
41 pyrdfa3
42 rdflib
43 six
44 w3lib
45 ];
46
47 nativeCheckInputs = [
48 mock
49 pytestCheckHook
50 ];
51
52 pythonImportsCheck = [ "extruct" ];
53
54 disabledTests = [
55 # AssertionError: Lists differ
56 "test_microformat"
57 "test_umicroformat"
58 ];
59
60 meta = with lib; {
61 description = "Extract embedded metadata from HTML markup";
62 mainProgram = "extruct";
63 homepage = "https://github.com/scrapinghub/extruct";
64 changelog = "https://github.com/scrapinghub/extruct/blob/v${version}/HISTORY.rst";
65 license = licenses.bsd3;
66 maintainers = with maintainers; [ ambroisie ];
67 };
68}