Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

prospector: init and 1.2.0 + dependencies #77424

Merged
merged 5 commits into from Jan 15, 2020
Merged

prospector: init and 1.2.0 + dependencies #77424

merged 5 commits into from Jan 15, 2020

Conversation

kamadorueda
Copy link
Member

@kamadorueda kamadorueda commented Jan 10, 2020

Motivation for this change

Prospector with strictness 'veryhigh' makes python code awesome

Things done

Added prospector + dependencies, many dependencies were not thoroughly tested on its own, but they are tested as part of the prospector tests at least

  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
Notify maintainers

cc @

@kamadorueda
Copy link
Member Author

kamado:~/Documents/nixpkgs$ nix-review rev HEAD
$ git -c fetch.prune=false fetch --force https://github.com/NixOS/nixpkgs master:refs/nix-review/0
From https://github.com/NixOS/nixpkgs
   cef835d40ed..ee7d45c638b  master     -> refs/nix-review/0
$ git worktree add /home/kamado/.cache/nix-review/rev-4ae535b86073f47c1efe876367ede8508d4b3530/nixpkgs ee7d45c638be124d8ab410d9ba2bbd0b5bc5520d
Preparing worktree (detached HEAD ee7d45c638b)
HEAD is now at ee7d45c638b pythonPackages.hydra: init at 1.4.1
$ nix-env -f /home/kamado/.cache/nix-review/rev-4ae535b86073f47c1efe876367ede8508d4b3530/nixpkgs -qaP --xml --out-path --show-trace
$ git merge --no-commit 4ae535b86073f47c1efe876367ede8508d4b3530
Updating ee7d45c638b..4ae535b8607
Fast-forward
 pkgs/development/python-modules/prospector/default.nix            | 76 ++++++++++++++++++++++++++++++++++++++++++++++
 pkgs/development/python-modules/pylint-celery/default.nix         | 37 ++++++++++++++++++++++
 pkgs/development/python-modules/pylint-django/default.nix         | 39 ++++++++++++++++++++++++
 pkgs/development/python-modules/pylint-flask/default.nix          | 36 ++++++++++++++++++++++
 pkgs/development/python-modules/requirements-detector/default.nix |  9 ++++--
 pkgs/development/python-modules/setoptconf/default.nix            | 26 ++++++++++++++++
 pkgs/top-level/all-packages.nix                                   |  2 ++
 pkgs/top-level/python-packages.nix                                | 23 ++++++++++++++
 8 files changed, 246 insertions(+), 2 deletions(-)
 create mode 100644 pkgs/development/python-modules/prospector/default.nix
 create mode 100644 pkgs/development/python-modules/pylint-celery/default.nix
 create mode 100644 pkgs/development/python-modules/pylint-django/default.nix
 create mode 100644 pkgs/development/python-modules/pylint-flask/default.nix
 create mode 100644 pkgs/development/python-modules/setoptconf/default.nix
$ nix-env -f /home/kamado/.cache/nix-review/rev-4ae535b86073f47c1efe876367ede8508d4b3530/nixpkgs -qaP --xml --out-path --show-trace --meta
$ nix build --no-link --keep-going --max-jobs 4 --option build-use-sandbox true -f /home/kamado/.cache/nix-review/rev-4ae535b86073f47c1efe876367ede8508d4b3530/build.nix
[6 built, 5 copied (1.0 MiB), 0.2 MiB DL]
13 package were built:
prospector python27Packages.setoptconf python37Packages.pylint-celery python37Packages.pylint-django python37Packages.pylint-flask python37Packages.requirements-detector python37Packages.setoptconf python38Packages.prospector python38Packages.pylint-celery python38Packages.pylint-django python38Packages.pylint-flask python38Packages.requirements-detector python38Packages.setoptconf

$ nix-shell /home/kamado/.cache/nix-review/rev-4ae535b86073f47c1efe876367ede8508d4b3530/shell.nix
innovation

[nix-shell:~/.cache/nix-review/rev-4ae535b86073f47c1efe876367ede8508d4b3530]$ prospector --help
usage: prospector [-h] [-0] [-A] [-u USES] [-B] [-D] [-T] [-8] [-m] [-F]
                  [--max-line-length MAX_LINE_LENGTH] [-M] [-S]
                  [-o OUTPUT_FORMAT] [--absolute-paths] [-t TOOLS]
                  [-w WITH_TOOLS] [-W WITHOUT_TOOLS] [-P PROFILES]
                  [--profile-path PROFILE_PATH]
                  [-s {veryhigh,high,medium,low,verylow}] [--show-profile]
                  [-E] [--pylint-config-file PYLINT_CONFIG_FILE] [-p PATH]
                  [-I IGNORE_PATTERNS] [-i IGNORE_PATHS] [-X]
                  [--include-tool-stdout] [--direct-tool-stdout] [--version]
                  [PATH [PATH ...]]

Performs static analysis of Python code

positional arguments:
  PATH                  The path to a Python project to inspect. Defaults to
                        PWD if not specified. If multiple paths are specified,
                        they must all be files (no directories).

optional arguments:
  -h, --help            show this help message and exit
  -0, --zero-exit       Prospector will exit with a code of 1 (one) if any
                        messages are found. This makes automation easier; if
                        there are any problems at all, the exit code is non-
                        zero. However this behaviour is not always desirable,
                        so if this flag is set, prospector will exit with a
                        code of 0 if it ran successfully, and non-zero if it
                        failed to run.
  -A, --no-autodetect   Turn off auto-detection of frameworks and libraries
                        used. By default, autodetection will be used. To
                        specify manually, see the --uses option.
  -u USES, --uses USES  A list of one or more libraries or frameworks that the
                        project uses. Possible values are: django, celery,
                        flask. This will be autodetected by default, but if
                        autodetection doesn't work, manually specify them
                        using this flag.
  -B, --no-blending     Turn off blending of messages. Prospector will merge
                        together messages from different tools if they
                        represent the same error. Use this option to see all
                        unmerged messages.
  -D, --doc-warnings    Include warnings about documentation.
  -T, --test-warnings   Also check test modules and packages.
  -8, --no-style-warnings
                        Don't create any warnings about style. This disables
                        the PEP8 tool and similar checks for formatting.
  -m, --member-warnings
                        Attempt to warn when code tries to access an attribute
                        of a class or member of a module which does not exist.
                        This is disabled by default as it tends to be quite
                        inaccurate.
  -F, --full-pep8       Enables every PEP8 warning, so that all PEP8 style
                        violations will be reported.
  --max-line-length MAX_LINE_LENGTH
                        The maximum line length allowed. This will be set by
                        the strictness if no value is explicitly specified
  -M, --messages-only   Only output message information (don't output summary
                        information about the checks)
  -S, --summary-only    Only output summary information about the checks
                        (don'toutput message information)
  -o OUTPUT_FORMAT, --output-format OUTPUT_FORMAT
                        The output format. Valid values are: emacs, grouped,
                        json, pylint, text, vscode, xunit, yaml. This will
                        output to stdout by default, however a target file can
                        be used instead by adding :path-to-output-file, eg, -o
                        json:output.json
  --absolute-paths      Whether to output absolute paths when referencing
                        files in messages. By default, paths will be relative
                        to the project path
  -t TOOLS, --tool TOOLS
                        A list of tools to run. This lets you set exactly
                        which tools to run. To add extra tools to the
                        defaults, see --with-tool. Possible values are:
                        bandit, dodgy, frosted, mccabe, mypy, pep257, pep8,
                        profile-validator, pyflakes, pylint, pyroma, vulture.
                        By default, the following tools will be run: dodgy,
                        mccabe, pep257, pep8, profile-validator, pyflakes,
                        pylint
  -w WITH_TOOLS, --with-tool WITH_TOOLS
                        A list of tools to run in addition to the default
                        tools. To specify all tools explicitly, use the --tool
                        argument. Possible values are bandit, dodgy, frosted,
                        mccabe, mypy, pep257, pep8, profile-validator,
                        pyflakes, pylint, pyroma, vulture.
  -W WITHOUT_TOOLS, --without-tool WITHOUT_TOOLS
                        A list of tools that should not be run. Useful to turn
                        off only a single tool from the defaults. To specify
                        all tools explicitly, use the --tool argument.
                        Possible values are bandit, dodgy, frosted, mccabe,
                        mypy, pep257, pep8, profile-validator, pyflakes,
                        pylint, pyroma, vulture.
  -P PROFILES, --profile PROFILES
                        The list of profiles to load. A profile is a certain
                        'type' of behaviour for prospector, and is represented
                        by a YAML configuration file. Either a full path to
                        the YAML file describing the profile must be provided,
                        or it must be on the profile path (see --profile-path)
  --profile-path PROFILE_PATH
                        Additional paths to search for profile files. By
                        default this is the path that prospector will check,
                        and a directory called ".prospector" in the path that
                        prospector will check.
  -s {veryhigh,high,medium,low,verylow}, --strictness {veryhigh,high,medium,low,verylow}
                        How strict the checker should be. This affects how
                        harshly the checker will enforce coding guidelines.
                        The default value is "medium", possible values are
                        "veryhigh", "high", "medium", "low" and "verylow".
  --show-profile        Include the computed profile in the summary. This will
                        show what prospector has decided the overall profile
                        is once all profiles have been combined and inherited
                        from. This will produce a large output in most cases
                        so is only useful when trying to debug why prospector
                        is not behaving like you expect.
  -E, --no-external-config
                        Determines how prospector should behave when
                        configuration already exists for a tool. By default,
                        prospector will use existing configuration. This flag
                        will cause prospector to ignore existing configuration
                        and use its own settings for every tool. Note that
                        prospector will always use its own config for tools
                        which do not have custom configuration.
  --pylint-config-file PYLINT_CONFIG_FILE
                        The path to a pylintrc file to use to configure
                        pylint. Prospector will find .pylintrc files in the
                        root of the project, but you can use this option to
                        specify manually where it is.
  -p PATH, --path PATH  The path to a Python project to inspect. Defaults to
                        PWD if not specified. Note: This command line argument
                        is deprecated and will be removed in a future update.
                        Please use the positional PATH argument instead.
  -I IGNORE_PATTERNS, --ignore-patterns IGNORE_PATTERNS
                        A list of paths to ignore, as a list of regular
                        expressions. Files and folders will be ignored if
                        their full path contains any of these patterns.
  -i IGNORE_PATHS, --ignore-paths IGNORE_PATHS
                        A list of file or directory names to ignore. If the
                        complete name matches any of the items in this list,
                        the file or directory (and all subdirectories) will be
                        ignored.
  -X, --die-on-tool-error
                        If a tool fails to run, prospector will try to carry
                        on. Use this flag to cause prospector to die and raise
                        the exception the tool generated. Mostly useful for
                        development on prospector.
  --include-tool-stdout
  --direct-tool-stdout
  --version             show program's version number and exit

[nix-shell:~/.cache/nix-review/rev-4ae535b86073f47c1efe876367ede8508d4b3530]$ prospector --strictness very_high 
build.nix  logs/      nixpkgs/   report.md  results/   shell.nix  

[nix-shell:~/.cache/nix-review/rev-4ae535b86073f47c1efe876367ede8508d4b3530]$ prospector --strictness very_high nixpkgs/
usage: prospector [-h] [-0] [-A] [-u USES] [-B] [-D] [-T] [-8] [-m] [-F]
                  [--max-line-length MAX_LINE_LENGTH] [-M] [-S]
                  [-o OUTPUT_FORMAT] [--absolute-paths] [-t TOOLS]
                  [-w WITH_TOOLS] [-W WITHOUT_TOOLS] [-P PROFILES]
                  [--profile-path PROFILE_PATH]
                  [-s {veryhigh,high,medium,low,verylow}] [--show-profile]
                  [-E] [--pylint-config-file PYLINT_CONFIG_FILE] [-p PATH]
                  [-I IGNORE_PATTERNS] [-i IGNORE_PATHS] [-X]
                  [--include-tool-stdout] [--direct-tool-stdout] [--version]
                  [PATH [PATH ...]]
prospector: error: argument -s/--strictness: invalid choice: 'very_high' (choose from 'veryhigh', 'high', 'medium', 'low', 'verylow')

[nix-shell:~/.cache/nix-review/rev-4ae535b86073f47c1efe876367ede8508d4b3530]$ prospector --strictness veryhigh nixpkgs/
Messages
========

nixpkgs/maintainers/scripts/hydra-eval-failures.py
  Line: 1
    pylint: invalid-name / Module name "hydra-eval-failures" doesn't conform to snake_case naming style
  Line: 2
    pep8: E265 / block comment should start with '# ' (col 1)
    pep8: E501 / line too long (89 > 79 characters) (col 80)
  Line: 10
    pylint: import-error / Unable to import 'click'
  Line: 11
    pylint: import-error / Unable to import 'requests'
  Line: 12
    pep8: N813 / camelcase imported as lowercase (col 1)
    pylint: import-error / Unable to import 'pyquery'
  Line: 14
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
    pep8: E211 / whitespace before '(' (col 13)
    pylint: bad-whitespace / No space allowed before bracket
def map_dict (f, d):
             ^ (col 13)
    pylint: invalid-name / Argument name "f" doesn't conform to snake_case naming style
  Line: 15
    pep8: E231 / missing whitespace after ',' (col 10)
    pylint: invalid-name / Variable name "v" doesn't conform to snake_case naming style (col 10)
  Line: 18
    pep8: E305 / expected 2 blank lines after class or function definition, found 1 (col 1)
    pylint: invalid-name / Constant name "maintainers_json" doesn't conform to UPPER_CASE naming style
  Line: 21
    pylint: invalid-name / Constant name "maintainers" doesn't conform to UPPER_CASE naming style
  Line: 22
    pylint: assignment-from-no-return / Assigning result of a function call, where the function has no return
  Line: 24
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 27
    pep8: E305 / expected 2 blank lines after class or function definition, found 1 (col 1)
  Line: 49
    pylint: bare-except / No exception type(s) specified (col 4)
  Line: 50
    pep8: E111 / indentation is not a multiple of four (col 8)
  Line: 52
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
    pylint: redefined-outer-name / Redefining name 'maintainers' from outer scope (line 21) (col 24)
  Line: 59
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 60
    pylint: invalid-name / Variable name "a" doesn't conform to snake_case naming style (col 4)
  Line: 65
    pep8: E501 / line too long (108 > 79 characters) (col 80)
  Line: 67
    pep8: E501 / line too long (102 > 79 characters) (col 80)
  Line: 71
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 87
    pylint: invalid-name / Variable name "d" doesn't conform to snake_case naming style (col 4)
  Line: 94
    pylint: invalid-name / Variable name "d" doesn't conform to snake_case naming style (col 4)
  Line: 99
    pylint: invalid-name / Variable name "tr" doesn't conform to snake_case naming style (col 8)
  Line: 103
    pylint: invalid-name / Variable name "tr" doesn't conform to snake_case naming style (col 8)
  Line: 108
    pep8: E303 / too many blank lines (3) (col 1)
  Line: 110
    pylint: no-value-for-parameter / No value for argument 'jobset' in function call (col 8)
  Line: 111
    pylint: broad-except / Catching too general exception Exception (col 11)
    pyflakes: F841 / local variable 'e' is assigned to but never used (col 5)
    pylint: invalid-name / Variable name "e" doesn't conform to snake_case naming style (col 4)
  Line: 112
    pep8: E702 / multiple statements on one line (semicolon) (col 19)
    pep8: E231 / missing whitespace after ';' (col 19)

nixpkgs/maintainers/scripts/update.py
  Line: 4
    pylint: unused-import / Unused import os
  Line: 8
    pylint: invalid-name / Constant name "updates" doesn't conform to UPPER_CASE naming style
  Line: 10
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
    pylint: redefined-outer-name / Redefining name 'args' from outer scope (line 71)
  Line: 13
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 16
    pep8: E501 / line too long (105 > 79 characters) (col 80)
  Line: 20
    pylint: invalid-name / Variable name "f" doesn't conform to snake_case naming style (col 30)
  Line: 34
    pep8: E501 / line too long (89 > 79 characters) (col 80)
  Line: 44
    pylint: invalid-name / Variable name "e" doesn't conform to snake_case naming style (col 16)
  Line: 47
    pep8: E501 / line too long (97 > 79 characters) (col 80)
  Line: 50
    pylint: invalid-name / Variable name "f" doesn't conform to snake_case naming style (col 66)
  Line: 53
    pep8: E501 / line too long (97 > 79 characters) (col 80)
  Line: 65
    pep8: E305 / expected 2 blank lines after class or function definition, found 1 (col 1)
    pylint: invalid-name / Constant name "parser" doesn't conform to UPPER_CASE naming style
  Line: 66
    pep8: E501 / line too long (140 > 79 characters) (col 80)
  Line: 67
    pep8: E501 / line too long (121 > 79 characters) (col 80)
  Line: 68
    pep8: E501 / line too long (111 > 79 characters) (col 80)
  Line: 71
    pylint: invalid-name / Constant name "args" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 75
    pylint: invalid-name / Variable name "e" doesn't conform to snake_case naming style (col 4)

nixpkgs/nixos/lib/test-driver/test-driver.py
  Line: 1
    pylint: invalid-name / Module name "test-driver" doesn't conform to snake_case naming style
  Line: 5
    pylint: wrong-import-order / standard import "import atexit" should be placed before "import _thread"
  Line: 6
    pylint: wrong-import-order / standard import "import os" should be placed before "import _thread"
  Line: 7
    pylint: import-error / Unable to import 'ptpython.repl'
  Line: 8
    pylint: wrong-import-order / standard import "import pty" should be placed before "import _thread"
  Line: 9
    pylint: wrong-import-order / standard import "from queue import Queue, Empty" should be placed before "import _thread"
  Line: 10
    pylint: wrong-import-order / standard import "import re" should be placed before "import _thread"
  Line: 11
    pylint: wrong-import-order / standard import "import shutil" should be placed before "import _thread"
  Line: 12
    pylint: wrong-import-order / standard import "import socket" should be placed before "import _thread"
  Line: 13
    pylint: wrong-import-order / standard import "import subprocess" should be placed before "import _thread"
  Line: 14
    pylint: wrong-import-order / standard import "import sys" should be placed before "import _thread"
  Line: 15
    pylint: wrong-import-order / standard import "import tempfile" should be placed before "import _thread"
  Line: 16
    pylint: wrong-import-order / standard import "import time" should be placed before "import _thread"
  Line: 17
    pylint: wrong-import-order / standard import "import unicodedata" should be placed before "import _thread"
  Line: 18
    pylint: wrong-import-order / standard import "from typing import Tuple, Any, Callable, Dict, Iterator, Optional, List" should be placed before "import _thread"
  Line: 19
    pylint: wrong-import-order / standard import "import shlex" should be placed before "import _thread"
  Line: 20
    pylint: wrong-import-order / standard import "import pathlib" should be placed before "import _thread"
  Line: 100
    pep8: E501 / line too long (81 > 79 characters) (col 80)
  Line: 101
    pylint: global-statement / Using the global statement (col 4)
    pylint: invalid-name / Constant name "log" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 103
    pylint: redefined-outer-name / Redefining name 'vde_socket' from outer scope (line 871) (col 4)
  Line: 113
    pylint: invalid-name / Variable name "fd" doesn't conform to snake_case naming style (col 4)
  Line: 124
    pylint: invalid-name / Argument name "fn" doesn't conform to snake_case naming style
  Line: 153
    pylint: no-self-use / Method could be a function (col 4)
  Line: 154
    pep8: E501 / line too long (82 > 79 characters) (col 80)
  Line: 156
    pylint: no-self-use / Method could be a function (col 4)
  Line: 166
    pylint: dangerous-default-value / Dangerous default value {} as argument (col 4)
  Line: 184
    pylint: dangerous-default-value / Dangerous default value {} as argument (col 4)
    pep8: E501 / line too long (86 > 79 characters) (col 80)
  Line: 192
    pylint: redefined-outer-name / Redefining name 'tic' from outer scope (line 897) (col 8)
  Line: 196
    pylint: redefined-outer-name / Redefining name 'toc' from outer scope (line 899) (col 8)
  Line: 202
    pylint: too-many-instance-attributes / Too many instance attributes (15/7)
    pylint: too-many-public-methods / Too many public methods (42/20)
  Line: 246
    pep8: E501 / line too long (82 > 79 characters) (col 80)
  Line: 291
    pylint: dangerous-default-value / Dangerous default value {} as argument (col 4)
    pep8: E501 / line too long (87 > 79 characters) (col 80)
  Line: 325
    pep8: E501 / line too long (83 > 79 characters) (col 80)
  Line: 328
    pylint: unused-variable / Unused variable 'status' (col 16)
  Line: 334
    pep8: E501 / line too long (88 > 79 characters) (col 80)
  Line: 342
    pep8: E501 / line too long (85 > 79 characters) (col 80)
  Line: 343
    pep8: E501 / line too long (81 > 79 characters) (col 80)
  Line: 346
    pep8: E501 / line too long (93 > 79 characters) (col 80)
  Line: 347
    pep8: E501 / line too long (88 > 79 characters) (col 80)
  Line: 364
    pylint: invalid-name / Argument name "q" doesn't conform to snake_case naming style (col 4)
  Line: 376
    pep8: E501 / line too long (83 > 79 characters) (col 80)
  Line: 378
    pep8: E501 / line too long (86 > 79 characters) (col 80)
  Line: 415
    pep8: E501 / line too long (84 > 79 characters) (col 80)
  Line: 438
    pylint: unused-variable / Unused variable 'output' (col 20)
  Line: 453
    pylint: unused-variable / Unused variable 'output' (col 20)
  Line: 473
    pylint: unused-variable / Unused variable 'status' (col 8)
  Line: 494
    pep8: E501 / line too long (83 > 79 characters) (col 80)
  Line: 527
    pep8: E501 / line too long (85 > 79 characters) (col 80)
  Line: 530
    pep8: E501 / line too long (84 > 79 characters) (col 80)
  Line: 543
    pylint: redefined-outer-name / Redefining name 'tic' from outer scope (line 897) (col 12)
  Line: 546
    pylint: redefined-outer-name / Redefining name 'toc' from outer scope (line 899) (col 12)
  Line: 564
    pylint: subprocess-run-check / Using subprocess.run without explicitly set `check` is not recommended. (col 18)
    pep8: E501 / line too long (86 > 79 characters) (col 80)
  Line: 570
    pep8: E501 / line too long (80 > 79 characters) (col 80)
  Line: 571
    pep8: E501 / line too long (80 > 79 characters) (col 80)
  Line: 621
    pylint: subprocess-run-check / Using subprocess.run without explicitly set `check` is not recommended. (col 22)
  Line: 655
    pylint: invalid-name / Variable name "s" doesn't conform to snake_case naming style (col 12)
  Line: 661
    pylint: attribute-defined-outside-init / Attribute 'monitor_socket' defined outside __init__ (col 8)
  Line: 664
    pylint: attribute-defined-outside-init / Attribute 'shell_socket' defined outside __init__ (col 8)
  Line: 675
    pep8: E501 / line too long (81 > 79 characters) (col 80)
  Line: 692
    pylint: attribute-defined-outside-init / Attribute 'process' defined outside __init__ (col 8)
  Line: 703
    pylint: attribute-defined-outside-init / Attribute 'shell' defined outside __init__ (col 8)
  Line: 707
    pep8: E501 / line too long (80 > 79 characters) (col 80)
  Line: 756
    pep8: E501 / line too long (86 > 79 characters) (col 80)
  Line: 766
    pep8: E501 / line too long (80 > 79 characters) (col 80)
  Line: 775
    pylint: no-self-use / Method could be a function (col 4)
  Line: 778
    pep8: E501 / line too long (80 > 79 characters) (col 80)
  Line: 800
    pylint: global-statement / Using the global statement (col 4)
    pylint: invalid-name / Constant name "log" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 807
    pylint: global-statement / Using the global statement (col 4)
    pylint: invalid-name / Constant name "machines" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 814
    pylint: global-statement / Using the global statement (col 4)
    pylint: invalid-name / Constant name "machines" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 821
    pylint: exec-used / Use of exec (col 4)
  Line: 825
    pylint: global-statement / Using the global statement (col 4)
    pylint: invalid-name / Constant name "machines" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 830
    pylint: exec-used / Use of exec (col 16)
  Line: 831
    pylint: broad-except / Catching too general exception Exception (col 19)
    pylint: invalid-name / Variable name "e" doesn't conform to snake_case naming style (col 12)
  Line: 851
    pylint: global-statement / Using the global statement (col 4)
    pylint: invalid-name / Constant name "nr_tests" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 852
    pylint: global-statement / Using the global statement (col 4)
    pylint: invalid-name / Constant name "nr_succeeded" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 860
    pylint: broad-except / Catching too general exception Exception (col 15)
    pylint: invalid-name / Variable name "e" doesn't conform to snake_case naming style (col 8)
  Line: 867
    pylint: invalid-name / Constant name "log" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 869
    pylint: invalid-name / Constant name "vlan_nrs" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 870
    pylint: invalid-name / Constant name "vde_sockets" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 874
    pylint: invalid-name / Constant name "vm_scripts" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 875
    pylint: invalid-name / Constant name "machines" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 876
    pylint: invalid-name / Constant name "machine_eval" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 877
    pep8: E501 / line too long (83 > 79 characters) (col 80)
  Line: 879
    pylint: exec-used / Use of exec (col 4)
  Line: 881
    pylint: invalid-name / Constant name "nr_tests" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 882
    pylint: invalid-name / Constant name "nr_succeeded" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 890
    pep8: E501 / line too long (80 > 79 characters) (col 80)
  Line: 897
    pylint: invalid-name / Constant name "tic" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 899
    pylint: invalid-name / Constant name "toc" doesn't conform to UPPER_CASE naming style (col 4)

nixpkgs/nixos/modules/services/misc/taskserver/helper-tool.py
  Line: 189
    pep8: E722 / do not use bare 'except' (col 5)
  Line: 442
    pep8: E305 / expected 2 blank lines after class or function definition, found 1 (col 1)

nixpkgs/nixos/modules/services/x11/display-managers/set-session.py
  Line: 1
    pylint: invalid-name / Module name "set-session" doesn't conform to snake_case naming style
  Line: 3
    pep8: E401 / multiple imports on one line (col 10)
    pylint: import-error / Unable to import 'gi'
    pylint: multiple-imports / Multiple imports on one line (gi, argparse, os, logging, sys)
    pylint: wrong-import-order / standard import "import gi, argparse, os, logging, sys" should be placed before "import gi, argparse, os, logging, sys"
    pylint: wrong-import-order / standard import "import gi, argparse, os, logging, sys" should be placed before "import gi, argparse, os, logging, sys"
    pylint: wrong-import-order / standard import "import gi, argparse, os, logging, sys" should be placed before "import gi, argparse, os, logging, sys"
    pylint: wrong-import-order / standard import "import gi, argparse, os, logging, sys" should be placed before "import gi, argparse, os, logging, sys"
  Line: 6
    pep8: E402 / module level import not at top of file (col 1)
    pylint: import-error / Unable to import 'gi.repository'
    pylint: wrong-import-position / Import "from gi.repository import AccountsService, GLib" should be placed at the top of the module
  Line: 7
    pep8: E402 / module level import not at top of file (col 1)
    pylint: import-error / Unable to import 'ordered_set'
    pylint: wrong-import-position / Import "from ordered_set import OrderedSet" should be placed at the top of the module
  Line: 34
    pep8: E501 / line too long (80 > 79 characters) (col 80)
  Line: 67
    pylint: no-else-continue / Unnecessary "else" after "continue" (col 8)
  Line: 71
    pylint: logging-format-interpolation / Use % formatting in logging functions and pass the % parameters as arguments (col 16)
  Line: 72
    pep8: E501 / line too long (112 > 79 characters) (col 80)
  Line: 76
    pylint: logging-format-interpolation / Use % formatting in logging functions and pass the % parameters as arguments (col 16)
  Line: 77
    pep8: E501 / line too long (105 > 79 characters) (col 80)
  Line: 81
    pylint: logging-format-interpolation / Use % formatting in logging functions and pass the % parameters as arguments (col 16)
    pep8: E501 / line too long (85 > 79 characters) (col 80)

nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
  Line: 14
    pep8: E402 / module level import not at top of file (col 1)
  Line: 15
    pep8: E402 / module level import not at top of file (col 1)
  Line: 16
    pep8: E402 / module level import not at top of file (col 1)
  Line: 17
    pep8: E402 / module level import not at top of file (col 1)
  Line: 19
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 23
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 25
    pep8: E501 / line too long (89 > 79 characters) (col 80)
  Line: 29
    pep8: E305 / expected 2 blank lines after class or function definition, found 1 (col 1)
  Line: 45
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 53
    pylint: syntax-error / invalid syntax (<unknown>, line 53) (col 16)
  Line: 54
    pep8: E703 / statement ends with a semicolon (col 34)
  Line: 55
    pep8: E703 / statement ends with a semicolon (col 48)
  Line: 56
    pep8: E501 / line too long (99 > 79 characters) (col 80)
  Line: 58
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 61
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 67
    pep8: E501 / line too long (85 > 79 characters) (col 80)
  Line: 70
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 77
    pep8: E501 / line too long (80 > 79 characters) (col 80)
  Line: 90
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 94
    pep8: E501 / line too long (90 > 79 characters) (col 80)
  Line: 95
    pep8: E501 / line too long (89 > 79 characters) (col 80)
  Line: 99
    pep8: E501 / line too long (108 > 79 characters) (col 80)
  Line: 101
    pep8: E501 / line too long (96 > 79 characters) (col 80)
  Line: 104
    pep8: E501 / line too long (86 > 79 characters) (col 80)
  Line: 109
    pep8: E501 / line too long (82 > 79 characters) (col 80)
  Line: 110
    pep8: E128 / continuation line under-indented for visual indent (col 21)
  Line: 111
    pep8: E128 / continuation line under-indented for visual indent (col 21)
  Line: 112
    pep8: E128 / continuation line under-indented for visual indent (col 21)
  Line: 113
    pep8: E128 / continuation line under-indented for visual indent (col 21)
  Line: 114
    pep8: E128 / continuation line under-indented for visual indent (col 21)
  Line: 119
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 126
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 131
    pep8: E501 / line too long (93 > 79 characters) (col 80)
  Line: 138
    pep8: E201 / whitespace after '[' (col 13)
    pep8: E202 / whitespace before ']' (col 67)
    pep8: E501 / line too long (90 > 79 characters) (col 80)
  Line: 140
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 141
    pep8: W605 / invalid escape sequence '\.' (col 90)
    pep8: E501 / line too long (98 > 79 characters) (col 80)
  Line: 142
    pep8: W605 / invalid escape sequence '\.' (col 92)
    pep8: E501 / line too long (100 > 79 characters) (col 80)
  Line: 147
    pep8: E501 / line too long (94 > 79 characters) (col 80)
  Line: 159
    pep8: E713 / test for membership should be 'not in' (col 12)
  Line: 162
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 165
    pep8: E128 / continuation line under-indented for visual indent (col 13)
  Line: 166
    pep8: E128 / continuation line under-indented for visual indent (col 13)
  Line: 170
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 171
    pep8: E501 / line too long (91 > 79 characters) (col 80)
  Line: 172
    pep8: E501 / line too long (108 > 79 characters) (col 80)
  Line: 188
    pep8: E501 / line too long (112 > 79 characters) (col 80)
  Line: 197
    pep8: E501 / line too long (100 > 79 characters) (col 80)
  Line: 199
    pep8: E501 / line too long (118 > 79 characters) (col 80)
  Line: 221
    pep8: E501 / line too long (111 > 79 characters) (col 80)
  Line: 237
    pep8: E501 / line too long (95 > 79 characters) (col 80)
  Line: 239
    pep8: E305 / expected 2 blank lines after class or function definition, found 1 (col 1)

nixpkgs/pkgs/applications/office/libreoffice/generate-libreoffice-srcs.py
  Line: 1
    pylint: invalid-name / Module name "generate-libreoffice-srcs" doesn't conform to snake_case naming style
  Line: 11
    pep8: E401 / multiple imports on one line (col 19)
    pylint: multiple-imports / Multiple imports on one line (collections, itertools, json, re, subprocess, sys, os)
  Line: 13
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 17
    pylint: invalid-name / Variable name "x" doesn't conform to snake_case naming style (col 8)
  Line: 22
    pylint: invalid-name / Variable name "x" doesn't conform to snake_case naming style (col 8)
  Line: 27
    pylint: redefined-builtin / Redefining built-in 'hash' (col 12)
  Line: 48
    pep8: E231 / missing whitespace after ',' (col 69)
  Line: 54
    pylint: invalid-name / Argument name "x" doesn't conform to snake_case naming style
  Line: 55
    pylint: no-else-return / Unnecessary "else" after "return" (col 4)
  Line: 63
    pylint: redefined-builtin / Redefining built-in 'hash' (col 24)
  Line: 92
    pylint: invalid-name / Variable name "f" doesn't conform to snake_case naming style (col 54)
  Line: 96
    pylint: invalid-name / Argument name "xs" doesn't conform to snake_case naming style
  Line: 97
    pylint: invalid-name / Variable name "x" doesn't conform to snake_case naming style (col 8)
  Line: 109
    pylint: invalid-name / Variable name "x" doesn't conform to snake_case naming style (col 12)
  Line: 119
    pylint: invalid-name / Argument name "xs" doesn't conform to snake_case naming style (col 4)
  Line: 125
    pylint: invalid-name / Variable name "a" doesn't conform to snake_case naming style (col 8)
  Line: 130
    pylint: invalid-name / Variable name "xs" doesn't conform to snake_case naming style (col 16)
  Line: 135
    pylint: invalid-name / Variable name "x" doesn't conform to snake_case naming style (col 8)
  Line: 140
    pylint: invalid-name / Argument name "xs" doesn't conform to snake_case naming style
  Line: 148
    pylint: invalid-name / Argument name "xs" doesn't conform to snake_case naming style
  Line: 153
    pylint: redefined-builtin / Redefining built-in 'iter' (col 12)
    pylint: unused-variable / Unused variable 'k' (col 9)
  Line: 162
    pylint: invalid-name / Variable name "f" doesn't conform to snake_case naming style (col 32)
  Line: 166
    pylint: invalid-name / Argument name "x" doesn't conform to snake_case naming style
  Line: 180
    pep8: E201 / whitespace after '{' (col 14)
    pep8: E202 / whitespace before '}' (col 47)
    pylint: bad-whitespace / No space allowed after bracket
        x = { 'index': index, 'original': line }
            ^ (col 12)
    pylint: invalid-name / Variable name "x" doesn't conform to snake_case naming style (col 8)
  Line: 201
    pep8: W605 / invalid escape sequence '\s' (col 18)
    pylint: anomalous-backslash-in-string / Anomalous backslash in string: '\s'. String constant might be missing an r prefix.
  Line: 204
    pep8: W605 / invalid escape sequence '\s' (col 23)
    pep8: W605 / invalid escape sequence '\s' (col 32)
    pep8: W605 / invalid escape sequence '\s' (col 39)
    pep8: W605 / invalid escape sequence '\s' (col 44)
    pep8: W605 / invalid escape sequence '\s' (col 49)
    pylint: anomalous-backslash-in-string / Anomalous backslash in string: '\s'. String constant might be missing an r prefix.
    pylint: anomalous-backslash-in-string / Anomalous backslash in string: '\s'. String constant might be missing an r prefix. (col 9)
    pylint: anomalous-backslash-in-string / Anomalous backslash in string: '\s'. String constant might be missing an r prefix. (col 16)
    pylint: anomalous-backslash-in-string / Anomalous backslash in string: '\s'. String constant might be missing an r prefix. (col 21)
    pylint: anomalous-backslash-in-string / Anomalous backslash in string: '\s'. String constant might be missing an r prefix. (col 26)
  Line: 206
    pylint: no-else-return / Unnecessary "else" after "return" (col 4)
  Line: 215
    pylint: invalid-name / Argument name "xs" doesn't conform to snake_case naming style
  Line: 229
    pylint: invalid-name / Variable name "x" doesn't conform to snake_case naming style (col 8)
  Line: 232
    pylint: invalid-name / Variable name "x" doesn't conform to snake_case naming style (col 8)
  Line: 245
    pylint: invalid-name / Argument name "m" doesn't conform to snake_case naming style (col 4)
  Line: 246
    pylint: invalid-name / Variable name "x" doesn't conform to snake_case naming style (col 8)
  Line: 253
    pylint: invalid-name / Argument name "x" doesn't conform to snake_case naming style
  Line: 259
    pep8: E501 / line too long (109 > 79 characters) (col 80)
    pylint: invalid-name / Variable name "f" doesn't conform to snake_case naming style (col 8)
  Line: 267
    pylint: inconsistent-return-statements / Either all return statements in a function should return an expression, or none of them should.
    pylint: invalid-name / Argument name "x" doesn't conform to snake_case naming style
  Line: 279
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
    pylint: inconsistent-return-statements / Either all return statements in a function should return an expression, or none of them should.
    pylint: invalid-name / Argument name "x" doesn't conform to snake_case naming style
  Line: 286
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
    pylint: inconsistent-return-statements / Either all return statements in a function should return an expression, or none of them should.
    pylint: invalid-name / Argument name "x" doesn't conform to snake_case naming style
  Line: 299
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
    pylint: inconsistent-return-statements / Either all return statements in a function should return an expression, or none of them should.
    pylint: invalid-name / Argument name "x" doesn't conform to snake_case naming style
  Line: 307
    pylint: inconsistent-return-statements / Either all return statements in a function should return an expression, or none of them should.
    pylint: invalid-name / Argument name "x" doesn't conform to snake_case naming style

nixpkgs/pkgs/applications/version-management/gitlab/update.py
  Line: 2
    pep8: E265 / block comment should start with '# ' (col 1)
    pep8: E501 / line too long (196 > 79 characters) (col 80)
  Line: 4
    pylint: import-error / Unable to import 'click'
  Line: 5
    pylint: import-error / Unable to import 'click_log'
  Line: 6
    pylint: wrong-import-order / standard import "import os" should be placed before "import click"
  Line: 7
    pylint: wrong-import-order / standard import "import re" should be placed before "import click"
  Line: 8
    pylint: wrong-import-order / standard import "import logging" should be placed before "import click"
  Line: 9
    pylint: wrong-import-order / standard import "import subprocess" should be placed before "import click"
  Line: 10
    pylint: wrong-import-order / standard import "import json" should be placed before "import click"
  Line: 11
    pylint: wrong-import-order / standard import "import pathlib" should be placed before "import click"
  Line: 12
    pylint: wrong-import-order / standard import "from distutils.version import LooseVersion" should be placed before "import click"
  Line: 13
    pylint: wrong-import-order / standard import "from typing import Iterable" should be placed before "import click"
  Line: 15
    pylint: import-error / Unable to import 'requests'
  Line: 16
    pylint: wrong-import-order / standard import "from xml.etree import ElementTree" should be placed before "import click"
  Line: 18
    pylint: invalid-name / Constant name "logger" doesn't conform to UPPER_CASE naming style
  Line: 23
    pep8: E301 / expected 1 blank line, found 0 (col 5)
  Line: 33
    pylint: invalid-name / Variable name "r" doesn't conform to snake_case naming style (col 8)
  Line: 36
    pep8: E501 / line too long (122 > 79 characters) (col 80)
  Line: 41
    pep8: E501 / line too long (102 > 79 characters) (col 80)
  Line: 53
    pep8: E501 / line too long (88 > 79 characters) (col 80)
  Line: 72
    pylint: unused-variable / Unused variable 'version' (col 8)
  Line: 74
    pep8: E501 / line too long (111 > 79 characters) (col 80)
  Line: 75
    pep8: E501 / line too long (115 > 79 characters) (col 80)
  Line: 86
    pylint: invalid-name / Variable name "f" doesn't conform to snake_case naming style (col 38)
  Line: 93
    pep8: E501 / line too long (93 > 79 characters) (col 80)
  Line: 103
    pep8: E501 / line too long (109 > 79 characters) (col 80)
  Line: 110
    pep8: E501 / line too long (85 > 79 characters) (col 80)
  Line: 111
    pylint: logging-format-interpolation / Use % formatting in logging functions and pass the % parameters as arguments (col 4)
  Line: 114
    pylint: logging-format-interpolation / Use % formatting in logging functions and pass the % parameters as arguments (col 4)
  Line: 120
    pylint: invalid-name / Variable name "f" doesn't conform to snake_case naming style (col 49)
  Line: 134
    pylint: invalid-name / Variable name "fn" doesn't conform to snake_case naming style (col 8)
  Line: 135
    pylint: invalid-name / Variable name "f" doesn't conform to snake_case naming style (col 44)
  Line: 152
    pylint: invalid-name / Variable name "f" doesn't conform to snake_case naming style (col 50)
  Line: 155
    pylint: invalid-name / Variable name "f" doesn't conform to snake_case naming style (col 53)
  Line: 169
    pylint: invalid-name / Variable name "fn" doesn't conform to snake_case naming style (col 8)
  Line: 170
    pylint: invalid-name / Variable name "f" doesn't conform to snake_case naming style (col 43)
  Line: 173
    pylint: invalid-name / Variable name "fn" doesn't conform to snake_case naming style (col 8)
  Line: 174
    pylint: invalid-name / Variable name "f" doesn't conform to snake_case naming style (col 43)
  Line: 180
    pylint: invalid-name / Variable name "fn" doesn't conform to snake_case naming style (col 8)
  Line: 196
    pylint: invalid-name / Variable name "fn" doesn't conform to snake_case naming style (col 8)
  Line: 197
    pylint: invalid-name / Variable name "f" doesn't conform to snake_case naming style (col 49)
  Line: 202
    pylint: invalid-name / Variable name "fn" doesn't conform to snake_case naming style (col 8)
  Line: 216
    pylint: invalid-name / Variable name "fn" doesn't conform to snake_case naming style (col 8)
  Line: 217
    pylint: invalid-name / Variable name "f" doesn't conform to snake_case naming style (col 53)
  Line: 222
    pylint: invalid-name / Variable name "fn" doesn't conform to snake_case naming style (col 8)
  Line: 225
    pep8: E302 / expected 2 blank lines, found 1 (col 1)

nixpkgs/pkgs/applications/virtualization/crosvm/update.py
  Line: 2
    pep8: E265 / block comment should start with '# ' (col 1)
  Line: 3
    pep8: E265 / block comment should start with '# ' (col 1)
  Line: 9
    pylint: unused-import / Unused iterdecode imported from codecs
  Line: 11
    pylint: import-error / Unable to import 'lxml'
  Line: 12
    pylint: import-error / Unable to import 'lxml.etree'
  Line: 13
    pylint: wrong-import-order / standard import "from urllib.request import urlopen" should be placed before "from lxml import etree"
  Line: 16
    pylint: invalid-name / Constant name "components" doesn't conform to UPPER_CASE naming style
  Line: 18
    pylint: invalid-name / Constant name "git_root" doesn't conform to UPPER_CASE naming style
  Line: 19
    pylint: invalid-name / Constant name "manifest_versions" doesn't conform to UPPER_CASE naming style
  Line: 20
    pylint: invalid-name / Constant name "buildspecs_url" doesn't conform to UPPER_CASE naming style
  Line: 31
    pylint: invalid-name / Constant name "document" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 34
    pylint: invalid-name / Constant name "platform_version" doesn't conform to UPPER_CASE naming style (col 5)
  Line: 41
    pylint: invalid-name / Constant name "chrome_major_version" doesn't conform to UPPER_CASE naming style
  Line: 42
    pylint: invalid-name / Constant name "chromeos_tip_build" doesn't conform to UPPER_CASE naming style
  Line: 51
    pylint: invalid-name / Constant name "listing" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 52
    pylint: invalid-name / Constant name "buildspecs" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 53
    pylint: invalid-name / Constant name "buildspecs" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 55
    pylint: invalid-name / Constant name "buildspec" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 57
    pylint: invalid-name / Constant name "revisions" doesn't conform to UPPER_CASE naming style
  Line: 60
    pep8: E501 / line too long (92 > 79 characters) (col 80)
  Line: 61
    pylint: invalid-name / Constant name "xml" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 62
    pylint: invalid-name / Constant name "root" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 69
    pylint: invalid-name / Constant name "data" doesn't conform to UPPER_CASE naming style
  Line: 84
    pylint: invalid-name / Constant name "argv" doesn't conform to UPPER_CASE naming style
  Line: 85
    pylint: invalid-name / Constant name "position" doesn't conform to UPPER_CASE naming style
  Line: 86
    pylint: invalid-name / Constant name "filename" doesn't conform to UPPER_CASE naming style

nixpkgs/pkgs/applications/virtualization/virtualbox/update.py
  Line: 2
    pep8: E265 / block comment should start with '# ' (col 1)
  Line: 24
    pylint: invalid-name / Variable name "fp" doesn't conform to snake_case naming style (col 46)
  Line: 34
    pylint: invalid-name / Variable name "fp" doesn't conform to snake_case naming style (col 42)
  Line: 58
    pylint: redefined-outer-name / Redefining name 'new_attrs' from outer scope (line 81) (col 4)
  Line: 60
    pylint: consider-iterating-dictionary / Consider iterating the dictionary directly instead of calling .keys() (col 56)
  Line: 65
    pylint: no-else-raise / Unnecessary "elif" after "raise" (col 8)
  Line: 77
    pylint: invalid-name / Constant name "info" doesn't conform to UPPER_CASE naming style
  Line: 78
    pylint: invalid-name / Constant name "latest" doesn't conform to UPPER_CASE naming style
  Line: 81
    pylint: invalid-name / Constant name "new_attrs" doesn't conform to UPPER_CASE naming style (col 4)

nixpkgs/pkgs/build-support/docker/detjson.py
  Line: 7
    pylint: undefined-variable / Undefined variable 'reload'
  Line: 9
    pep8: E402 / module level import not at top of file (col 1)
    pylint: wrong-import-position / Import "import json" should be placed at the top of the module
  Line: 25
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 26
    pep8: E231 / missing whitespace after ',' (col 10)
    pylint: invalid-name / Variable name "v" doesn't conform to snake_case naming style (col 10)
  Line: 29
    pylint: unidiomatic-typecheck / Using type() instead of isinstance() for a typecheck. (col 11)
  Line: 34
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 39
    pep8: E305 / expected 2 blank lines after class or function definition, found 1 (col 1)
  Line: 40
    pep8: W292 / no newline at end of file (col 11)

nixpkgs/pkgs/build-support/references-by-popularity/closure-graph.py
  Line: 1
    pylint: invalid-name / Module name "closure-graph" doesn't conform to snake_case naming style
  Line: 117
    pylint: unused-import / Unused pprint imported from pprint
  Line: 122
    pylint: using-constant-test / Using a conditional statement with a constant value (col 4)
  Line: 134
    pep8: E703 / statement ends with a semicolon (col 15)
  Line: 143
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 178
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 193
    pep8: E301 / expected 1 blank line, found 0 (col 5)
  Line: 209
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 242
    pep8: E501 / line too long (87 > 79 characters) (col 80)
    pep8: E231 / missing whitespace after ',' (col 86)
  Line: 244
    pep8: E301 / expected 1 blank line, found 0 (col 5)
  Line: 263
    pep8: E501 / line too long (94 > 79 characters) (col 80)
  Line: 278
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 283
    pep8: E501 / line too long (95 > 79 characters) (col 80)
  Line: 288
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 313
    pep8: E201 / whitespace after '[' (col 36)
    pep8: E202 / whitespace before ']' (col 53)
    pylint: bad-whitespace / No space allowed after bracket
                "/nix/store/foo": [ "/nix/store/bar" ],
                                  ^ (col 34)
  Line: 314
    pep8: E201 / whitespace after '[' (col 36)
    pep8: E202 / whitespace before ']' (col 53)
    pylint: bad-whitespace / No space allowed after bracket
                "/nix/store/bar": [ "/nix/store/tux" ],
                                  ^ (col 34)
  Line: 315
    pep8: E201 / whitespace after '[' (col 38)
    pylint: bad-whitespace / No space allowed after bracket
                "/nix/store/hello": [ ],
                                    ^ (col 36)
  Line: 341
    pep8: E305 / expected 2 blank lines after class or function definition, found 1 (col 1)
    pylint: invalid-name / Constant name "subgraphs_cache" doesn't conform to UPPER_CASE naming style
  Line: 342
    pep8: E302 / expected 2 blank lines, found 0 (col 1)
  Line: 343
    pylint: global-statement / Using the global statement (col 4)
    pylint: invalid-name / Constant name "subgraphs_cache" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 360
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 364
    pep8: E201 / whitespace after '[' (col 36)
    pep8: E202 / whitespace before ']' (col 53)
    pylint: bad-whitespace / No space allowed after bracket
                "/nix/store/foo": [ "/nix/store/bar" ],
                                  ^ (col 34)
  Line: 365
    pep8: E201 / whitespace after '[' (col 36)
    pep8: E202 / whitespace before ']' (col 53)
    pylint: bad-whitespace / No space allowed after bracket
                "/nix/store/bar": [ "/nix/store/tux" ],
                                  ^ (col 34)
  Line: 366
    pep8: E201 / whitespace after '[' (col 36)
    pylint: bad-whitespace / No space allowed after bracket
                "/nix/store/tux": [ ],
                                  ^ (col 34)
  Line: 367
    pep8: E201 / whitespace after '[' (col 38)
    pylint: bad-whitespace / No space allowed after bracket
                "/nix/store/hello": [ ],
                                    ^ (col 36)
  Line: 375
    pep8: E301 / expected 1 blank line, found 0 (col 5)
  Line: 378
    pep8: E201 / whitespace after '[' (col 36)
    pep8: E202 / whitespace before ']' (col 53)
    pylint: bad-whitespace / No space allowed after bracket
                "/nix/store/foo": [ "/nix/store/bar" ],
                                  ^ (col 34)
  Line: 379
    pep8: E201 / whitespace after '[' (col 36)
    pep8: E202 / whitespace before ']' (col 53)
    pylint: bad-whitespace / No space allowed after bracket
                "/nix/store/bar": [ "/nix/store/tux" ],
                                  ^ (col 34)
  Line: 380
    pep8: E201 / whitespace after '[' (col 36)
    pylint: bad-whitespace / No space allowed after bracket
                "/nix/store/tux": [ ],
                                  ^ (col 34)
  Line: 408
    pep8: E305 / expected 2 blank lines after class or function definition, found 1 (col 1)
    pylint: invalid-name / Constant name "popularity_cache" doesn't conform to UPPER_CASE naming style
  Line: 409
    pep8: E302 / expected 2 blank lines, found 0 (col 1)
  Line: 410
    pylint: global-statement / Using the global statement (col 4)
    pylint: invalid-name / Constant name "popularity_cache" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 433
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 449
    pep8: E126 / continuation line over-indented for hanging indent (col 20)
  Line: 468
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 491
    pep8: E126 / continuation line over-indented for hanging indent (col 20)
  Line: 504
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 512
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 517
    pylint: invalid-name / Variable name "f" doesn't conform to snake_case naming style (col 27)
  Line: 522
    pep8: E501 / line too long (98 > 79 characters) (col 80)
  Line: 523
    pep8: E501 / line too long (82 > 79 characters) (col 80)
  Line: 524
    pep8: E501 / line too long (82 > 79 characters) (col 80)
  Line: 541
    pep8: E703 / statement ends with a semicolon (col 30)
  Line: 563
    pep8: E305 / expected 2 blank lines after class or function definition, found 1 (col 1)
  Line: 565
    pep8: E202 / whitespace before ']' (col 63)
    pep8: E251 / unexpected spaces around keyword / parameter equals (col 23)

nixpkgs/pkgs/build-support/rust/cargo-vendor-normalise.py
  Line: 1
    pylint: invalid-name / Module name "cargo-vendor-normalise" doesn't conform to snake_case naming style
  Line: 5
    pylint: import-error / Unable to import 'toml'
  Line: 8
    pylint: invalid-name / Argument name "s" doesn't conform to snake_case naming style

nixpkgs/pkgs/build-support/templaterpm/nix-template-rpm.py
  Line: 18
    pep8: E303 / too many blank lines (5) (col 1)
  Line: 19
    pep8: E501 / line too long (171 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 20
    pep8: E231 / missing whitespace after ',' (col 29)
  Line: 21
    pep8: E231 / missing whitespace after ',' (col 27)
  Line: 22
    pep8: E231 / missing whitespace after ',' (col 31)
  Line: 23
    pep8: E231 / missing whitespace after ',' (col 28)
  Line: 24
    pep8: E231 / missing whitespace after ',' (col 31)
  Line: 25
    pep8: E231 / missing whitespace after ',' (col 27)
  Line: 26
    pep8: E231 / missing whitespace after ',' (col 30)
  Line: 28
    pep8: E201 / whitespace after '[' (col 27)
    pep8: E202 / whitespace before ']' (col 45)
  Line: 46
    pep8: E501 / line too long (86 > 79 characters) (col 80)
  Line: 48
    pep8: E111 / indentation is not a multiple of four (col 7)
    pep8: E231 / missing whitespace after ',' (col 60)
  Line: 50
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 52
    pep8: E201 / whitespace after '(' (col 46)
    pep8: E202 / whitespace before ')' (col 64)
  Line: 55
    pep8: E201 / whitespace after '(' (col 56)
    pep8: E202 / whitespace before ')' (col 107)
    pep8: E501 / line too long (108 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 7)
    pep8: E231 / missing whitespace after ',' (col 88)
  Line: 59
    pep8: E303 / too many blank lines (3) (col 3)
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 60
    pep8: E231 / missing whitespace after ',' (col 54)
  Line: 61
    pep8: E231 / missing whitespace after ',' (col 53)
  Line: 62
    pep8: E226 / missing whitespace around arithmetic operator (col 188)
    pep8: E501 / line too long (322 > 79 characters) (col 80)
    pep8: E231 / missing whitespace after ',' (col 94)
  Line: 63
    pep8: E231 / missing whitespace after ',' (col 33)
  Line: 68
    pep8: E303 / too many blank lines (2) (col 3)
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 73
    pep8: E501 / line too long (92 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 75
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 78
    pep8: E303 / too many blank lines (2) (col 3)
    pep8: E111 / indentation is not a multiple of four (col 3)
    pep8: E231 / missing whitespace after ',' (col 25)
  Line: 79
    pep8: E731 / do not assign a lambda expression, use a def (col 5)
  Line: 80
    pep8: E731 / do not assign a lambda expression, use a def (col 5)
  Line: 81
    pep8: E731 / do not assign a lambda expression, use a def (col 5)
  Line: 82
    pep8: E731 / do not assign a lambda expression, use a def (col 5)
  Line: 85
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 86
    pep8: E201 / whitespace after '[' (col 17)
    pep8: E202 / whitespace before ']' (col 130)
    pep8: E501 / line too long (131 > 79 characters) (col 80)
  Line: 87
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 88
    pep8: E201 / whitespace after '[' (col 17)
    pep8: E501 / line too long (133 > 79 characters) (col 80)
  Line: 89
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 94
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 95
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 97
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 98
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 100
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 101
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 106
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 107
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 112
    pep8: E303 / too many blank lines (2) (col 3)
    pep8: E111 / indentation is not a multiple of four (col 3)
    pep8: E231 / missing whitespace after ',' (col 26)
  Line: 113
    pep8: E231 / missing whitespace after ',' (col 39)
  Line: 115
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 117
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 119
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 122
    pep8: E501 / line too long (87 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 124
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 127
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 129
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 131
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 136
    pep8: E303 / too many blank lines (4) (col 3)
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 137
    pep8: E225 / missing whitespace around operator (col 73)
  Line: 139
    pep8: E501 / line too long (92 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 142
    pep8: E303 / too many blank lines (2) (col 3)
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 143
    pep8: E202 / whitespace before ']' (col 139)
    pep8: E501 / line too long (140 > 79 characters) (col 80)
    pep8: E225 / missing whitespace around operator (col 75)
  Line: 145
    pep8: E501 / line too long (92 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 148
    pep8: E303 / too many blank lines (2) (col 3)
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 155
    pep8: E202 / whitespace before ']' (col 133)
    pep8: E501 / line too long (134 > 79 characters) (col 80)
    pep8: E225 / missing whitespace around operator (col 73)
  Line: 157
    pep8: E501 / line too long (101 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 158
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 159
    pep8: E261 / at least two spaces before inline comment (col 27)
    pep8: E262 / inline comment should start with '# ' (col 28)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 160
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 161
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 163
    pep8: E225 / missing whitespace around operator (col 73)
  Line: 165
    pep8: E226 / missing whitespace around arithmetic operator (col 44)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 167
    pep8: E226 / missing whitespace around arithmetic operator (col 84)
    pep8: E226 / missing whitespace around arithmetic operator (col 86)
    pep8: E501 / line too long (109 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 172
    pep8: E303 / too many blank lines (2) (col 3)
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 173
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 174
    pep8: E501 / line too long (82 > 79 characters) (col 80)
  Line: 179
    pep8: E303 / too many blank lines (2) (col 3)
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 180
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 181
    pep8: E202 / whitespace before ']' (col 133)
    pep8: E501 / line too long (134 > 79 characters) (col 80)
    pep8: E225 / missing whitespace around operator (col 73)
  Line: 183
    pep8: E231 / missing whitespace after ',' (col 13)
  Line: 184
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 185
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 186
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 187
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 191
    pep8: E303 / too many blank lines (2) (col 3)
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 192
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 197
    pep8: E303 / too many blank lines (2) (col 3)
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 198
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 205
    pep8: E303 / too many blank lines (2) (col 3)
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 206
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 207
    pep8: E501 / line too long (99 > 79 characters) (col 80)
    pep8: E703 / statement ends with a semicolon (col 99)
  Line: 211
    pep8: E303 / too many blank lines (2) (col 3)
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 212
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 213
    pep8: E501 / line too long (96 > 79 characters) (col 80)
    pep8: E703 / statement ends with a semicolon (col 96)
  Line: 217
    pep8: E303 / too many blank lines (2) (col 3)
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 218
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 219
    pep8: E501 / line too long (100 > 79 characters) (col 80)
    pep8: E703 / statement ends with a semicolon (col 100)
  Line: 222
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 223
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 225
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 227
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 230
    pep8: E303 / too many blank lines (2) (col 3)
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 231
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 235
    pep8: E501 / line too long (91 > 79 characters) (col 80)
  Line: 237
    pep8: E501 / line too long (90 > 79 characters) (col 80)
  Line: 243
    pep8: E303 / too many blank lines (2) (col 3)
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 244
    pep8: E501 / line too long (83 > 79 characters) (col 80)
  Line: 246
    pep8: E201 / whitespace after '[' (col 13)
    pep8: E202 / whitespace before ']' (col 133)
    pep8: E501 / line too long (134 > 79 characters) (col 80)
  Line: 250
    pep8: E303 / too many blank lines (2) (col 3)
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 251
    pep8: E501 / line too long (94 > 79 characters) (col 80)
  Line: 253
    pep8: E501 / line too long (142 > 79 characters) (col 80)
  Line: 256
    pep8: E226 / missing whitespace around arithmetic operator (col 41)
    pep8: E226 / missing whitespace around arithmetic operator (col 90)
    pep8: E501 / line too long (113 > 79 characters) (col 80)
  Line: 257
    pep8: E226 / missing whitespace around arithmetic operator (col 42)
    pep8: E226 / missing whitespace around arithmetic operator (col 91)
    pep8: E501 / line too long (112 > 79 characters) (col 80)
  Line: 258
    pep8: E201 / whitespace after '[' (col 13)
    pep8: E202 / whitespace before ']' (col 100)
    pep8: E501 / line too long (101 > 79 characters) (col 80)
  Line: 262
    pep8: E303 / too many blank lines (2) (col 3)
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 264
    pep8: E201 / whitespace after '[' (col 13)
    pep8: E202 / whitespace before ']' (col 45)
  Line: 268
    pep8: E303 / too many blank lines (2) (col 3)
    pep8: E111 / indentation is not a multiple of four (col 3)
    pep8: E231 / missing whitespace after ',' (col 19)
  Line: 270
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 272
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 275
    pep8: E303 / too many blank lines (2) (col 3)
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 276
    pep8: E501 / line too long (128 > 79 characters) (col 80)
  Line: 277
    pep8: E703 / statement ends with a semicolon (col 20)
  Line: 279
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 280
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 281
    pep8: E703 / statement ends with a semicolon (col 23)
  Line: 282
    pep8: E501 / line too long (91 > 79 characters) (col 80)
  Line: 284
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 286
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 291
    pep8: E303 / too many blank lines (3) (col 3)
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 293
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 296
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 297
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 299
    pep8: E231 / missing whitespace after ',' (col 54)
  Line: 303
    pep8: E501 / line too long (112 > 79 characters) (col 80)
  Line: 307
    pep8: E303 / too many blank lines (3) (col 3)
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 309
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 311
    pep8: E231 / missing whitespace after ',' (col 54)
  Line: 322
    pep8: E303 / too many blank lines (6) (col 1)
  Line: 323
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 325
    pep8: E201 / whitespace after '{' (col 22)
    pep8: E202 / whitespace before '}' (col 93)
    pep8: E501 / line too long (94 > 79 characters) (col 80)
    pep8: E231 / missing whitespace after ':' (col 29)
  Line: 326
    pep8: E201 / whitespace after '{' (col 20)
    pep8: E202 / whitespace before '}' (col 91)
    pep8: E501 / line too long (92 > 79 characters) (col 80)
    pep8: E231 / missing whitespace after ':' (col 27)
  Line: 330
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 331
    pep8: E231 / missing whitespace after ',' (col 15)
  Line: 332
    pep8: E111 / indentation is not a multiple of four (col 11)
  Line: 333
    pep8: E111 / indentation is not a multiple of four (col 11)
  Line: 334
    pep8: E111 / indentation is not a multiple of four (col 11)
  Line: 335
    pep8: E111 / indentation is not a multiple of four (col 11)
  Line: 336
    pep8: E111 / indentation is not a multiple of four (col 11)
  Line: 337
    pep8: E111 / indentation is not a multiple of four (col 11)
  Line: 338
    pep8: E111 / indentation is not a multiple of four (col 15)
  Line: 339
    pep8: E111 / indentation is not a multiple of four (col 15)
  Line: 340
    pep8: E111 / indentation is not a multiple of four (col 11)
  Line: 341
    pep8: E111 / indentation is not a multiple of four (col 15)
  Line: 342
    pep8: E111 / indentation is not a multiple of four (col 15)
  Line: 343
    pep8: E111 / indentation is not a multiple of four (col 11)
  Line: 344
    pep8: E111 / indentation is not a multiple of four (col 15)
  Line: 345
    pep8: E111 / indentation is not a multiple of four (col 15)
  Line: 346
    pep8: E111 / indentation is not a multiple of four (col 11)
  Line: 347
    pep8: E111 / indentation is not a multiple of four (col 15)
  Line: 348
    pep8: E111 / indentation is not a multiple of four (col 15)
  Line: 349
    pep8: E111 / indentation is not a multiple of four (col 11)
  Line: 350
    pep8: E111 / indentation is not a multiple of four (col 15)
  Line: 351
    pep8: E111 / indentation is not a multiple of four (col 15)
  Line: 354
    pep8: E303 / too many blank lines (2) (col 3)
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 355
    pep8: E231 / missing whitespace after ',' (col 58)
  Line: 356
    pep8: E231 / missing whitespace after ',' (col 47)
  Line: 357
    pep8: E231 / missing whitespace after ',' (col 11)
  Line: 358
    pep8: W601 / .has_key() is deprecated, use 'in' (col 27)
    pep8: E501 / line too long (88 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 359
    pep8: E501 / line too long (113 > 79 characters) (col 80)
  Line: 360
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 366
    pep8: E303 / too many blank lines (2) (col 3)
    pep8: E111 / indentation is not a multiple of four (col 3)
    pep8: E231 / missing whitespace after ',' (col 22)
  Line: 367
    pep8: W601 / .has_key() is deprecated, use 'in' (col 12)
  Line: 368
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 369
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 370
    pep8: W601 / .has_key() is deprecated, use 'in' (col 12)
    pep8: E225 / missing whitespace around operator (col 75)
  Line: 371
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 372
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 373
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 375
    pep8: W601 / .has_key() is deprecated, use 'in' (col 12)
  Line: 376
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 380
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 384
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 387
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 389
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 391
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 394
    pep8: W601 / .has_key() is deprecated, use 'in' (col 32)
    pep8: E111 / indentation is not a multiple of four (col 11)
  Line: 396
    pep8: W601 / .has_key() is deprecated, use 'in' (col 32)
    pep8: E111 / indentation is not a multiple of four (col 11)
  Line: 399
    pep8: E111 / indentation is not a multiple of four (col 11)
  Line: 400
    pep8: W601 / .has_key() is deprecated, use 'in' (col 32)
    pep8: E111 / indentation is not a multiple of four (col 11)
  Line: 403
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 404
    pep8: E231 / missing whitespace after ',' (col 47)
  Line: 408
    pep8: W601 / .has_key() is deprecated, use 'in' (col 24)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 409
    pep8: E201 / whitespace after '(' (col 23)
    pep8: E202 / whitespace before ')' (col 84)
    pep8: E501 / line too long (85 > 79 characters) (col 80)
  Line: 410
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 411
    pep8: E201 / whitespace after '(' (col 23)
    pep8: E202 / whitespace before ')' (col 58)
  Line: 414
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 415
    pep8: W601 / .has_key() is deprecated, use 'in' (col 21)
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 416
    pep8: E111 / indentation is not a multiple of four (col 6)
  Line: 417
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 418
    pep8: E111 / indentation is not a multiple of four (col 6)
  Line: 420
    pep8: E111 / indentation is not a multiple of four (col 3)
  Line: 421
    pep8: W601 / .has_key() is deprecated, use 'in' (col 21)
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 422
    pep8: E111 / indentation is not a multiple of four (col 6)
  Line: 423
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 424
    pep8: E111 / indentation is not a multiple of four (col 6)
  Line: 430
    pep8: E303 / too many blank lines (5) (col 1)
  Line: 431
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 432
    pep8: E501 / line too long (95 > 79 characters) (col 80)
  Line: 434
    pep8: E501 / line too long (100 > 79 characters) (col 80)
  Line: 435
    pep8: E501 / line too long (118 > 79 characters) (col 80)
  Line: 436
    pep8: E501 / line too long (111 > 79 characters) (col 80)
  Line: 437
    pep8: E501 / line too long (124 > 79 characters) (col 80)
  Line: 438
    pep8: E501 / line too long (127 > 79 characters) (col 80)
  Line: 439
    pep8: E501 / line too long (137 > 79 characters) (col 80)
  Line: 440
    pep8: E501 / line too long (136 > 79 characters) (col 80)
  Line: 441
    pep8: E501 / line too long (128 > 79 characters) (col 80)
  Line: 444
    pep8: E201 / whitespace after '(' (col 39)
    pep8: E202 / whitespace before ')' (col 73)
  Line: 446
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 453
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 454
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 455
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 457
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 460
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 463
    pep8: E501 / line too long (142 > 79 characters) (col 80)
  Line: 465
    pep8: E501 / line too long (87 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 11)
    pep8: E231 / missing whitespace after ',' (col 71)
  Line: 466
    pep8: E501 / line too long (96 > 79 characters) (col 80)
    pep8: E231 / missing whitespace after ',' (col 81)
  Line: 469
    pep8: E111 / indentation is not a multiple of four (col 15)
  Line: 470
    pep8: E501 / line too long (90 > 79 characters) (col 80)
    pep8: E231 / missing whitespace after ',' (col 75)
  Line: 471
    pep8: E111 / indentation is not a multiple of four (col 11)
  Line: 472
    pep8: E501 / line too long (143 > 79 characters) (col 80)
    pep8: E231 / missing whitespace after ',' (col 128)
  Line: 474
    pep8: E111 / indentation is not a multiple of four (col 15)
  Line: 476
    pep8: E111 / indentation is not a multiple of four (col 15)
  Line: 478
    pep8: E111 / indentation is not a multiple of four (col 11)
  Line: 480
    pep8: E111 / indentation is not a multiple of four (col 11)
  Line: 483
    pep8: E231 / missing whitespace after ',' (col 33)
  Line: 486
    pylint: syntax-error / invalid syntax (<unknown>, line 486) (col 23)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 487
    pep8: E501 / line too long (106 > 79 characters) (col 80)
    pep8: E231 / missing whitespace after ',' (col 72)
  Line: 490
    pep8: E501 / line too long (82 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 492
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 496
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 499
    pep8: E201 / whitespace after '(' (col 26)
  Line: 501
    pep8: E201 / whitespace after '(' (col 45)
    pep8: E202 / whitespace before ')' (col 62)
  Line: 502
    pep8: E201 / whitespace after '(' (col 27)
    pep8: E202 / whitespace before ')' (col 111)
    pep8: E501 / line too long (112 > 79 characters) (col 80)
  Line: 506
    pep8: E201 / whitespace after '(' (col 44)
    pep8: E202 / whitespace before ')' (col 59)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 507
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 509
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 510
    pep8: E201 / whitespace after '(' (col 27)
    pep8: E202 / whitespace before ')' (col 60)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 511
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 512
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 513
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 514
    pep8: E201 / whitespace after '(' (col 29)
    pep8: E202 / whitespace before ')' (col 56)
  Line: 515
    pep8: E201 / whitespace after '(' (col 27)
    pep8: E202 / whitespace before ')' (col 33)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 516
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 518
    pep8: W391 / blank line at end of file (col 1)

nixpkgs/pkgs/build-support/vm/windows/cygwin-iso/mkclosure.py
  Line: 4
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 14
    pylint: no-else-continue / Unnecessary "elif" after "continue" (col 12)
  Line: 42
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 66
    pylint: redefined-builtin / Redefining built-in 'hash' (col 19)
    pylint: unused-variable / Unused variable 'size' (col 13)
  Line: 73
    pep8: E703 / statement ends with a semicolon (col 10)
  Line: 77
    pep8: E305 / expected 2 blank lines after class or function definition, found 1 (col 1)

nixpkgs/pkgs/desktops/gnome-3/find-latest-version.py
  Line: 1
    pylint: invalid-name / Module name "find-latest-version" doesn't conform to snake_case naming style
  Line: 3
    pylint: import-error / Unable to import 'requests'
  Line: 4
    pylint: wrong-import-order / standard import "import sys" should be placed before "import requests"
  Line: 6
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 9
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 15
    pep8: E501 / line too long (101 > 79 characters) (col 80)
  Line: 17
    pylint: no-else-return / Unnecessary "else" after "return" (col 4)
  Line: 22
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
    pylint: unused-argument / Unused argument 'version' (col 14)
    pylint: unused-argument / Unused argument 'selected' (col 23)
  Line: 25
    pep8: E305 / expected 2 blank lines after class or function definition, found 1 (col 1)
    pylint: invalid-name / Constant name "version_policies" doesn't conform to UPPER_CASE naming style
  Line: 30
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
    pylint: redefined-outer-name / Redefining name 'version_predicate' from outer scope (line 44) (col 24)
  Line: 33
    pep8: E305 / expected 2 blank lines after class or function definition, found 1 (col 1)
    pep8: E501 / line too long (121 > 79 characters) (col 80)
    pylint: invalid-name / Constant name "parser" doesn't conform to UPPER_CASE naming style
  Line: 34
    pep8: E501 / line too long (133 > 79 characters) (col 80)
  Line: 35
    pep8: E501 / line too long (253 > 79 characters) (col 80)
  Line: 36
    pep8: E501 / line too long (204 > 79 characters) (col 80)
  Line: 40
    pylint: invalid-name / Constant name "args" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 42
    pylint: invalid-name / Constant name "package_name" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 43
    pylint: invalid-name / Constant name "requested_release" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 44
    pylint: invalid-name / Constant name "version_predicate" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 45
    pylint: invalid-name / Constant name "version_policy" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 47
    pep8: E501 / line too long (113 > 79 characters) (col 80)
  Line: 48
    pep8: E501 / line too long (119 > 79 characters) (col 80)
    pylint: invalid-name / Constant name "cache" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 49
    pylint: unidiomatic-typecheck / Using type() instead of isinstance() for a typecheck. (col 7)
  Line: 53
    pylint: invalid-name / Constant name "versions" doesn't conform to UPPER_CASE naming style (col 4)
  Line: 54
    pylint: invalid-name / Constant name "versions" doesn't conform to UPPER_CASE naming style (col 4)

nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py
  Line: 1
    pylint: invalid-name / Module name "generate-sources" doesn't conform to snake_case naming style
  Line: 2
    pep8: E265 / block comment should start with '# ' (col 1)
    pep8: E501 / line too long (83 > 79 characters) (col 80)
  Line: 5
    pylint: unused-import / Unused import re
  Line: 6
    pylint: import-error / Unable to import 'requests'
  Line: 7
    pylint: wrong-import-order / standard import "import sys" should be placed before "import requests"
  Line: 9
    pylint: invalid-name / Constant name "releases" doesn't conform to UPPER_CASE naming style
  Line: 10
    pylint: invalid-name / Constant name "oses" doesn't conform to UPPER_CASE naming style
  Line: 11
    pylint: invalid-name / Constant name "types" doesn't conform to UPPER_CASE naming style
  Line: 12
    pylint: invalid-name / Constant name "impls" doesn't conform to UPPER_CASE naming style
  Line: 14
    pylint: invalid-name / Constant name "arch_to_nixos" doesn't conform to UPPER_CASE naming style
  Line: 20
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 21
    pylint: redefined-outer-name / Redefining name 'resp' from outer scope (line 58) (col 4)
  Line: 23
    pep8: E501 / line too long (109 > 79 characters) (col 80)
  Line: 27
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
    pylint: unused-argument / Unused argument 'release' (col 21)
    pylint: redefined-outer-name / Redefining name 'release' from outer scope (line 57) (col 21)
  Line: 28
    pylint: redefined-outer-name / Redefining name 'out' from outer scope (line 56) (col 4)
  Line: 30
    pep8: E701 / multiple statements on one line (colon) (col 35)
  Line: 31
    pep8: E701 / multiple statements on one line (colon) (col 45)
  Line: 32
    pep8: E701 / multiple statements on one line (colon) (col 46)
  Line: 33
    pep8: E701 / multiple statements on one line (colon) (col 42)
  Line: 34
    pep8: E701 / multiple statements on one line (colon) (col 54)
  Line: 56
    pep8: E305 / expected 2 blank lines after class or function definition, found 1 (col 1)
    pylint: invalid-name / Constant name "out" doesn't conform to UPPER_CASE naming style
  Line: 58
    pep8: E501 / line too long (91 > 79 characters) (col 80)
  Line: 60
    pep8: E501 / line too long (113 > 79 characters) (col 80)

nixpkgs/pkgs/development/interpreters/python/catch_conflicts/catch_conflicts.py
  Line: 2
    pylint: wrong-import-order / standard import "import collections" should be placed before "import pkg_resources"
  Line: 3
    pylint: wrong-import-order / standard import "import sys" should be placed before "import pkg_resources"
  Line: 5
    pylint: invalid-name / Constant name "do_abort" doesn't conform to UPPER_CASE naming style
  Line: 6
    pylint: invalid-name / Constant name "packages" doesn't conform to UPPER_CASE naming style
  Line: 20
    pep8: E501 / line too long (88 > 79 characters) (col 80)

nixpkgs/pkgs/development/interpreters/python/run_setup.py
  Line: 3
    pylint: unused-import / Unused import setuptools
  Line: 4
    pylint: wrong-import-order / standard import "import tokenize" should be placed before "import setuptools"
  Line: 6
    pep8: E703 / statement ends with a semicolon (col 20)
    pep8: E225 / missing whitespace around operator (col 9)
  Line: 8
    pylint: exec-used / Use of exec
    pep8: E501 / line too long (106 > 79 characters) (col 80)

nixpkgs/pkgs/development/interpreters/python/sitecustomize.py
  Line: 4
    pep8: E501 / line too long (80 > 79 characters) (col 80)
  Line: 10
    pep8: E501 / line too long (84 > 79 characters) (col 80)
  Line: 12
    pep8: E501 / line too long (81 > 79 characters) (col 80)
  Line: 20
    pylint: invalid-name / Constant name "paths" doesn't conform to UPPER_CASE naming style
  Line: 22
    pylint: protected-access / Access to a protected member _init_pathinfo of a client class (col 75)
    pep8: E501 / line too long (97 > 79 characters) (col 80)
  Line: 24
    pylint: invalid-name / Constant name "executable" doesn't conform to UPPER_CASE naming style

nixpkgs/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
  Line: 1
    pylint: invalid-name / Module name "update-python-libraries" doesn't conform to snake_case naming style
  Line: 4
    pep8: E501 / line too long (97 > 79 characters) (col 80)
  Line: 9
    pep8: E501 / line too long (82 > 79 characters) (col 80)
  Line: 18
    pylint: import-error / Unable to import 'requests'
  Line: 19
    pylint: import-error / Unable to import 'toolz'
    pylint: unused-import / Unused import toolz
  Line: 20
    pylint: wrong-import-order / standard import "from concurrent.futures import ThreadPoolExecutor as Pool" should be placed before "import requests"
  Line: 21
    pylint: import-error / Unable to import 'packaging.version'
  Line: 22
    pylint: import-error / Unable to import 'packaging.version'
  Line: 23
    pylint: import-error / Unable to import 'packaging.specifiers'
  Line: 24
    pylint: wrong-import-order / standard import "import collections" should be placed before "import requests"
  Line: 25
    pylint: wrong-import-order / standard import "import subprocess" should be placed before "import requests"
  Line: 31
    pep8: E501 / line too long (108 > 79 characters) (col 80)
  Line: 37
    pep8: E402 / module level import not at top of file (col 1)
    pylint: reimported / Reimport 'logging' (imported line 15)
    pylint: ungrouped-imports / Imports from package logging are not grouped
    pylint: wrong-import-order / standard import "import logging" should be placed before "import requests"
    pylint: wrong-import-position / Import "import logging" should be placed at the top of the module
    pyflakes: F811 / redefinition of unused 'logging' from line 15 (col 1)
  Line: 64
    pep8: W605 / invalid escape sequence '\s' (col 16)
    pep8: W605 / invalid escape sequence '\s' (col 20)
    pylint: anomalous-backslash-in-string / Anomalous backslash in string: '\s'. String constant might be missing an r prefix. (col 2)
    pylint: anomalous-backslash-in-string / Anomalous backslash in string: '\s'. String constant might be missing an r prefix. (col 6)
  Line: 69
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 75
    pylint: invalid-name / Variable name "n" doesn't conform to snake_case naming style (col 4)
  Line: 76
    pylint: no-else-raise / Unnecessary "elif" after "raise" (col 4)
  Line: 83
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 84
    pep8: E501 / line too long (82 > 79 characters) (col 80)
  Line: 85
    pep8: W605 / invalid escape sequence '\s' (col 17)
    pep8: W605 / invalid escape sequence '\s' (col 21)
    pylint: anomalous-backslash-in-string / Anomalous backslash in string: '\s'. String constant might be missing an r prefix. (col 3)
    pylint: anomalous-backslash-in-string / Anomalous backslash in string: '\s'. String constant might be missing an r prefix. (col 7)
  Line: 88
    pylint: invalid-name / Variable name "n" doesn't conform to snake_case naming style (col 4)
  Line: 89
    pylint: no-else-raise / Unnecessary "elif" after "raise" (col 4)
  Line: 104
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 105
    pylint: invalid-name / Variable name "r" doesn't conform to snake_case naming style (col 4)
  Line: 106
    pylint: no-else-return / Unnecessary "else" after "return" (col 4)
  Line: 113
    pep8: E203 / whitespace before ':' (col 12)
  Line: 114
    pep8: E203 / whitespace before ':' (col 12)
  Line: 115
    pep8: E203 / whitespace before ':' (col 12)
  Line: 125
    pylint: invalid-name / Variable name "v" doesn't conform to snake_case naming style (col 12)
  Line: 139
    pep8: E225 / missing whitespace around operator (col 20)
  Line: 161
    pylint: invalid-name / Variable name "e" doesn't conform to snake_case naming style (col 4)
  Line: 162
    pep8: E501 / line too long (90 > 79 characters) (col 80)
  Line: 178
    pep8: E203 / whitespace before ':' (col 24)
  Line: 179
    pep8: E203 / whitespace before ':' (col 24)
  Line: 180
    pep8: E203 / whitespace before ':' (col 24)
  Line: 188
    pep8: E203 / whitespace before ':' (col 24)
  Line: 189
    pep8: E203 / whitespace before ':' (col 24)
  Line: 192
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
    pylint: inconsistent-return-statements / Either all return statements in a function should return an expression, or none of them should.
  Line: 194
    pylint: consider-iterating-dictionary / Consider iterating the dictionary directly instead of calling .keys() (col 74)
    pep8: E501 / line too long (90 > 79 characters) (col 80)
  Line: 195
    pylint: no-else-raise / Unnecessary "elif" after "raise" (col 4)
  Line: 201
    pylint: consider-iterating-dictionary / Consider iterating the dictionary directly instead of calling .keys() (col 23)
  Line: 206
    mccabe: MC0001 / _determine_extension is too complex (14)
  Line: 217
    pylint: unused-variable / Unused variable 'e' (col 8)
    pylint: invalid-name / Variable name "e" doesn't conform to snake_case naming style (col 8)
  Line: 222
    pyflakes: F841 / local variable 'e' is assigned to but never used (col 9)
    pylint: invalid-name / Variable name "e" doesn't conform to snake_case naming style (col 8)
  Line: 231
    pep8: E501 / line too long (86 > 79 characters) (col 80)
  Line: 233
    pep8: E501 / line too long (81 > 79 characters) (col 80)
  Line: 251
    pylint: invalid-name / Variable name "f" doesn't conform to snake_case naming style (col 28)
  Line: 265
    pep8: E501 / line too long (82 > 79 characters) (col 80)
  Line: 267
    pylint: no-else-return / Unnecessary "elif" after "return" (col 4)
  Line: 268
    pylint: logging-format-interpolation / Use % formatting in logging functions and pass the % parameters as arguments (col 21)
    pep8: E501 / line too long (80 > 79 characters) (col 80)
  Line: 278
    pylint: invalid-name / Variable name "f" doesn't conform to snake_case naming style (col 28)
  Line: 281
    pylint: logging-format-interpolation / Use % formatting in logging functions and pass the % parameters as arguments (col 21)
    pep8: E501 / line too long (99 > 79 characters) (col 80)
  Line: 284
    pep8: E203 / whitespace before ':' (col 16)
  Line: 287
    pep8: E203 / whitespace before ':' (col 24)
  Line: 288
    pep8: E203 / whitespace before ':' (col 24)
  Line: 289
    pep8: E265 / block comment should start with '# ' (col 9)
  Line: 290
    pep8: E123 / closing bracket does not match indentation of opening bracket's line (col 9)
  Line: 303
    pylint: logging-format-interpolation / Use % formatting in logging functions and pass the % parameters as arguments (col 21)
  Line: 308
    pylint: logging-format-interpolation / Use % formatting in logging functions and pass the % parameters as arguments (col 21)
  Line: 313
    pylint: invalid-name / Variable name "e" doesn't conform to snake_case naming style (col 4)
  Line: 314
    pylint: logging-format-interpolation / Use % formatting in logging functions and pass the % parameters as arguments (col 24)
  Line: 318
    pylint: unused-argument / Unused argument 'kwargs'
  Line: 327
    pylint: invalid-name / Variable name "e" doesn't conform to snake_case naming style (col 4)
  Line: 329
    pylint: no-value-for-parameter / No value for argument 'cmd' in constructor call (col 14)
  Line: 338
    pep8: E501 / line too long (85 > 79 characters) (col 80)
  Line: 339
    pep8: E501 / line too long (104 > 79 characters) (col 80)
  Line: 349
    pylint: invalid-name / Variable name "p" doesn't conform to snake_case naming style (col 19)
  Line: 361
    pylint: logging-format-interpolation / Use % formatting in logging functions and pass the % parameters as arguments (col 17)
  Line: 365
    pep8: E303 / too many blank lines (3) (col 1)

nixpkgs/pkgs/development/python-modules/recursive-pth-loader/sitecustomize.py
  Line: 15
    mccabe: MC0001 / Loop 15 is too complex (12)
  Line: 44
    pylint: redefined-builtin / Redefining built-in 'dir' (col 16)
  Line: 45
    pep8: E713 / test for membership should be 'not in' (col 20)
  Line: 46
    pep8: E226 / missing whitespace around arithmetic operator (col 45)

nixpkgs/pkgs/development/python-modules/waitress-django/setup.py
  Line: 5
    pep8: E201 / whitespace after '(' (col 7)
    pep8: E203 / whitespace before ',' (col 40)
    pep8: E221 / multiple spaces before operator (col 12)
    pep8: E251 / unexpected spaces around keyword / parameter equals (col 12)
  Line: 6
    pep8: E128 / continuation line under-indented for visual indent (col 6)
    pep8: E203 / whitespace before ',' (col 30)
    pep8: E221 / multiple spaces before operator (col 15)
    pep8: E251 / unexpected spaces around keyword / parameter equals (col 15)
  Line: 7
    pep8: E128 / continuation line under-indented for visual indent (col 6)
    pep8: E203 / whitespace before ',' (col 62)
    pep8: E221 / multiple spaces before operator (col 19)
    pep8: E251 / unexpected spaces around keyword / parameter equals (col 19)
  Line: 8
    pep8: E128 / continuation line under-indented for visual indent (col 6)
    pep8: E203 / whitespace before ',' (col 37)
    pep8: E221 / multiple spaces before operator (col 14)
    pep8: E251 / unexpected spaces around keyword / parameter equals (col 14)
  Line: 9
    pep8: E128 / continuation line under-indented for visual indent (col 6)
    pep8: E203 / whitespace before ',' (col 45)
    pep8: E251 / unexpected spaces around keyword / parameter equals (col 20)
  Line: 10
    pep8: E128 / continuation line under-indented for visual indent (col 6)
    pep8: E203 / whitespace before ':' (col 26)
    pep8: E203 / whitespace before ',' (col 35)
    pep8: E221 / multiple spaces before operator (col 19)
    pep8: E251 / unexpected spaces around keyword / parameter equals (col 19)
  Line: 11
    pep8: E128 / continuation line under-indented for visual indent (col 6)
    pep8: E221 / multiple spaces before operator (col 15)
    pep8: E251 / unexpected spaces around keyword / parameter equals (col 15)
  Line: 12
    pep8: E124 / closing bracket does not match visual indentation (col 6)

nixpkgs/pkgs/development/tools/analysis/radare2/update.py
  Line: 2
    pep8: E265 / block comment should start with '# ' (col 1)
  Line: 19
    pylint: invalid-name / Function name "sh" doesn't conform to snake_case naming style
  Line: 41
    pep8: E501 / line too long (84 > 79 characters) (col 80)
  Line: 43
    pep8: E501 / line too long (99 > 79 characters) (col 80)
  Line: 48
    pep8: E501 / line too long (82 > 79 characters) (col 80)
  Line: 54
    pep8: E501 / line too long (80 > 79 characters) (col 80)
  Line: 66
    pylint: invalid-name / Variable name "l" doesn't conform to snake_case naming style (col 12)
  Line: 67
    pep8: W605 / invalid escape sequence '\S' (col 39)
    pylint: anomalous-backslash-in-string / Anomalous backslash in string: '\S'. String constant might be missing an r prefix. (col 8)
  Line: 118
    pep8: E501 / line too long (87 > 79 characters) (col 80)
  Line: 123
    pylint: invalid-name / Variable name "f" doesn't conform to snake_case naming style (col 60)
  Line: 124
    pylint: invalid-name / Variable name "l" doesn't conform to snake_case naming style (col 16)

nixpkgs/pkgs/development/tools/build-managers/bazel/update-srcDeps.py
  Line: 1
    pylint: invalid-name / Module name "update-srcDeps" doesn't conform to snake_case naming style
  Line: 7
    pep8: E501 / line too long (131 > 79 characters) (col 80)
  Line: 11
    pylint: invalid-name / Constant name "http_archives" doesn't conform to UPPER_CASE naming style
  Line: 14
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 17
    pep8: E302 / expected 2 blank lines, found 0 (col 1)
  Line: 21
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 31
    pep8: E704 / multiple statements on one line (def) (col 1)
    pylint: unused-argument / Unused argument 'name' (col 14)
    pylint: multiple-statements / More than one statement on a single line (col 21)
  Line: 32
    pep8: E704 / multiple statements on one line (def) (col 1)
    pylint: unused-argument / Unused argument 'args'
    pylint: multiple-statements / More than one statement on a single line (col 17)
  Line: 33
    pep8: E704 / multiple statements on one line (def) (col 1)
    pylint: unused-argument / Unused argument 'kw'
    pylint: multiple-statements / More than one statement on a single line (col 16)
  Line: 34
    pep8: E704 / multiple statements on one line (def) (col 1)
    pylint: unused-argument / Unused argument 'kw'
    pylint: multiple-statements / More than one statement on a single line (col 34)
  Line: 35
    pep8: E704 / multiple statements on one line (def) (col 1)
    pylint: unused-argument / Unused argument 'kw'
    pylint: multiple-statements / More than one statement on a single line (col 32)
  Line: 36
    pep8: E704 / multiple statements on one line (def) (col 1)
    pylint: unused-argument / Unused argument 'kw'
    pylint: multiple-statements / More than one statement on a single line (col 28)
  Line: 37
    pep8: E305 / expected 2 blank lines after class or function definition, found 0 (col 1)
  Line: 38
    pep8: E704 / multiple statements on one line (def) (col 1)
    pylint: unused-argument / Unused argument 'kw'
    pylint: multiple-statements / More than one statement on a single line (col 31)
  Line: 39
    pep8: E704 / multiple statements on one line (def) (col 1)
    pylint: unused-argument / Unused argument 'kw'
    pylint: multiple-statements / More than one statement on a single line (col 35)
  Line: 40
    pep8: E704 / multiple statements on one line (def) (col 1)
    pylint: unused-argument / Unused argument 'kw'
    pylint: multiple-statements / More than one statement on a single line (col 29)
  Line: 41
    pep8: E704 / multiple statements on one line (def) (col 1)
    pylint: unused-argument / Unused argument 'kw'
    pylint: multiple-statements / More than one statement on a single line (col 29)
  Line: 42
    pep8: E704 / multiple statements on one line (def) (col 1)
    pylint: unused-argument / Unused argument 'args'
    pylint: multiple-statements / More than one statement on a single line (col 41)
  Line: 43
    pep8: E704 / multiple statements on one line (def) (col 1)
    pylint: unused-argument / Unused argument 'args'
    pylint: unused-argument / Unused argument 'kw'
    pylint: multiple-statements / More than one statement on a single line (col 33)
  Line: 44
    pep8: E704 / multiple statements on one line (def) (col 1)
    pylint: unused-argument / Unused argument 'args'
    pylint: unused-argument / Unused argument 'kw'
    pylint: multiple-statements / More than one statement on a single line (col 41)
  Line: 45
    pep8: E704 / multiple statements on one line (def) (col 1)
    pylint: unused-argument / Unused argument 'args'
    pylint: unused-argument / Unused argument 'kw'
    pylint: multiple-statements / More than one statement on a single line (col 35)
  Line: 46
    pep8: E704 / multiple statements on one line (def) (col 1)
    pylint: unused-argument / Unused argument 'args'
    pylint: unused-argument / Unused argument 'kw'
    pylint: multiple-statements / More than one statement on a single line (col 51)
  Line: 47
    pep8: E302 / expected 2 blank lines, found 0 (col 1)
    pep8: E704 / multiple statements on one line (def) (col 1)
    pylint: unused-argument / Unused argument 'args'
    pylint: unused-argument / Unused argument 'kw'
    pylint: multiple-statements / More than one statement on a single line (col 38)
  Line: 51
    pep8: E305 / expected 2 blank lines after class or function definition, found 1 (col 1)
  Line: 52
    pylint: exec-used / Use of exec (col 4)
  Line: 55
    pep8: E201 / whitespace after '{' (col 6)
    pep8: E202 / whitespace before '}' (col 45)
    pylint: bad-whitespace / No space allowed after bracket
d = { el['name']: el for el in http_archives }
    ^ (col 4)
    pylint: invalid-name / Constant name "d" doesn't conform to UPPER_CASE naming style

nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pyproject-without-path.py
  Line: 1
    pylint: invalid-name / Module name "pyproject-without-path" doesn't conform to snake_case naming style
  Line: 7
    pylint: invalid-name / Constant name "data" doesn't conform to UPPER_CASE naming style
  Line: 12
    pep8: E703 / statement ends with a semicolon (col 28)

nixpkgs/pkgs/games/steam/build-runtime.py
  Line: 4
    pep8: E501 / line too long (96 > 79 characters) (col 80)
  Line: 16
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 17
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 2)
  Line: 18
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E501 / line too long (105 > 79 characters) (col 80)
    pep8: E231 / missing whitespace after ',' (col 94)
  Line: 19
    pep8: W191 / indentation contains tabs (col 1)
  Line: 20
    pep8: W191 / indentation contains tabs (col 1)
  Line: 23
    pep8: E211 / whitespace before '(' (col 16)
  Line: 24
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 2)
    pep8: E225 / missing whitespace around operator (col 16)
  Line: 25
    pep8: W191 / indentation contains tabs (col 1)
  Line: 26
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 3)
  Line: 28
    pep8: W191 / indentation contains tabs (col 1)
  Line: 29
    pep8: W191 / indentation contains tabs (col 1)
  Line: 30
    pep8: W191 / indentation contains tabs (col 1)
  Line: 31
    pep8: W191 / indentation contains tabs (col 1)
  Line: 32
    pep8: W191 / indentation contains tabs (col 1)
  Line: 36
    pep8: E501 / line too long (85 > 79 characters) (col 80)
  Line: 39
    pep8: E211 / whitespace before '(' (col 17)
  Line: 40
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 2)
  Line: 41
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 3)
  Line: 42
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 4)
    pep8: E231 / missing whitespace after ',' (col 29)
    pep8: E225 / missing whitespace around operator (col 12)
  Line: 43
    pep8: W191 / indentation contains tabs (col 1)
  Line: 44
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 5)
  Line: 45
    pep8: W191 / indentation contains tabs (col 1)
  Line: 46
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (comment) (col 6)
  Line: 47
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (comment) (col 6)
    pep8: E501 / line too long (90 > 79 characters) (col 80)
  Line: 48
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (comment) (col 6)
  Line: 49
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 6)
    pep8: E231 / missing whitespace after ',' (col 41)
  Line: 51
    pep8: W191 / indentation contains tabs (col 1)
  Line: 52
    pep8: W191 / indentation contains tabs (col 1)
  Line: 53
    pep8: W191 / indentation contains tabs (col 1)
  Line: 54
    pep8: W191 / indentation contains tabs (col 1)
  Line: 55
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E231 / missing whitespace after ',' (col 40)
  Line: 58
    pep8: E501 / line too long (87 > 79 characters) (col 80)
  Line: 61
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
    pep8: E211 / whitespace before '(' (col 19)
  Line: 62
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 2)
    pep8: E501 / line too long (80 > 79 characters) (col 80)
    pep8: E231 / missing whitespace after ',' (col 62)
  Line: 63
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 3)
  Line: 64
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 4)
    pep8: E501 / line too long (88 > 79 characters) (col 80)
  Line: 66
    pep8: W191 / indentation contains tabs (col 1)
  Line: 68
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (comment) (col 4)
  Line: 69
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (comment) (col 4)
  Line: 70
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (comment) (col 4)
  Line: 71
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 4)
    pep8: E501 / line too long (90 > 79 characters) (col 80)
    pep8: E231 / missing whitespace after ',' (col 59)
  Line: 72
    pep8: W191 / indentation contains tabs (col 1)
  Line: 73
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 5)
    pep8: W605 / invalid escape sequence '\w' (col 31)
    pep8: W605 / invalid escape sequence '\w' (col 38)
    pep8: E231 / missing whitespace after ',' (col 43)
  Line: 74
    pep8: W191 / indentation contains tabs (col 1)
  Line: 75
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 6)
    pep8: E231 / missing whitespace after ',' (col 41)
  Line: 76
    pep8: W191 / indentation contains tabs (col 1)
  Line: 77
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 7)
  Line: 78
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E231 / missing whitespace after ',' (col 33)
  Line: 79
    pep8: W191 / indentation contains tabs (col 1)
    pylint: syntax-error / invalid syntax (<unknown>, line 79) (col 44)
    pep8: E501 / line too long (102 > 79 characters) (col 80)
    pep8: E231 / missing whitespace after ',' (col 87)
  Line: 80
    pep8: W191 / indentation contains tabs (col 1)
  Line: 81
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 7)
  Line: 82
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E231 / missing whitespace after ',' (col 49)
  Line: 88
    pep8: E211 / whitespace before '(' (col 6)
  Line: 91
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 2)
  Line: 92
    pep8: W191 / indentation contains tabs (col 1)
  Line: 93
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 3)

nixpkgs/pkgs/games/steam/update-runtime.py
  Line: 1
    pylint: invalid-name / Module name "update-runtime" doesn't conform to snake_case naming style
  Line: 2
    pep8: E265 / block comment should start with '# ' (col 1)
  Line: 5
    pep8: E501 / line too long (96 > 79 characters) (col 80)
  Line: 11
    pylint: unused-import / Unused import gzip
  Line: 12
    pylint: import-error / Unable to import 'cStringIO'
    pylint: unused-import / Unused import cStringIO
  Line: 13
    pylint: unused-import / Unused import subprocess
  Line: 14
    pylint: import-error / Unable to import 'debian'
  Line: 15
    pylint: wrong-import-order / standard import "import argparse" should be placed before "from debian import deb822"
  Line: 17
    pep8: E225 / missing whitespace around operator (col 8)
    pylint: invalid-name / Constant name "destdir" doesn't conform to UPPER_CASE naming style
  Line: 18
    pep8: E225 / missing whitespace around operator (col 7)
    pylint: invalid-name / Constant name "arches" doesn't conform to UPPER_CASE naming style
  Line: 20
    pep8: E225 / missing whitespace around operator (col 5)
  Line: 21
    pep8: E225 / missing whitespace around operator (col 5)
  Line: 22
    pep8: E225 / missing whitespace around operator (col 10)
  Line: 24
    pylint: invalid-name / Constant name "out" doesn't conform to UPPER_CASE naming style
  Line: 25
    pep8: E501 / line too long (109 > 79 characters) (col 80)
  Line: 30
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 31
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 2)
  Line: 32
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E501 / line too long (84 > 79 characters) (col 80)
  Line: 33
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E501 / line too long (86 > 79 characters) (col 80)
  Line: 34
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E501 / line too long (88 > 79 characters) (col 80)
  Line: 35
    pep8: W191 / indentation contains tabs (col 1)
  Line: 36
    pep8: W191 / indentation contains tabs (col 1)
  Line: 38
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 39
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 2)
  Line: 40
    pep8: W191 / indentation contains tabs (col 1)
  Line: 41
    pep8: W191 / indentation contains tabs (col 1)
  Line: 42
    pep8: W191 / indentation contains tabs (col 1)
  Line: 43
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E501 / line too long (83 > 79 characters) (col 80)
  Line: 44
    pep8: W191 / indentation contains tabs (col 1)
  Line: 45
    pep8: W191 / indentation contains tabs (col 1)
  Line: 46
    pep8: W191 / indentation contains tabs (col 1)
  Line: 47
    pep8: W191 / indentation contains tabs (col 1)
  Line: 48
    pep8: W191 / indentation contains tabs (col 1)
  Line: 51
    pep8: E211 / whitespace before '(' (col 23)
    pylint: bad-whitespace / No space allowed before bracket
def parse_dependencies (arch, binarylist):
                       ^ (col 23)
    pylint: redefined-outer-name / Redefining name 'arch' from outer scope (line 130) (col 24)
  Line: 52
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 2)
    pep8: E501 / line too long (83 > 79 characters) (col 80)
  Line: 53
    pep8: W191 / indentation contains tabs (col 1)
  Line: 54
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 3)
    pylint: invalid-name / Variable name "p" doesn't conform to snake_case naming style (col 2)
  Line: 55
    pep8: W191 / indentation contains tabs (col 1)
  Line: 56
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 4)
  Line: 57
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 5)
  Line: 58
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 6)
  Line: 59
    pep8: W191 / indentation contains tabs (col 1)
  Line: 61
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
    pep8: E211 / whitespace before '(' (col 21)
    pylint: bad-whitespace / No space allowed before bracket
def install_binaries (arch, binarylist):
                     ^ (col 21)
    pylint: redefined-outer-name / Redefining name 'arch' from outer scope (line 130) (col 22)
  Line: 62
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 2)
  Line: 63
    pep8: W191 / indentation contains tabs (col 1)
  Line: 64
    pep8: W191 / indentation contains tabs (col 1)
  Line: 66
    pep8: W191 / indentation contains tabs (col 1)
  Line: 67
    pep8: W191 / indentation contains tabs (col 1)
  Line: 68
    pep8: W191 / indentation contains tabs (col 1)
  Line: 69
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E501 / line too long (83 > 79 characters) (col 80)
  Line: 70
    pep8: W191 / indentation contains tabs (col 1)
  Line: 71
    pep8: W191 / indentation contains tabs (col 1)
  Line: 72
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 3)
    pylint: invalid-name / Variable name "p" doesn't conform to snake_case naming style (col 2)
  Line: 73
    pep8: W191 / indentation contains tabs (col 1)
  Line: 74
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 4)
  Line: 76
    pep8: W191 / indentation contains tabs (col 1)
  Line: 77
    pep8: W191 / indentation contains tabs (col 1)
  Line: 78
    pep8: W191 / indentation contains tabs (col 1)
  Line: 79
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E231 / missing whitespace after ',' (col 28)
    pep8: E225 / missing whitespace around operator (col 12)
  Line: 80
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E501 / line too long (106 > 79 characters) (col 80)
  Line: 81
    pep8: W191 / indentation contains tabs (col 1)
  Line: 83
    pep8: W191 / indentation contains tabs (col 1)
    pylint: invalid-name / Variable name "p" doesn't conform to snake_case naming style (col 5)
  Line: 84
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (comment) (col 3)
  Line: 85
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (comment) (col 3)
    pep8: E501 / line too long (82 > 79 characters) (col 80)
  Line: 86
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (comment) (col 3)
  Line: 87
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 3)
    pylint: invalid-name / Variable name "e" doesn't conform to snake_case naming style (col 2)
  Line: 88
    pep8: W191 / indentation contains tabs (col 1)
  Line: 92
    pep8: E303 / too many blank lines (3) (col 1)
    pep8: E211 / whitespace before '(' (col 20)
    pylint: bad-whitespace / No space allowed before bracket
def install_symbols (arch, binarylist):
                    ^ (col 20)
    pylint: redefined-outer-name / Redefining name 'arch' from outer scope (line 130) (col 21)
  Line: 93
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (comment) (col 2)
  Line: 94
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (comment) (col 2)
  Line: 95
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (comment) (col 2)
  Line: 96
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 2)
    pep8: E501 / line too long (89 > 79 characters) (col 80)
  Line: 97
    pep8: W191 / indentation contains tabs (col 1)
  Line: 98
    pep8: W191 / indentation contains tabs (col 1)
  Line: 99
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 3)
    pylint: invalid-name / Variable name "p" doesn't conform to snake_case naming style (col 2)
  Line: 100
    pep8: W191 / indentation contains tabs (col 1)
    pep8: W605 / invalid escape sequence '\w' (col 19)
    pep8: W605 / invalid escape sequence '\-' (col 21)
    pep8: W605 / invalid escape sequence '\.' (col 23)
    pep8: W605 / invalid escape sequence '\-' (col 28)
    pylint: anomalous-backslash-in-string / Anomalous backslash in string: '\w'. String constant might be missing an r prefix. (col 2)
    pylint: anomalous-backslash-in-string / Anomalous backslash in string: '\-'. String constant might be missing an r prefix. (col 4)
    pylint: anomalous-backslash-in-string / Anomalous backslash in string: '\.'. String constant might be missing an r prefix. (col 6)
    pylint: anomalous-backslash-in-string / Anomalous backslash in string: '\-'. String constant might be missing an r prefix. (col 11)
    pylint: invalid-name / Variable name "m" doesn't conform to snake_case naming style (col 2)
  Line: 101
    pep8: W191 / indentation contains tabs (col 1)
  Line: 102
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 4)
  Line: 103
    pep8: W191 / indentation contains tabs (col 1)
  Line: 104
    pep8: W191 / indentation contains tabs (col 1)
  Line: 105
    pep8: W191 / indentation contains tabs (col 1)
  Line: 106
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E231 / missing whitespace after ',' (col 28)
    pep8: E225 / missing whitespace around operator (col 12)
  Line: 107
    pep8: W191 / indentation contains tabs (col 1)
    pylint: no-value-for-parameter / No value for argument 'sha256' in function call (col 3)
    pep8: E501 / line too long (88 > 79 characters) (col 80)
  Line: 111
    pep8: E303 / too many blank lines (3) (col 1)
    pylint: invalid-name / Constant name "args" doesn't conform to UPPER_CASE naming style
  Line: 113
    pep8: E225 / missing whitespace around operator (col 5)
  Line: 116
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 2)
    pep8: E225 / missing whitespace around operator (col 6)
  Line: 119
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 2)
  Line: 122
    pylint: invalid-name / Constant name "binary_pkgs" doesn't conform to UPPER_CASE naming style
  Line: 124
    pep8: E211 / whitespace before '(' (col 6)
    pylint: bad-whitespace / No space allowed before bracket
print ("Creating runtime-generated.nix")
      ^ (col 6)
  Line: 131
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 2)
  Line: 132
    pep8: W191 / indentation contains tabs (col 1)
  Line: 134
    pep8: W191 / indentation contains tabs (col 1)
  Line: 135
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E117 / over-indented (col 3)
  Line: 137
    pep8: W191 / indentation contains tabs (col 1)
    pep8: E703 / statement ends with a semicolon (col 21)

nixpkgs/pkgs/misc/vim-plugins/update.py
  Line: 2
    pep8: E265 / block comment should start with '# ' (col 1)
  Line: 9
    pep8: E501 / line too long (81 > 79 characters) (col 80)
  Line: 36
    pep8: E402 / module level import not at top of file (col 1)
    pylint: wrong-import-position / Import "import time" should be placed at the top of the module
  Line: 37
    pep8: E402 / module level import not at top of file (col 1)
    pylint: wrong-import-position / Import "from functools import wraps" should be placed at the top of the module
  Line: 40
    pep8: N803 / argument name should be lowercase (col 5)
    pep8: E501 / line too long (87 > 79 characters) (col 80)
    pylint: invalid-name / Argument name "ExceptionToCheck" doesn't conform to snake_case naming style
  Line: 54
    pylint: invalid-name / Argument name "f" doesn't conform to snake_case naming style (col 4)
  Line: 61
    pylint: invalid-name / Variable name "e" doesn't conform to snake_case naming style (col 16)
  Line: 90
    pylint: invalid-name / Variable name "e" doesn't conform to snake_case naming style (col 8)
  Line: 91
    pylint: no-else-return / Unnecessary "else" after "return" (col 12)
  Line: 99
    pep8: E501 / line too long (88 > 79 characters) (col 80)
  Line: 103
    pep8: E501 / line too long (85 > 79 characters) (col 80)
  Line: 105
    pep8: E501 / line too long (81 > 79 characters) (col 80)
  Line: 128
    pylint: too-many-arguments / Too many arguments (6/5) (col 4)
  Line: 163
    pep8: E501 / line too long (89 > 79 characters) (col 80)
  Line: 174
    pylint: useless-object-inheritance / Class 'CleanEnvironment' inherits from object, can be safely removed from bases in python3
  Line: 176
    pylint: attribute-defined-outside-init / Attribute 'old_environ' defined outside __init__ (col 8)
  Line: 179
    pylint: attribute-defined-outside-init / Attribute 'empty_config' defined outside __init__ (col 8)
  Line: 184
    pylint: redefined-outer-name / Redefining name 'traceback' from outer scope (line 17) (col 54)
  Line: 195
    pylint: invalid-name / Variable name "p" doesn't conform to snake_case naming style (col 8)
  Line: 200
    pep8: E501 / line too long (85 > 79 characters) (col 80)
  Line: 216
    pep8: E501 / line too long (80 > 79 characters) (col 80)
  Line: 241
    pylint: no-else-return / Unnecessary "else" after "return" (col 4)
  Line: 265
    pylint: invalid-name / Variable name "f" doesn't conform to snake_case naming style (col 30)
  Line: 269
    pep8: E501 / line too long (95 > 79 characters) (col 80)
  Line: 302
    pylint: invalid-name / Variable name "f" doesn't conform to snake_case naming style (col 38)
  Line: 305
    pylint: invalid-name / Variable name "p" doesn't conform to snake_case naming style (col 16)
  Line: 306
    pep8: E501 / line too long (88 > 79 characters) (col 80)
  Line: 316
    pylint: invalid-name / Variable name "f" doesn't conform to snake_case naming style (col 44)
  Line: 338
    pylint: broad-except / Catching too general exception Exception (col 11)
    pylint: invalid-name / Variable name "e" doesn't conform to snake_case naming style (col 4)
  Line: 342
    pylint: invalid-name / Constant name "header" doesn't conform to UPPER_CASE naming style
  Line: 343
    pep8: E501 / line too long (87 > 79 characters) (col 80)
  Line: 350
    pylint: invalid-name / Variable name "f" doesn't conform to snake_case naming style (col 32)
  Line: 354
    pep8: E501 / line too long (80 > 79 characters) (col 80)

nixpkgs/pkgs/servers/dict/wiktionary2dict.py
  Line: 11
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 14
    pep8: E301 / expected 1 blank line, found 0 (col 5)
  Line: 17
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 20
    pep8: E301 / expected 1 blank line, found 0 (col 5)
  Line: 23
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 26
    pep8: E301 / expected 1 blank line, found 0 (col 5)
  Line: 28
    pep8: E301 / expected 1 blank line, found 0 (col 5)
  Line: 31
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 35
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
    pep8: E701 / multiple statements on one line (colon) (col 17)
  Line: 36
    pep8: E701 / multiple statements on one line (colon) (col 17)
  Line: 37
    pep8: E701 / multiple statements on one line (colon) (col 18)
  Line: 38
    pep8: E302 / expected 2 blank lines, found 0 (col 1)
    pep8: E701 / multiple statements on one line (colon) (col 18)
  Line: 40
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 44
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 47
    pep8: E301 / expected 1 blank line, found 0 (col 5)
  Line: 50
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 56
    pep8: E226 / missing whitespace around arithmetic operator (col 29)
    pep8: E226 / missing whitespace around arithmetic operator (col 48)
  Line: 59
    pep8: E226 / missing whitespace around arithmetic operator (col 17)
    pep8: E226 / missing whitespace around arithmetic operator (col 36)
  Line: 68
    pep8: E226 / missing whitespace around arithmetic operator (col 31)
    pep8: E226 / missing whitespace around arithmetic operator (col 50)
  Line: 78
    pep8: E226 / missing whitespace around arithmetic operator (col 19)
    pep8: E226 / missing whitespace around arithmetic operator (col 38)
  Line: 97
    pep8: E265 / block comment should start with '# ' (col 9)
  Line: 111
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 131
    pylint: syntax-error / Missing parentheses in call to 'print'. Did you mean print("Unexpected:", t)? (<unknown>, line 131) (col 35)
  Line: 141
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 186
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 217
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
    pep8: E251 / unexpected spaces around keyword / parameter equals (col 31)
  Line: 221
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 222
    pep8: E501 / line too long (80 > 79 characters) (col 80)
  Line: 224
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 239
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 242
    pep8: E501 / line too long (198 > 79 characters) (col 80)
  Line: 252
    pep8: E306 / expected 1 blank line before a nested definition, found 0 (col 5)
  Line: 259
    pep8: E501 / line too long (200 > 79 characters) (col 80)
  Line: 260
    pep8: E501 / line too long (195 > 79 characters) (col 80)
  Line: 283
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 284
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 285
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 286
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 287
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 291
    pep8: E305 / expected 2 blank lines after class or function definition, found 1 (col 1)
  Line: 406
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 407
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 408
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 409
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 410
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 411
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 469
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 474
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 484
    pep8: E305 / expected 2 blank lines after class or function definition, found 1 (col 1)
  Line: 485
    pep8: E302 / expected 2 blank lines, found 0 (col 1)
  Line: 497
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 499
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 502
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 504
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 506
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 507
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 508
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 509
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 510
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 511
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 519
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 520
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 522
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 531
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
    pep8: E251 / unexpected spaces around keyword / parameter equals (col 24)
  Line: 539
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 541
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 542
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 552
    pep8: E128 / continuation line under-indented for visual indent (col 21)
    pep8: E251 / unexpected spaces around keyword / parameter equals (col 35)
  Line: 553
    pep8: E128 / continuation line under-indented for visual indent (col 21)
    pep8: E251 / unexpected spaces around keyword / parameter equals (col 38)
  Line: 556
    pep8: E128 / continuation line under-indented for visual indent (col 21)
    pep8: E251 / unexpected spaces around keyword / parameter equals (col 35)
  Line: 557
    pep8: E128 / continuation line under-indented for visual indent (col 21)
    pep8: E251 / unexpected spaces around keyword / parameter equals (col 38)
  Line: 561
    pep8: E128 / continuation line under-indented for visual indent (col 21)
    pep8: E251 / unexpected spaces around keyword / parameter equals (col 38)
  Line: 565
    pep8: E128 / continuation line under-indented for visual indent (col 17)
    pep8: E251 / unexpected spaces around keyword / parameter equals (col 31)
  Line: 566
    pep8: E128 / continuation line under-indented for visual indent (col 17)
    pep8: E251 / unexpected spaces around keyword / parameter equals (col 34)
  Line: 572
    pep8: E226 / missing whitespace around arithmetic operator (col 18)
  Line: 574
    pep8: E226 / missing whitespace around arithmetic operator (col 24)
    pep8: E226 / missing whitespace around arithmetic operator (col 32)
    pep8: E226 / missing whitespace around arithmetic operator (col 35)
    pep8: E226 / missing whitespace around arithmetic operator (col 37)
  Line: 576
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 580
    pep8: E265 / block comment should start with '# ' (col 9)
  Line: 581
    pep8: E265 / block comment should start with '# ' (col 9)
  Line: 584
    pep8: E301 / expected 1 blank line, found 0 (col 5)
  Line: 585
    pep8: E501 / line too long (109 > 79 characters) (col 80)
  Line: 586
    pep8: E301 / expected 1 blank line, found 0 (col 5)
  Line: 589
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 590
    pep8: W605 / invalid escape sequence '\s' (col 39)
    pep8: W605 / invalid escape sequence '\s' (col 47)
  Line: 591
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 603
    pep8: E226 / missing whitespace around arithmetic operator (col 13)
  Line: 604
    pep8: E226 / missing whitespace around arithmetic operator (col 65)
    pep8: E501 / line too long (86 > 79 characters) (col 80)
  Line: 610
    pep8: E265 / block comment should start with '# ' (col 5)
    pep8: E501 / line too long (82 > 79 characters) (col 80)
  Line: 614
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 617
    pep8: E226 / missing whitespace around arithmetic operator (col 21)
    pep8: E226 / missing whitespace around arithmetic operator (col 28)
  Line: 621
    pep8: E226 / missing whitespace around arithmetic operator (col 44)
    pep8: E226 / missing whitespace around arithmetic operator (col 47)
  Line: 622
    pep8: E265 / block comment should start with '# ' (col 9)
  Line: 623
    pep8: E265 / block comment should start with '# ' (col 9)
  Line: 626
    pep8: E226 / missing whitespace around arithmetic operator (col 25)
  Line: 632
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 639
    pep8: E265 / block comment should start with '# ' (col 17)
  Line: 640
    pep8: E265 / block comment should start with '# ' (col 17)
  Line: 642
    pep8: E226 / missing whitespace around arithmetic operator (col 26)
    pep8: E226 / missing whitespace around arithmetic operator (col 33)
  Line: 644
    pep8: E501 / line too long (81 > 79 characters) (col 80)
  Line: 649
    pep8: E226 / missing whitespace around arithmetic operator (col 22)
    pep8: E226 / missing whitespace around arithmetic operator (col 29)
  Line: 651
    pep8: E226 / missing whitespace around arithmetic operator (col 44)
    pep8: E226 / missing whitespace around arithmetic operator (col 47)
  Line: 652
    pep8: E265 / block comment should start with '# ' (col 9)
  Line: 653
    pep8: E265 / block comment should start with '# ' (col 9)
  Line: 656
    pep8: E226 / missing whitespace around arithmetic operator (col 25)
  Line: 662
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 669
    pep8: E265 / block comment should start with '# ' (col 17)
  Line: 670
    pep8: E265 / block comment should start with '# ' (col 17)
  Line: 679
    pep8: E265 / block comment should start with '# ' (col 9)
  Line: 681
    pep8: E226 / missing whitespace around arithmetic operator (col 25)
    pep8: E501 / line too long (94 > 79 characters) (col 80)
  Line: 686
    pep8: E226 / missing whitespace around arithmetic operator (col 34)
    pep8: E226 / missing whitespace around arithmetic operator (col 37)
  Line: 688
    pep8: E226 / missing whitespace around arithmetic operator (col 36)
  Line: 690
    pep8: E226 / missing whitespace around arithmetic operator (col 25)
  Line: 698
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 704
    pep8: E301 / expected 1 blank line, found 0 (col 5)
  Line: 705
    pep8: E265 / block comment should start with '# ' (col 9)
  Line: 707
    pep8: E301 / expected 1 blank line, found 0 (col 5)
  Line: 708
    pep8: E265 / block comment should start with '# ' (col 9)
  Line: 718
    pep8: E301 / expected 1 blank line, found 0 (col 5)
  Line: 719
    pep8: E265 / block comment should start with '# ' (col 9)
  Line: 728
    pep8: E301 / expected 1 blank line, found 0 (col 5)
  Line: 730
    pep8: E301 / expected 1 blank line, found 0 (col 5)
  Line: 733
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 736
    pep8: E301 / expected 1 blank line, found 0 (col 5)
  Line: 737
    pep8: E226 / missing whitespace around arithmetic operator (col 38)
  Line: 739
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 742
    pep8: E301 / expected 1 blank line, found 0 (col 5)
  Line: 749
    pep8: E265 / block comment should start with '# ' (col 9)
  Line: 751
    pep8: E305 / expected 2 blank lines after class or function definition, found 1 (col 1)
  Line: 773
    pep8: E126 / continuation line over-indented for hanging indent (col 9)
    pep8: E501 / line too long (111 > 79 characters) (col 80)

nixpkgs/pkgs/servers/dict/wordnet_structures.py
  Line: 2
    pep8: E265 / block comment should start with '# ' (col 1)
  Line: 37
    pep8: E121 / continuation line under-indented for hanging indent (col 4)
  Line: 46
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 47
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 48
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 49
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 50
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 51
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 52
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 53
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 54
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 55
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 56
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 57
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 58
    pep8: E111 / indentation is not a multiple of four (col 7)
    pep8: E231 / missing whitespace after ',' (col 39)
  Line: 59
    pep8: E111 / indentation is not a multiple of four (col 7)
    pep8: E231 / missing whitespace after ',' (col 36)
  Line: 60
    pep8: E226 / missing whitespace around arithmetic operator (col 48)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 61
    pep8: E111 / indentation is not a multiple of four (col 7)
    pep8: E231 / missing whitespace after ',' (col 53)
  Line: 62
    pep8: E501 / line too long (111 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 7)
    pep8: E231 / missing whitespace after ',' (col 46)
  Line: 63
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 64
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 65
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 66
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 67
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 68
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 69
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 70
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 71
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 72
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 73
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 75
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 76
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 77
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 79
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 80
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 82
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 83
    pep8: E501 / line too long (122 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 84
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 85
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 87
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 88
    pep8: E121 / continuation line under-indented for hanging indent (col 7)
  Line: 93
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 94
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 95
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 96
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 97
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 98
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 99
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 100
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 101
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 102
    pep8: E128 / continuation line under-indented for visual indent (col 10)
    pep8: E501 / line too long (93 > 79 characters) (col 80)
  Line: 103
    pep8: E128 / continuation line under-indented for visual indent (col 10)
  Line: 104
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 105
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 106
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 107
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 108
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 109
    pep8: E128 / continuation line under-indented for visual indent (col 13)
  Line: 110
    pep8: E128 / continuation line under-indented for visual indent (col 13)
  Line: 111
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 112
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 113
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 117
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 118
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 119
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 120
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 121
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 122
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 123
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 124
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 125
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 126
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 127
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 128
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 129
    pep8: E111 / indentation is not a multiple of four (col 7)
    pep8: E231 / missing whitespace after ',' (col 40)
  Line: 130
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 131
    pep8: E111 / indentation is not a multiple of four (col 7)
    pep8: E231 / missing whitespace after ',' (col 37)
  Line: 132
    pep8: E226 / missing whitespace around arithmetic operator (col 62)
    pep8: E111 / indentation is not a multiple of four (col 7)
    pep8: E231 / missing whitespace after ',' (col 64)
  Line: 133
    pep8: E226 / missing whitespace around arithmetic operator (col 48)
    pep8: E111 / indentation is not a multiple of four (col 7)
    pep8: E231 / missing whitespace after ',' (col 51)
  Line: 134
    pep8: E226 / missing whitespace around arithmetic operator (col 43)
    pep8: E226 / missing whitespace around arithmetic operator (col 60)
    pep8: E226 / missing whitespace around arithmetic operator (col 77)
    pep8: E226 / missing whitespace around arithmetic operator (col 111)
    pep8: E226 / missing whitespace around arithmetic operator (col 128)
    pep8: E226 / missing whitespace around arithmetic operator (col 142)
    pep8: E501 / line too long (147 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 7)
    pep8: E231 / missing whitespace after ',' (col 113)
  Line: 135
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 136
    pep8: E226 / missing whitespace around arithmetic operator (col 38)
    pep8: E226 / missing whitespace around arithmetic operator (col 52)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 137
    pep8: E226 / missing whitespace around arithmetic operator (col 28)
    pep8: E226 / missing whitespace around arithmetic operator (col 42)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 138
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 139
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 140
    pep8: E226 / missing whitespace around arithmetic operator (col 37)
    pep8: E226 / missing whitespace around arithmetic operator (col 62)
    pep8: E226 / missing whitespace around arithmetic operator (col 110)
    pep8: E501 / line too long (116 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 10)
    pep8: E231 / missing whitespace after ',' (col 40)
  Line: 141
    pep8: E226 / missing whitespace around arithmetic operator (col 29)
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 142
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 143
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 144
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 145
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 146
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 147
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 148
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 149
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 150
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 151
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 152
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 153
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 154
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 155
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 156
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 157
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 158
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 159
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 161
    pep8: E231 / missing whitespace after ',' (col 46)
  Line: 163
    pep8: E111 / indentation is not a multiple of four (col 16)
  Line: 165
    pep8: E111 / indentation is not a multiple of four (col 16)
  Line: 167
    pep8: E111 / indentation is not a multiple of four (col 16)
  Line: 170
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 171
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 173
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 175
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 176
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 177
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 178
    pep8: E501 / line too long (83 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 179
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 181
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 182
    pep8: E501 / line too long (121 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 186
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 198
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 199
    pep8: E501 / line too long (82 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 200
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 201
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 202
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 203
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 204
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 205
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 206
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 207
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 208
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 209
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 210
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 211
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 212
    pep8: E501 / line too long (81 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 213
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 214
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 215
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 216
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 217
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 218
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 219
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 220
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 221
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 222
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 223
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 224
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 225
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 226
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 227
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 228
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 229
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 230
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 231
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 232
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 233
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 234
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 235
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 236
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 237
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 238
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 239
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 240
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 241
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 242
    pep8: E128 / continuation line under-indented for visual indent (col 13)
  Line: 243
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 244
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 245
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 246
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 247
    pep8: E114 / indentation is not a multiple of four (comment) (col 7)
  Line: 248
    pep8: E114 / indentation is not a multiple of four (comment) (col 7)
  Line: 249
    pep8: E114 / indentation is not a multiple of four (comment) (col 7)
  Line: 250
    pep8: E114 / indentation is not a multiple of four (comment) (col 7)
  Line: 251
    pep8: E114 / indentation is not a multiple of four (comment) (col 7)
  Line: 252
    pep8: E114 / indentation is not a multiple of four (comment) (col 7)
  Line: 253
    pep8: E114 / indentation is not a multiple of four (comment) (col 7)
  Line: 254
    pep8: E114 / indentation is not a multiple of four (comment) (col 7)
  Line: 255
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 256
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 257
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 258
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 259
    pep8: E501 / line too long (126 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 260
    pep8: E501 / line too long (113 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 261
    pep8: E501 / line too long (116 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 262
    pep8: E501 / line too long (108 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 264
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 265
    pep8: E303 / too many blank lines (2) (col 7)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 266
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 267
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 268
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 270
    pep8: E501 / line too long (82 > 79 characters) (col 80)
  Line: 273
    pep8: E111 / indentation is not a multiple of four (col 16)
  Line: 274
    pep8: E111 / indentation is not a multiple of four (col 19)
  Line: 275
    pep8: E111 / indentation is not a multiple of four (col 22)
  Line: 276
    pep8: E111 / indentation is not a multiple of four (col 22)
  Line: 277
    pep8: E111 / indentation is not a multiple of four (col 16)
  Line: 278
    pep8: E111 / indentation is not a multiple of four (col 19)
  Line: 279
    pep8: E111 / indentation is not a multiple of four (col 16)
  Line: 281
    pep8: E111 / indentation is not a multiple of four (col 16)
  Line: 283
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 284
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 285
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 287
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 288
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 289
    pep8: E501 / line too long (82 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 10)
  Line: 290
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 291
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 292
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 296
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 297
    pep8: E501 / line too long (95 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 298
    pep8: E501 / line too long (110 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 299
    pep8: E501 / line too long (107 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 300
    pep8: E501 / line too long (133 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 301
    pep8: E501 / line too long (127 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 302
    pep8: E501 / line too long (212 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 303
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 304
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 305
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 306
    pep8: E501 / line too long (103 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 307
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 308
    pep8: E111 / indentation is not a multiple of four (col 4)
    pep8: E231 / missing whitespace after ',' (col 20)
  Line: 309
    pylint: syntax-error / Missing parentheses in call to 'print'. Did you mean print('Opening index file %r...' % args[i])? (<unknown>, line 309) (col 38)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 310
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 311
    pep8: E226 / missing whitespace around arithmetic operator (col 47)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 312
    pep8: E226 / missing whitespace around arithmetic operator (col 30)
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 313
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 314
    pep8: E111 / indentation is not a multiple of four (col 7)
  Line: 316
    pep8: E501 / line too long (111 > 79 characters) (col 80)
    pep8: E111 / indentation is not a multiple of four (col 4)
  Line: 317
    pep8: W293 / blank line contains whitespace (col 1)
  Line: 318
    pep8: E111 / indentation is not a multiple of four (col 4)
    pep8: E231 / missing whitespace after ',' (col 43)
  Line: 319
    pep8: W291 / trailing whitespace (col 21)
    pep8: E111 / indentation is not a multiple of four (col 4)

nixpkgs/pkgs/servers/home-assistant/parse-requirements.py
  Line: 1
    pylint: invalid-name / Module name "parse-requirements" doesn't conform to snake_case naming style
  Line: 2
    pep8: E265 / block comment should start with '# ' (col 1)
  Line: 5
    pep8: E501 / line too long (98 > 79 characters) (col 80)
  Line: 13
    pep8: E501 / line too long (102 > 79 characters) (col 80)
  Line: 16
    pep8: E501 / line too long (80 > 79 characters) (col 80)
  Line: 35
    pep8: E501 / line too long (80 > 79 characters) (col 80)
  Line: 41
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
  Line: 42
    pylint: redefined-outer-name / Redefining name 'f' from outer scope (line 128) (col 64)
    pylint: invalid-name / Variable name "f" doesn't conform to snake_case naming style (col 64)
  Line: 44
    pylint: invalid-name / Variable name "m" doesn't conform to snake_case naming style (col 8)
  Line: 47
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
    pylint: redefined-outer-name / Redefining name 'version' from outer scope (line 102) (col 21)
  Line: 48
    pylint: redefined-outer-name / Redefining name 'components' from outer scope (line 104) (col 4)
  Line: 50
    pep8: E501 / line too long (111 > 79 characters) (col 80)
  Line: 54
    pylint: import-error / Unable to import 'script.hassfest.model' (col 8)
    pylint: import-outside-toplevel / Import outside toplevel (script.hassfest.model) (col 8)
  Line: 56
    pep8: E501 / line too long (86 > 79 characters) (col 80)
  Line: 64
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
    pylint: redefined-outer-name / Redefining name 'components' from outer scope (line 104) (col 13)
  Line: 71
    pep8: E305 / expected 2 blank lines after class or function definition, found 1 (col 1)
    pep8: E501 / line too long (127 > 79 characters) (col 80)
    pylint: invalid-name / Constant name "output" doesn't conform to UPPER_CASE naming style
  Line: 72
    pylint: invalid-name / Constant name "packages" doesn't conform to UPPER_CASE naming style
  Line: 74
    pep8: E302 / expected 2 blank lines, found 1 (col 1)
    pylint: redefined-outer-name / Redefining name 'req' from outer scope (line 110) (col 22)
  Line: 75
    pylint: redefined-outer-name / Redefining name 'attr_paths' from outer scope (line 107) (col 4)
  Line: 81
    pylint: redefined-outer-name / Redefining name 'name' from outer scope (line 114) (col 8)
  Line: 85
    pylint: redefined-outer-name / Redefining name 'attr_path' from outer scope (line 115) (col 12)
  Line: 96
    pep8: E501 / line too long (98 > 79 characters) (col 80)
  Line: 97
    pylint: no-else-return / Unnecessary "else" after "return" (col 4)
  Line: 102
    pep8: E305 / expected 2 blank lines after class or function definition, found 1 (col 1)
    pylint: invalid-name / Constant name "version" doesn't conform to UPPER_CASE naming style
  Line: 104
    pylint: invalid-name / Constant name "components" doesn't conform to UPPER_CASE naming style
  Line: 105
    pylint: invalid-name / Constant name "build_inputs" doesn't conform to UPPER_CASE naming style
  Line: 111
    pep8: E501 / line too long (92 > 79 characters) (col 80)
  Line: 121
    pylint: useless-else-on-loop / Else clause on loop without a break statement (col 4)
  Line: 125
    pep8: E501 / line too long (82 > 79 characters) (col 80)

nixpkgs/pkgs/servers/mail/mailman/settings.py
  Line: 43
    dodgy: secret / Possible hardcoded secret key
  Line: 49
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 60
    pylint: syntax-error / invalid syntax (<unknown>, line 60) (col 5)
  Line: 100
    pep8: E131 / continuation line unaligned for hanging indent (col 4)
    pep8: E265 / block comment should start with '# ' (col 4)
  Line: 101
    pep8: E265 / block comment should start with '# ' (col 4)
  Line: 161
    pep8: E501 / line too long (91 > 79 characters) (col 80)
  Line: 164
    pep8: E501 / line too long (81 > 79 characters) (col 80)
  Line: 167
    pep8: E501 / line too long (82 > 79 characters) (col 80)
  Line: 170
    pep8: E501 / line too long (83 > 79 characters) (col 80)
  Line: 286
    pep8: E221 / multiple spaces before operator (col 21)
  Line: 301
    pep8: E121 / continuation line under-indented for hanging indent (col 8)
  Line: 310
    pep8: E123 / closing bracket does not match indentation of opening bracket's line (col 12)
  Line: 347
    pep8: E121 / continuation line under-indented for hanging indent (col 4)
    pep8: E501 / line too long (88 > 79 characters) (col 80)
  Line: 348
    pep8: E501 / line too long (88 > 79 characters) (col 80)
  Line: 373
    pep8: E265 / block comment should start with '# ' (col 9)
  Line: 383
    pep8: E501 / line too long (82 > 79 characters) (col 80)
  Line: 423
    pep8: E231 / missing whitespace after ':' (col 15)
  Line: 425
    pep8: E265 / block comment should start with '# ' (col 13)
  Line: 461
    pep8: E501 / line too long (82 > 79 characters) (col 80)
  Line: 467
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 470
    pep8: E265 / block comment should start with '# ' (col 5)
  Line: 479
    pep8: E265 / block comment should start with '# ' (col 1)
  Line: 484
    pep8: E265 / block comment should start with '# ' (col 1)
  Line: 490
    pep8: E712 / comparison to True should be 'if cond is True:' or 'if cond:' (col 10)

nixpkgs/pkgs/tools/admin/google-cloud-sdk/alpha__init__.py
  Line: 18
    pylint: import-error / Unable to import 'googlecloudsdk.calliope'
  Line: 21
    pylint: too-few-public-methods / Too few public methods (0/2)
  Line: 23
    pep8: E111 / indentation is not a multiple of four (col 3)

nixpkgs/pkgs/tools/admin/google-cloud-sdk/beta__init__.py
  Line: 18
    pylint: import-error / Unable to import 'googlecloudsdk.calliope'
  Line: 21
    pylint: too-few-public-methods / Too few public methods (0/2)
  Line: 23
    pep8: E111 / indentation is not a multiple of four (col 3)

nixpkgs/pkgs/tools/networking/gmvault/gmvault.py
  Line: 3
    pylint: import-error / Unable to import 'gmv.gmv_cmd'

nixpkgs/pkgs/tools/security/enpass/update_script.py
  Line: 13
    pylint: import-error / Unable to import 'attr'
  Line: 14
    pylint: wrong-import-order / third party import "import pkg_resources" should be placed before "import attr"
  Line: 16
    pylint: import-error / Unable to import 'pathlib2'
  Line: 17
    pylint: import-error / Unable to import 'requests'
  Line: 18
    pylint: wrong-import-order / third party import "from six.moves.urllib_parse import urljoin" should be placed before "import attr"
  Line: 21
    pylint: too-few-public-methods / Too few public methods (0/2)
    pylint: useless-object-inheritance / Class 'ReleaseElement' inherits from object, can be safely removed from bases in python3
  Line: 27
    pep8: E305 / expected 2 blank lines after class or function definition, found 1 (col 1)
    pylint: invalid-name / Constant name "log" doesn't conform to UPPER_CASE naming style
  Line: 30
    pylint: invalid-name / Constant name "parser" doesn't conform to UPPER_CASE naming style
  Line: 35
    pylint: invalid-name / Constant name "session" doesn't conform to UPPER_CASE naming style
  Line: 46
    pylint: unused-argument / Unused argument 'split' (col 60)
  Line: 47
    pylint: possibly-unused-variable / Possibly unused variable 'url' (col 4)
  Line: 63
    pylint: invalid-name / Variable name "m" doesn't conform to snake_case naming style (col 4)
  Line: 76
    pylint: arguments-differ / Parameters differ from overridden 'default' method (col 4)
    pylint: method-hidden / An attribute defined in json.encoder line 158 hides this method (col 4)
  Line: 86
    pylint: invalid-name / Variable name "fp" doesn't conform to snake_case naming style (col 35)
  Line: 94
    pylint: invalid-name / Constant name "opts" doesn't conform to UPPER_CASE naming style



Check Information
=================
         Started: 2020-01-10 02:13:07.197628
        Finished: 2020-01-10 02:13:22.494601
      Time Taken: 15.30 seconds
       Formatter: grouped
        Profiles: default, strictness_veryhigh, no_doc_warnings, no_test_warnings, no_member_warnings
      Strictness: veryhigh
  Libraries Used: django, flask
       Tools Run: dodgy, mccabe, pep8, profile-validator, pyflakes, pylint
  Messages Found: 1939


[nix-shell:~/.cache/nix-review/rev-4ae535b86073f47c1efe876367ede8508d4b3530]$

Comment on lines 7 to 8
pname = "setoptconf";
version = "0.2.0";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this package hasn't had an update in almost 6 years.... I don't think it belongs in a rolling release package set

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

where would you place it? it's needed by prospector

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just have it alongside prospector in pkgs/development/tools/prospector/setoptconf.nix.

and just do:

  setoptconf = python3.pkgs.callPackage ./setoptconf.nix

Comment on lines 969 to 983
prospector =
let
pep8-naming' = callPackage ../development/python-modules/pep8-naming { };
in
callPackage ../development/python-modules/prospector {
pep8-naming = pep8-naming'.overrideAttrs(oldAttrs: rec {
pname = "pep8-naming";
version = "0.4.1";
src = fetchPypi {
inherit pname version;
sha256 = "0nhf8p37y008shd4f21bkj5pizv8q0l8cpagyyb8gr059d6gvvaf";
};
});
};

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you can't override python package versions like this, it will break if a user imports another python package which also imports the normal pep8-naming

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if you just want to use this as an application, then you can do something similar to https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/aws-sam-cli/default.nix in which it's not exported as a python module, thus able to have divergent package versions.

But prospector cannot be in python-packages if it needs a different package set

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i just force-pushed the branch with this suggestions

kamado:~/Documents/nixpkgs$ nix-review rev HEAD
$ git -c fetch.prune=false fetch --force https://github.com/NixOS/nixpkgs master:refs/nix-review/0
remote: Enumerating objects: 1136, done.
remote: Counting objects: 100% (1136/1136), done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 1752 (delta 1128), reused 1126 (delta 1126), pack-reused 616
Receiving objects: 100% (1752/1752), 1.02 MiB | 372.00 KiB/s, done.
Resolving deltas: 100% (1271/1271), completed with 474 local objects.
From https://github.com/NixOS/nixpkgs
   ee7d45c638b..484014d1221  master     -> refs/nix-review/0
$ git worktree add /home/kamado/.cache/nix-review/rev-35cfa77e9ffd9bb67a2a64f19fca57e56d0d52a0/nixpkgs 484014d1221bfd490f7c1a17981f45c239d7999c
Preparing worktree (detached HEAD 484014d1221)
HEAD is now at 484014d1221 mako: 1.4 -> 1.4.1 (#77562)
$ nix-env -f /home/kamado/.cache/nix-review/rev-35cfa77e9ffd9bb67a2a64f19fca57e56d0d52a0/nixpkgs -qaP --xml --out-path --show-trace
$ git merge --no-commit 35cfa77e9ffd9bb67a2a64f19fca57e56d0d52a0
Auto-merging pkgs/top-level/python-packages.nix
Auto-merging pkgs/top-level/all-packages.nix
Automatic merge went well; stopped before committing as requested
$ nix-env -f /home/kamado/.cache/nix-review/rev-35cfa77e9ffd9bb67a2a64f19fca57e56d0d52a0/nixpkgs -qaP --xml --out-path --show-trace --meta
$ nix build --no-link --keep-going --max-jobs 4 --option build-use-sandbox true -f /home/kamado/.cache/nix-review/rev-35cfa77e9ffd9bb67a2a64f19fca57e56d0d52a0/build.nix
[1 built, 0.0 MiB DL]
12 package were built:
prospector python27Packages.setoptconf python37Packages.pylint-celery python37Packages.pylint-django python37Packages.pylint-flask python37Packages.requirements-detector python37Packages.setoptconf python38Packages.pylint-celery python38Packages.pylint-django python38Packages.pylint-flask python38Packages.requirements-detector python38Packages.setoptconf

$ nix-shell /home/kamado/.cache/nix-review/rev-35cfa77e9ffd9bb67a2a64f19fca57e56d0d52a0/shell.nix
innovation

[nix-shell:~/.cache/nix-review/rev-35cfa77e9ffd9bb67a2a64f19fca57e56d0d52a0]$ prospector --help
usage: prospector [-h] [-0] [-A] [-u USES] [-B] [-D] [-T] [-8] [-m] [-F]
                  [--max-line-length MAX_LINE_LENGTH] [-M] [-S]
                  [-o OUTPUT_FORMAT] [--absolute-paths] [-t TOOLS]
                  [-w WITH_TOOLS] [-W WITHOUT_TOOLS] [-P PROFILES]
                  [--profile-path PROFILE_PATH]
                  [-s {veryhigh,high,medium,low,verylow}] [--show-profile]
                  [-E] [--pylint-config-file PYLINT_CONFIG_FILE] [-p PATH]
                  [-I IGNORE_PATTERNS] [-i IGNORE_PATHS] [-X]
                  [--include-tool-stdout] [--direct-tool-stdout] [--version]
                  [PATH [PATH ...]]

Performs static analysis of Python code

positional arguments:
  PATH                  The path to a Python project to inspect. Defaults to
                        PWD if not specified. If multiple paths are specified,
                        they must all be files (no directories).

optional arguments:
  -h, --help            show this help message and exit
  -0, --zero-exit       Prospector will exit with a code of 1 (one) if any
                        messages are found. This makes automation easier; if
                        there are any problems at all, the exit code is non-
                        zero. However this behaviour is not always desirable,
                        so if this flag is set, prospector will exit with a
                        code of 0 if it ran successfully, and non-zero if it
                        failed to run.
  -A, --no-autodetect   Turn off auto-detection of frameworks and libraries
                        used. By default, autodetection will be used. To
                        specify manually, see the --uses option.
  -u USES, --uses USES  A list of one or more libraries or frameworks that the
                        project uses. Possible values are: django, celery,
                        flask. This will be autodetected by default, but if
                        autodetection doesn't work, manually specify them
                        using this flag.
  -B, --no-blending     Turn off blending of messages. Prospector will merge
                        together messages from different tools if they
                        represent the same error. Use this option to see all
                        unmerged messages.
  -D, --doc-warnings    Include warnings about documentation.
  -T, --test-warnings   Also check test modules and packages.
  -8, --no-style-warnings
                        Don't create any warnings about style. This disables
                        the PEP8 tool and similar checks for formatting.
  -m, --member-warnings
                        Attempt to warn when code tries to access an attribute
                        of a class or member of a module which does not exist.
                        This is disabled by default as it tends to be quite
                        inaccurate.
  -F, --full-pep8       Enables every PEP8 warning, so that all PEP8 style
                        violations will be reported.
  --max-line-length MAX_LINE_LENGTH
                        The maximum line length allowed. This will be set by
                        the strictness if no value is explicitly specified
  -M, --messages-only   Only output message information (don't output summary
                        information about the checks)
  -S, --summary-only    Only output summary information about the checks
                        (don'toutput message information)
  -o OUTPUT_FORMAT, --output-format OUTPUT_FORMAT
                        The output format. Valid values are: emacs, grouped,
                        json, pylint, text, vscode, xunit, yaml. This will
                        output to stdout by default, however a target file can
                        be used instead by adding :path-to-output-file, eg, -o
                        json:output.json
  --absolute-paths      Whether to output absolute paths when referencing
                        files in messages. By default, paths will be relative
                        to the project path
  -t TOOLS, --tool TOOLS
                        A list of tools to run. This lets you set exactly
                        which tools to run. To add extra tools to the
                        defaults, see --with-tool. Possible values are:
                        bandit, dodgy, frosted, mccabe, mypy, pep257, pep8,
                        profile-validator, pyflakes, pylint, pyroma, vulture.
                        By default, the following tools will be run: dodgy,
                        mccabe, pep257, pep8, profile-validator, pyflakes,
                        pylint
  -w WITH_TOOLS, --with-tool WITH_TOOLS
                        A list of tools to run in addition to the default
                        tools. To specify all tools explicitly, use the --tool
                        argument. Possible values are bandit, dodgy, frosted,
                        mccabe, mypy, pep257, pep8, profile-validator,
                        pyflakes, pylint, pyroma, vulture.
  -W WITHOUT_TOOLS, --without-tool WITHOUT_TOOLS
                        A list of tools that should not be run. Useful to turn
                        off only a single tool from the defaults. To specify
                        all tools explicitly, use the --tool argument.
                        Possible values are bandit, dodgy, frosted, mccabe,
                        mypy, pep257, pep8, profile-validator, pyflakes,
                        pylint, pyroma, vulture.
  -P PROFILES, --profile PROFILES
                        The list of profiles to load. A profile is a certain
                        'type' of behaviour for prospector, and is represented
                        by a YAML configuration file. Either a full path to
                        the YAML file describing the profile must be provided,
                        or it must be on the profile path (see --profile-path)
  --profile-path PROFILE_PATH
                        Additional paths to search for profile files. By
                        default this is the path that prospector will check,
                        and a directory called ".prospector" in the path that
                        prospector will check.
  -s {veryhigh,high,medium,low,verylow}, --strictness {veryhigh,high,medium,low,verylow}
                        How strict the checker should be. This affects how
                        harshly the checker will enforce coding guidelines.
                        The default value is "medium", possible values are
                        "veryhigh", "high", "medium", "low" and "verylow".
  --show-profile        Include the computed profile in the summary. This will
                        show what prospector has decided the overall profile
                        is once all profiles have been combined and inherited
                        from. This will produce a large output in most cases
                        so is only useful when trying to debug why prospector
                        is not behaving like you expect.
  -E, --no-external-config
                        Determines how prospector should behave when
                        configuration already exists for a tool. By default,
                        prospector will use existing configuration. This flag
                        will cause prospector to ignore existing configuration
                        and use its own settings for every tool. Note that
                        prospector will always use its own config for tools
                        which do not have custom configuration.
  --pylint-config-file PYLINT_CONFIG_FILE
                        The path to a pylintrc file to use to configure
                        pylint. Prospector will find .pylintrc files in the
                        root of the project, but you can use this option to
                        specify manually where it is.
  -p PATH, --path PATH  The path to a Python project to inspect. Defaults to
                        PWD if not specified. Note: This command line argument
                        is deprecated and will be removed in a future update.
                        Please use the positional PATH argument instead.
  -I IGNORE_PATTERNS, --ignore-patterns IGNORE_PATTERNS
                        A list of paths to ignore, as a list of regular
                        expressions. Files and folders will be ignored if
                        their full path contains any of these patterns.
  -i IGNORE_PATHS, --ignore-paths IGNORE_PATHS
                        A list of file or directory names to ignore. If the
                        complete name matches any of the items in this list,
                        the file or directory (and all subdirectories) will be
                        ignored.
  -X, --die-on-tool-error
                        If a tool fails to run, prospector will try to carry
                        on. Use this flag to cause prospector to die and raise
                        the exception the tool generated. Mostly useful for
                        development on prospector.
  --include-tool-stdout
  --direct-tool-stdout
  --version             show program's version number and exit

[nix-shell:~/.cache/nix-review/rev-35cfa77e9ffd9bb67a2a64f19fca57e56d0d52a0]$ prospector nixpkgs/
Messages
========

nixpkgs/maintainers/scripts/hydra-eval-failures.py
  Line: 10
    pylint: import-error / Unable to import 'click'
  Line: 11
    pylint: import-error / Unable to import 'requests'
  Line: 12
    pylint: import-error / Unable to import 'pyquery'
  Line: 18
    pep8: E305 / expected 2 blank lines after class or function definition, found 1 (col 1)
  Line: 22
    pylint: assignment-from-no-return / Assigning result of a function call, where the function has no return
  Line: 27
    pep8: E305 / expected 2 blank lines after class or function definition, found 1 (col 1)
  Line: 49
    pylint: bare-except / No exception type(s) specified (col 4)
  Line: 50
    pylint: bad-indentation / Bad indentation. Found 7 spaces, expected 8
  Line: 110
    pylint: no-value-for-parameter / No value for argument 'jobset' in function call (col 8)
  Line: 111
    pyflakes: F841 / local variable 'e' is assigned to but never used (col 5)

nixpkgs/maintainers/scripts/update.py
  Line: 4
    pylint: unused-import / Unused import os
  Line: 65

... (more lines continue)


@jonringer
Copy link
Contributor

also, since prospector was remove from python-modules, the commit message for prospector should be:

prospector: init at 1.2.0

@kamadorueda kamadorueda changed the title pythonPackages.prospector: init and 1.2.0 + dependencies prospector: init and 1.2.0 + dependencies Jan 12, 2020
@kamadorueda
Copy link
Member Author

I just updated the PR with suggested changes

Copy link
Contributor

@jonringer jonringer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

otherwise LGTM

with py.pkgs;

let
setoptconf = callPackage ./setoptconf.nix {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to make clear which package set is being called

Suggested change
setoptconf = callPackage ./setoptconf.nix {
setoptconf = py.pkgs.callPackage ./setoptconf.nix {


let
setoptconf = callPackage ./setoptconf.nix {
inherit lib buildPythonPackage fetchPypi;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

callPackage will know how to find these

Suggested change
inherit lib buildPythonPackage fetchPypi;

setoptconf
];

meta = {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

personal preference, also consistent with some of the other files

Suggested change
meta = {
meta = with lib; {

meta = {
description = "Tool to analyse Python code and output information about errors, potential problems, convention violations and complexity";
homepage = "https://github.com/PyCQA/prospector";
license = lib.licenses.gpl2;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
license = lib.licenses.gpl2;
license = licenses.gpl2;

description = "Tool to analyse Python code and output information about errors, potential problems, convention violations and complexity";
homepage = "https://github.com/PyCQA/prospector";
license = lib.licenses.gpl2;
maintainers = with lib.maintainers; [
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
maintainers = with lib.maintainers; [
maintainers = with maintainers; [

Comment on lines 18 to 22
in

with py.pkgs;

let
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this can be removed if you do:

let
  py = python.override {
    packageOverrides = self: super: {
      pep8-naming = super.pep8-naming.overridePythonAttrs(oldAttrs: rec {
        version = "0.4.1";
        src = oldAttrs.src.override {
          inherit version;
          sha256 = "0nhf8p37y008shd4f21bkj5pizv8q0l8cpagyyb8gr059d6gvvaf";
        };
      });
    };
  };
  setoptconf = py.pkgs.callPackage ./setoptconf.nix { };
in

with py.pkgs;
....

let bindings are able to refer to other expressions declared in their scope.

@kamadorueda
Copy link
Member Author

otherwise LGTM

this are the changes made in the last update

diff --git a/pkgs/development/tools/prospector/default.nix b/pkgs/development/tools/prospector/default.nix
index b639734f7d7..38472ce86f0 100644
--- a/pkgs/development/tools/prospector/default.nix
+++ b/pkgs/development/tools/prospector/default.nix
@@ -15,16 +15,11 @@ let
       });
     };
   };
+  setoptconf = py.pkgs.callPackage ./setoptconf.nix { };
 in
 
 with py.pkgs;
 
-let
-  setoptconf = callPackage ./setoptconf.nix {
-    inherit lib buildPythonPackage fetchPypi;
-  };
-in
-
 buildPythonApplication rec {
   pname = "prospector";
   version = "1.2.0";
@@ -68,11 +63,11 @@ buildPythonApplication rec {
     setoptconf
   ];
 
-  meta = {
+  meta = with lib; {
     description = "Tool to analyse Python code and output information about errors, potential problems, convention violations and complexity";
     homepage = "https://github.com/PyCQA/prospector";
-    license = lib.licenses.gpl2;
-    maintainers = with lib.maintainers; [
+    license = licenses.gpl2;
+    maintainers = with maintainers; [
       kamadorueda
     ];
   };

Copy link
Contributor

@jonringer jonringer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

diff LGTM
commits LGTM
applicable packages have tests

[19 built, 55 copied (67.7 MiB), 10.9 MiB DL]
https://github.com/NixOS/nixpkgs/pull/77424
9 package built:
prospector python37Packages.pylint-celery python37Packages.pylint-django python37Packages.pylint-flask python37Packages.requirements-detector python38Packages.pylint-celery python38Packages.pylint-django python38Packages.pylint-flask python38Packages.requirements-detector

@jonringer
Copy link
Contributor

@GrahamcOfBorg build prospector python37Packages.pylint-celery python37Packages.pylint-django python37Packages.pylint-flask python37Packages.requirements-detector python38Packages.pylint-celery python38Packages.pylint-django python38Packages.pylint-flask python38Packages.requirements-detector

@jonringer jonringer merged commit a892d96 into NixOS:master Jan 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants