py-githooks
Create git hooks with ease using a simple configuration file in a git project
Install
pip install py-githooks
Usage
- Create a
.githooks.iniconfiguration file (If not provided a dummy configuration file will be created). - Add sections based on
git hooks namesfollowed by acommandproperty with the shell code you want to run. - Run either
python -m python_githooksorgithooksin 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
- Running
python -m python_githooks --deactivateorgithooks --deactivatewill stop shimming git hooks but keep the commands in.git/hooks - Run
rm .githooks.inito remove the configuration file (optional). rm .git/hooks/pre-commitor any other githook to stop them from executing (optional). e.g.rm .git/hooks/*
License
py-githooks is MIT-licensed.