Skip to content

Git pre-commit hook to check Python code quality with pylint. You can use this hook to prohibit Python code with a bad syntax to be checked in.

License

Notifications You must be signed in to change notification settings

ink1/git-pylint-commit-hook

 
 

Repository files navigation

git-pylint-commit-hook

Pre-commit hook for Git checking Python code quality. The hook will check files ending with .py or that has a she bang (#!) containing python.

By default the script looks in the root directory of your project for a .pylintrc file, which it passes to pylint. It also looks for a [pre-commit-hook] section for options of it's own.

Installation

Install via PyPI

pip install git-pylint-commit-hook

Usage

The commit hook will automatically be called when you are running git commit. If you want to skip the tests for a certain commit, use the -n flag, git commit -n.

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.

Running tests

The test suite requires nose2 to be installed. Install it with pip install nose2, then run the tests by executing the following command (in the project root folder):

nose2

Requirements

This commit hook is written in Python and has the following requirements:

  • pylint (sudo pip install pylint)
  • Python >2.5 and <3.0

Release notes

2.0.9 (2014-10-16)

2.0.7 (2014-10-16)

2.0.5 (2014-10-08)

2.0.5 (2014-05-06)

2.0.4 (2014-05-01)

2.0.3 (2014-02-07)

  • Fixed error in decimal representation

2.0.1 (2013-12-08)

2.0.0 (2013-12-08)

  • Documentation updated and moved to Read The Docs
  • git-pylint-commit-hook is now a regular command
  • Installation via PyPI: pip install git-pylint-commit-hook
  • Configurable using command line parameters. See the documentation for details

1.0.0 (2013-10-13)

  • Added support for default .pylintrc file, and also for loading our own options from there.

0.8 (2013-01-09)

0.7 (2012-12-07)

  • Bug when skipping init.py files fixed. Wrong path was checked under some circumstanses

0.6 (2012-12-04)

0.5 (2012-12-01)

0.4 (2012-11-30)

0.3 (2012-11-18)

  • Fixed bug with non-python files getting checked, if they contained python on the first row

0.2 (2012-11-16)

  • Added support for handling moved or deleted files

0.1 (2012-11-09)

  • Initial release of the commit hook

About

Git pre-commit hook to check Python code quality with pylint. You can use this hook to prohibit Python code with a bad syntax to be checked in.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.4%
  • Makefile 1.6%