Usage¶
Basic configuration¶
To use git-pylint-commit-hook in a project, create a new file under /project/root/.git/hooks/pre-commit and add the following to that file:
#!/usr/bin/env bash
git-pylint-commit-hook
Save the file and make it executable:
chmod +x .git/hooks/pre-commit
Your Python files should now be checked upon commit.
Command line options¶
The git-pylint-commit-hook can be configured using command line options. The command line options are:
--limit LIMIT Score limit, files with a lower score will stop the
commit. Default: 8.0
--pylint PYLINT Path to pylint executable. Default: pylint
--pylintrc PYLINTRC Path to pylintrc file. Options in the pylintrc will
override the command line parameters. Default:
pylintsearch order
--pylint-params PYLINT_PARAMS
Custom pylint parameters to add to the pylint command
--suppress-report Suppress report output if pylint fails
--always-show-violations
Show violations in case of pass as well
--version Print current version number
--ignore IGNORED_FILES
Add regex to blacklist files or directories, allowing
to avoid running pylint those files.
--stash Stash any unstaged changes while linting (changes are
unstashed automatically unless the process is forcibly
killed)
You can simply append those to the command created in the Basic configuration above.
Support for .pylintrc files¶
git-pylint-commit-hook will automatically find your pylint configuration files, according to the pylint configuration file default read order. Any configuration found for the project will be used in the git-pylint-commit-hook.
You can also define a custom pylint configuration file using the --pylintrc command line option.
pylint configuration¶
Settings are loaded by default from the .pylintrc file in the root of your repo.
[pre-commit-hook]
command=custom_pylint
params=--rcfile=/path/to/another/pylint.rc
limit=8.0
command is for the actual command, for instance if pylint is not installed globally, but is in a virtualenv inside the project itself.
params lets you pass custom parameters to pylint
limit is the lowest value which you want to allow for a pylint score. Any lower than this, and the script will fail and won’t commit.
Any of these can be bypassed directly in the pre-commit hook itself. You can also set a different default place to look for the pylintrc file.