Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / tools / prospector / default.nix
blob598b2570600e795c45a35a33cb2d4f3e334d4353
1 { lib
2 , fetchFromGitHub
3 , python3
4 }:
6 let
7   setoptconf-tmp = python3.pkgs.callPackage ./setoptconf.nix { };
8 in
10 python3.pkgs.buildPythonApplication rec {
11   pname = "prospector";
12   version = "1.9.0";
13   format = "pyproject";
15   src = fetchFromGitHub {
16     owner = "PyCQA";
17     repo = pname;
18     rev = "refs/tags/v${version}";
19     hash = "sha256-94JGKX91d2kul+KMYohga9KCOj6RN/YKpD8e4nWSOOM=";
20   };
22   pythonRelaxDeps = [
23     "pyflakes"
24     "pep8-naming"
25     "flake8"
26   ];
28   nativeBuildInputs = with python3.pkgs; [
29     poetry-core
30     pythonRelaxDepsHook
31   ];
33   propagatedBuildInputs = with python3.pkgs; [
34     bandit
35     dodgy
36     flake8
37     gitpython
38     mccabe
39     mypy
40     pep8-naming
41     pycodestyle
42     pydocstyle
43     pyflakes
44     pylint
45     pylint-celery
46     pylint-django
47     pylint-flask
48     pylint-plugin-utils
49     pyroma
50     pyyaml
51     requirements-detector
52     setoptconf-tmp
53     setuptools
54     toml
55     vulture
56   ];
58   nativeCheckInputs = with python3.pkgs; [
59     pytestCheckHook
60   ];
62   pythonImportsCheck = [
63     "prospector"
64   ];
66   disabledTestPaths = [
67     # distutils.errors.DistutilsArgError: no commands supplied
68     "tests/tools/pyroma/test_pyroma_tool.py"
69   ];
72   meta = with lib; {
73     description = "Tool to analyse Python code and output information about errors, potential problems, convention violations and complexity";
74     homepage = "https://github.com/PyCQA/prospector";
75     changelog = "https://github.com/PyCQA/prospector/blob/v${version}/CHANGELOG.rst";
76     license = licenses.gpl2Plus;
77     maintainers = with maintainers; [ kamadorueda ];
78   };