1{
2 lib,
3 buildPythonPackage,
4 chardet,
5 fetchPypi,
6 jinja2,
7 jinja2-pluralize,
8 pluggy,
9 poetry-core,
10 pycodestyle,
11 pyflakes,
12 pygments,
13 pylint,
14 pytest-datadir,
15 pytest-mock,
16 pytestCheckHook,
17 pythonOlder,
18 tomli,
19}:
20
21buildPythonPackage rec {
22 pname = "diff-cover";
23 version = "9.1.1";
24 format = "pyproject";
25
26 disabled = pythonOlder "3.7";
27
28 src = fetchPypi {
29 pname = "diff_cover";
30 inherit version;
31 hash = "sha256-te0glVs+ve6UR25CnP2fEyThwZoExKrjKok7EcNnPx4=";
32 };
33
34 nativeBuildInputs = [ poetry-core ];
35
36 propagatedBuildInputs = [
37 chardet
38 jinja2
39 jinja2-pluralize
40 pluggy
41 pygments
42 tomli
43 ];
44
45 nativeCheckInputs = [
46 pycodestyle
47 pyflakes
48 pylint
49 pytest-datadir
50 pytest-mock
51 pytestCheckHook
52 ];
53
54 disabledTests = [
55 # Tests check for flake8
56 "file_does_not_exist"
57 # Comparing console output doesn't work reliable
58 "console"
59 ];
60
61 pythonImportsCheck = [ "diff_cover" ];
62
63 meta = with lib; {
64 description = "Automatically find diff lines that need test coverage";
65 homepage = "https://github.com/Bachmann1234/diff-cover";
66 changelog = "https://github.com/Bachmann1234/diff_cover/releases/tag/v${version}";
67 license = licenses.asl20;
68 maintainers = with maintainers; [ dzabraev ];
69 };
70}