A simple pylint application that scans the current directory and any sub-directories recursively, then runs pylint on all discovered .py files.
Preferred installation method:
pip install pylint_runner
From source:
python setup.py install
When installed, this will create an executable pylint_runner, pylint_runner#, and pylint_runner#.# where the first # represents the major version of Python (2 or 3) and the second # represents the minor version of Python. So if installed by Python 2.7, you will have available pylint_runner, pylint_runner2, and pylint_runner2.7 so as to allow usage by however many installed versions of python on the system as pylint is version dependent on its output (due to using the Python AST).
pylint_runner
Output is standard pylint output. There should be no output if no issues were found.
In case of issues, you should see output similar to:
************* Module foo.bar C: 24, 0: Missing function docstring (missing-docstring) ************* Module tests.foo_tester C: 19, 0: Final newline missing (missing-final-newline) C: 19, 0: Invalid constant name "a" (invalid-name)
Additional Arguments
See the standard help ouput:
pylint_runner -h
NOTE: Unused options and arguments will be passed directly to pylint. For example, doing pylint_runner -d C0103 -d E0602 will cause pylint -d C0103 -d E0602 on each file.
pylint_runner -v
Verbose mode lists all files that were found for testing immediately, along with the pylint output.
This will generate (if run against this repo):
Using pylint 1.6.5 for python 2.7.11 pylint running on the following files: - pylint_runner/__init__.py - pylint_runner/main.py - setup.py - tests/__init__.py - tests/test_runner.py - tests/tests/dummy.py ************* Module tests.test_runner I: 1, 0: Locally disabling missing-docstring (C0111) (locally-disabled)
This allows you to specify a pylintrc file to be used using --rcfile path_to_file.
It may be a relative, or absolute path and defaults to .pylintrc at the current working directory.
It will read the value of ignore from the rcfile and ignore any matching files/folders while building the list of files to pass to python.
It will also pass that rcfile for use by pylint.