Skip to main content

pre-commit hook for Git

Project description

Hook that blocks bad commits. Useful for Python-development.


You can install, upgrade, uninstall git-pre-commit-hook with these commands:

$ pip install git-pre-commit-hook
$ pip install --upgrade git-pre-commit-hook
$ pip uninstall git-pre-commit-hook


  • Work fine with initial commit.

  • Work fine with all filenames.

  • Work with index contents instead of working copy.

  • Plugin architecture: adding new checks is easy.

  • Builtin plugins for:


Install hook to current Git-repository:

git-pre-commit-hook install \
  --plugin flake8 \
  --plugin frosted \
  --plugin json \
  --plugin file_size \
  --plugin rst \
  --plugin yaml

Installed hook rejects commits:

  • if any file has size greater than 10MB

  • if files with .json extension contains invalid JSON

  • if Python-code doesn’t pass check with flake8 (with pep8-naming)

  • if Python-code doesn’t pass check with frosted

  • if files with .rst extension contains invalid RST

  • if files with .yaml extension contains invalid YAML

List available plugins:

git-pre-commit-hook list-plugins

Show information about plugin:

git-pre-commit-hook show-plugin-info json


  1. Fork git-pre-commit-hook

  2. Clone your fork

  3. Install tox:

    pip install tox
  4. Create development environment:

    tox -e devenv
    source devenv/bin/activate
  5. Edit code

  6. Run tests:

  7. Send pull request

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

git-pre-commit-hook-0.0.11.tar.gz (5.8 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page