Skip to the content.

py-githooks

code linting: flake8 code quality: pytest MIT license Pypi CircleCI Coverage Status

Create git hooks with ease using a simple configuration file in a git project

Install

pip install py-githooks

Usage

  1. Create a .githooks.ini configuration file (If not provided a dummy configuration file will be created).
  2. Add sections based on git hooks names followed by a command property with the shell code you want to run.
  3. Run either python -m python_githooks or githooks in your virtual environment.

Configuration file example:

# .githooks.ini

[pre-commit]
command = pytest --cov

[pre-push]
command = pytest --cov && flake8

Removing a hook

If you already created a hook and now want to remove it, just set the command value to empty, like this:

# .githooks.ini

[pre-commit]
command =

This will not actually physically remove the hook from the git local project, just will make it instantly exit with 0 status code.

Unuse

  1. Running python -m python_githooks --deactivate or githooks --deactivate will stop shimming git hooks but keep the commands in .git/hooks
  2. Run rm .githooks.ini to remove the configuration file (optional).
  3. rm .git/hooks/pre-commit or any other githook to stop them from executing (optional). e.g. rm .git/hooks/*

License

py-githooks is MIT-licensed.