1{
2 lib,
3 beautifulsoup4,
4 buildPythonPackage,
5 fetchFromGitHub,
6 numpy,
7 pytest-console-scripts,
8 pytestCheckHook,
9 pythonOlder,
10 pyvips,
11 scipy,
12 setuptools-scm,
13}:
14
15buildPythonPackage rec {
16 pname = "scooby";
17 version = "0.10.0";
18 format = "setuptools";
19
20 disabled = pythonOlder "3.7";
21
22 src = fetchFromGitHub {
23 owner = "banesullivan";
24 repo = "scooby";
25 tag = "v${version}";
26 hash = "sha256-KXhLN8KPz61l+4v88+kVSvodT6OXDJ3Pw9A9aFWSqYE=";
27 };
28
29 nativeBuildInputs = [ setuptools-scm ];
30
31 nativeCheckInputs = [
32 beautifulsoup4
33 numpy
34 pytest-console-scripts
35 pytestCheckHook
36 pyvips
37 scipy
38 ];
39
40 preCheck = ''
41 export PATH="$PATH:$out/bin";
42 '';
43
44 pythonImportsCheck = [ "scooby" ];
45
46 disabledTests = [
47 # Tests have additions requirements (e.g., time and module)
48 "test_get_version"
49 "test_tracking"
50 "test_import_os_error"
51 "test_import_time"
52 # TypeError: expected str, bytes or os.PathLike object, not list
53 "test_cli"
54 ];
55
56 meta = with lib; {
57 changelog = "https://github.com/banesullivan/scooby/releases/tag/v${version}";
58 description = "Lightweight tool for reporting Python package versions and hardware resources";
59 mainProgram = "scooby";
60 homepage = "https://github.com/banesullivan/scooby";
61 license = licenses.mit;
62 maintainers = with maintainers; [ wegank ];
63 };
64}