1{ lib
2, babel
3, buildPythonPackage
4, fetchFromGitLab
5, fetchpatch
6, gnupg
7, html2text
8, libyaml
9, lxml
10, nose
11, packaging
12, pillow
13, prettytable
14, pycountry
15, python-dateutil
16, pythonOlder
17, pyyaml
18, requests
19, rich
20, termcolor
21, testers
22, unidecode
23, woob
24}:
25
26buildPythonPackage rec {
27 pname = "woob";
28 version = "3.6";
29 format = "pyproject";
30
31 disabled = pythonOlder "3.7";
32
33 src = fetchFromGitLab {
34 owner = "woob";
35 repo = pname;
36 rev = version;
37 hash = "sha256-M9AjV954H1w64YGCVxDEGGSnoEbmocG3zwltob6IW04=";
38 };
39
40 nativeBuildInputs = [
41 packaging
42 ];
43
44 propagatedBuildInputs = [
45 babel
46 python-dateutil
47 gnupg
48 html2text
49 libyaml
50 lxml
51 packaging
52 pillow
53 prettytable
54 pycountry
55 pyyaml
56 requests
57 rich
58 termcolor
59 unidecode
60 ];
61
62 nativeCheckInputs = [
63 nose
64 ];
65
66 checkPhase = ''
67 nosetests
68 '';
69
70 pythonImportsCheck = [
71 "woob"
72 ];
73
74 passthru.tests.version = testers.testVersion {
75 package = woob;
76 version = "v${version}";
77 };
78
79 meta = with lib; {
80 description = "Collection of applications and APIs to interact with websites";
81 homepage = "https://woob.tech";
82 license = licenses.lgpl3Plus;
83 maintainers = with maintainers; [ DamienCassou ];
84 };
85}