Search code examples
pythonpylint

pylint - how do you enable all optinal checkers / extensions?


From this page https://pylint.pycqa.org/en/latest/user_guide/checkers/extensions.html pylint has a number of optional checkers. I pretty much just want all of them, how do I say to pylint "give me everything" without manually writing every extension out, one by one? Ideally the solution can b e passed via command-line like --load-plugins=*, without the need for a separate .pylintrc file. I've tried a number of syntaxes but pylint seems only able to recognize extensions if it exactly matches a module name.

Each of the below do not work

pylint --load-plugins=* foo.py
pylint --load-plugins=pylint.extensions.* foo.py
pylint --load-plugins=pylint.extensions foo.py

As mentioned, a hard-coded list that needs to be updated as new checkers are added over time is not a great way to keep up with the latest checks. I'd like a way to express "give me everything" that doesn't require manually changing configuration over time. Any help would be appreciated.


Solution

  • That would be --enable-all-extensions available for pylint 2.12 or more.

    See pylint --help|grep extension:

      --list-extensions     List available extensions.
    
      --enable-all-extensions 
    
                            Load and enable all available extensions. Use --list-
    
                            extensions to see a list all available extensions.
    
      --extension-pkg-allow-list <pkg[,pkg]>
    
                            where C extensions may be loaded. Extensions are
    
      --extension-pkg-whitelist <pkg[,pkg]>
    
                            where C extensions may be loaded. Extensions are
    
                            extension-pkg-allow-list for backward compatibility.)