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