skip to navigation
skip to content

captainhook 0.3

A collection of git commit hooks

Latest Version: 0.8.7

Git hook scripts

What is it

If installed, this package will install a pre-commit hook for git into the git repository that you are in at the time of installation.

Upon committing code, the pre-commit hook runs checks against the python files to be committed and rejects the commit if any of the checks fail.


Install using pip:

pip install captainhook

Once installed into your environment, you will be able to run:


from within any git repo, and the pre-commit hook will be installed.

Setting Up

By default, all hooks are on. To turn off a hook, create a tox.ini file in the base directory of your project with a captainhook section.




Currently supported checks are

  • pdb: Checks to see if there are any uncommented import pdb; pdb.set_trace() statements in the code to be committed.
  • flake8: Runs flake8 against the files that are set to be committed.


You only see output for checks that fail, otherwise silence.

Example output upon a rejected commit:

Checking flake8
=============================================================================== F401 'importlib' imported but unused E302 expected 2 blank lines, found 1 E501 line too long (89 > 79 characters)
Rejecting commit


Running on its own will by default cause a git stash to take place which you probably don’t want when testing a new check.

You can run the script without performing such a stash using:

python -n
File Type Py Version Uploaded on Size
captainhook-0.3.tar.gz (md5) Source 2014-05-08 3KB