You can definitely use Pylint to check a program under any license. However, integrating Pylint into a test suite might require a bit of care.
Pylint is a program that reads some files, analyzes the files, and prints out various warnings. Those files happen to be another program, but there isn't really any connection between Pylint and the program being checked. In particular, they are not combined into a single creative work. Thus, there are no copyright concerns and consequently the GPL license does not matter.
In a test suite this might be a bit different. If we have a test that combines the program being checked with Pylint (e.g. by using Pylint not as an application but as a library), it might be that this test can only be distributed under the GPL, and that the program being checked would require a GPL-compatible license.
For the avoidance of doubt, I'd therefore suggest to not use Pylint as a library, but to keep it as a clearly separate program. Instead of import pylint
this distinction can be maintained more clearly e.g. with subprocess.run(['pylint', ...])
. Personally, I also find it a bit unusual to integrate a linter directly into a test suite, and would rather have a shell script that manages various quality assurance tasks (including linting and unit tests).
Note that Pylint and pep8 aren't really comparable. Whereas pep8 mostly just checks some basic formatting issues, Pylint also supports rich semantic checks.