21 buildPythonPackage rec {
24 format = "setuptools";
26 disabled = pythonOlder "3.7.2";
28 src = fetchFromGitHub {
32 sha256 = "sha256-JTFGplqIA6WavwzKOkrm1rHBKNRrplBPvAdEkb/fTlI=";
39 propagatedBuildInputs = [
46 ] ++ lib.optionals (pythonOlder "3.11") [
48 ] ++ lib.optionals (pythonOlder "3.9") [
53 mkdir -p $out/share/emacs/site-lisp
54 cp -v "elisp/"*.el $out/share/emacs/site-lisp/
55 installManPage man/*.1
60 # https://github.com/PyCQA/pylint/blob/main/requirements_test_min.txt
67 dontUseSetuptoolsCheck = true;
75 # tests miss multiple input files
76 # FileNotFoundError: [Errno 2] No such file or directory
77 "tests/pyreverse/test_writer.py"
81 # AssertionError when self executing and checking output
82 # expected output looks like it should match though
83 "test_invocation_of_pylint_config"
84 "test_generate_rcfile"
85 "test_generate_toml_config"
87 "test_output_of_callback_options"
88 # Failed: DID NOT WARN. No warnings of type (<class 'UserWarning'>,) were emitted. The list of emitted warnings is: [].
89 "test_save_and_load_not_a_linter_stats"
90 ] ++ lib.optionals stdenv.isDarwin [
91 "test_parallel_execution"
92 "test_py3k_jobs_option"
96 homepage = "https://pylint.pycqa.org/";
97 description = "A bug and style checker for Python";
99 Pylint is a Python static code analysis tool which looks for programming errors,
100 helps enforcing a coding standard, sniffs for code smells and offers simple
101 refactoring suggestions.
102 Pylint is shipped with following additional commands:
103 - pyreverse: an UML diagram generator
104 - symilar: an independent similarities checker
105 - epylint: Emacs and Flymake compatible Pylint
107 license = licenses.gpl1Plus;
108 maintainers = with maintainers; [ SuperSandro2000 ];