PyCodeQual uses different linters to find issues in your Python code. The main work is done by Pylint. Issues can be viewed in lists showing the newest, most common or most severe issues first. Linter issues (especially Pylint's) are sometimes hard to understand. In order to make it as easy as possible to understand what the problem is, PyCodeQual shows you some lines of code around the location of the issue as well as additional information on the type of the issue (from our documentation).
You can configure dependencies to be installed from PyPI. If you have a
requirements.txt
file in your repository, this one will be picked
up automatically. By doing the analysis with dependencies installed, PyCodeQual
generates accurate issues.
Instead of allowing complex configuration of the underlying linters, PyCodeQual offers comprehensive options to ignore issues. Ignored issues can be selected by type, location (file, module, class, function etc). Additional attributes are extracted on many issue types that can also be used to create more specific ignore rules. E.g. you might want to ignore an "E1101: No member" for a certain type & attribute only.
Ignore rules track their creator and allow to specify a comment (e.g. to specify the reasoning behind the decision). Thus, you can easily keep track of all the ignored issues and who ignored them for what reason. accurate issues.
When you open a pull request on Github (and every time you push new commits to a branch with an open pull request), PyCodeQual will analyze the head commit of the branch in question and create a diff of the issues and metrics of your code. It uses the Github's check runs feature that is also used by some CI tools. If there are new issues or a metric worsened by a significant amount, it will mark the check run as failed. You can review the generated diff and fix some of the newly found problems before handing the PR off to your colleagues for review.
The big advantage of this kind of automated review is that you usually pretty familiar with the code that you edited for the pull request. Thus, it should be easy for you to refactor & fix issues in that code.