nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitLab,
5 babel,
6 html2text,
7 lxml,
8 packaging,
9 pillow,
10 prettytable,
11 pycountry,
12 pytestCheckHook,
13 python-dateutil,
14 python-jose,
15 pyyaml,
16 requests,
17 rich,
18 setuptools,
19 testers,
20 unidecode,
21 termcolor,
22 responses,
23 woob,
24}:
25
26buildPythonPackage rec {
27 pname = "woob";
28 version = "3.7";
29 pyproject = true;
30
31 src = fetchFromGitLab {
32 owner = "woob";
33 repo = "woob";
34 tag = version;
35 hash = "sha256-EZHzw+/BIIvmDXG4fF367wsdUTVTHWYb0d0U56ZXwOs=";
36 };
37
38 build-system = [ setuptools ];
39
40 pythonRelaxDeps = [
41 "packaging"
42 "rich"
43 "requests"
44 ];
45
46 dependencies = [
47 babel
48 python-dateutil
49 python-jose
50 html2text
51 lxml
52 packaging
53 pillow
54 prettytable
55 pycountry
56 pyyaml
57 requests
58 rich
59 unidecode
60 termcolor
61 ];
62
63 nativeCheckInputs = [
64 pytestCheckHook
65 responses
66 ];
67
68 disabledTests = [
69 # require networking
70 "test_ciphers"
71 "test_verify"
72 ];
73
74 pythonImportsCheck = [ "woob" ];
75
76 passthru.tests.version = testers.testVersion {
77 package = woob;
78 version = "v${version}";
79 };
80
81 meta = {
82 changelog = "https://gitlab.com/woob/woob/-/blob/${src.rev}/ChangeLog";
83 description = "Collection of applications and APIs to interact with websites";
84 mainProgram = "woob";
85 homepage = "https://woob.tech";
86 license = lib.licenses.lgpl3Plus;
87 maintainers = with lib.maintainers; [ DamienCassou ];
88 };
89}