Some out-of-the-box hooks for pre-commit
Find a file
Anthony Sottile e306ff3b7d Merge pull request #91 from SBoudrias/patch-1
Fix code syntax in README
2015-12-01 16:08:52 -08:00
pre_commit_hooks Reformatted --diff-filter git argument 2015-12-01 16:59:22 -05:00
testing Merge pull request #60 from arahayrabedian/master 2015-06-17 11:46:15 -07:00
tests Fixed regex matching 2015-11-19 00:39:29 -08:00
.coveragerc Remove timid coverage. 2014-06-05 15:52:56 -07:00
.gitignore Update pre-commit config. 2014-06-05 09:23:49 -07:00
.pre-commit-config.yaml Update hooks 2015-05-31 13:51:02 -07:00
.travis.yml Add check-xml hook. 2015-01-17 10:30:58 -08:00
appveyor.yml Add appveyor 2015-01-19 17:19:03 -08:00
CHANGELOG v0.4.2 2015-05-31 14:02:52 -07:00
hooks.yaml Add encoding pragma hook. Resolves pre-commit/pre-commit#15 2015-11-13 12:39:43 -08:00
LICENSE MIT 2014-06-05 08:58:48 -07:00
Makefile requirements_dev -> requirements-dev 2014-06-05 09:09:21 -07:00
pylintrc Implement Markdown trailing space line break preservation 2015-05-11 08:52:32 +02:00
README.md Fix code syntax in README 2015-12-01 15:42:07 -08:00
requirements-dev.txt Allow six to bump 2015-06-17 11:49:19 -07:00
requirements.txt Update project setup. 2014-04-13 22:09:26 -07:00
setup.py Add encoding pragma hook. Resolves pre-commit/pre-commit#15 2015-11-13 12:39:43 -08:00
tox.ini Update hooks 2015-05-31 13:51:02 -07:00

Build Status Coverage Status Build status

pre-commit-hooks

Some out-of-the-box hooks for pre-commit.

See also: https://github.com/pre-commit/pre-commit

Using pre-commit-hooks with pre-commit

Add this to your .pre-commit-config.yaml

-   repo: git://github.com/pre-commit/pre-commit-hooks
    sha: ''  # Use the sha you want to point at
    hooks:
    -   id: trailing-whitespace
    # -   id: ...

Hooks available

  • autopep8-wrapper - Runs autopep8 over python source.
    • Ignore PEP 8 violation types with args: ['-i', '--ignore=E000,...'] or through configuration of the [pep8] section in setup.cfg / tox.ini.
  • check-added-large-files - Prevent giant files from being committed.
    • Specify what is "too large" with args: ['--maxkb=123'] (default=500kB).
  • check-ast - Simply check whether files parse as valid python.
  • check-case-conflict - Check for files with names that would conflict on a case-insensitive filesystem like MacOS HFS+ or Windows FAT.
  • check-docstring-first - Checks for a common error of placing code before the docstring.
  • check-json - Attempts to load all json files to verify syntax.
  • check-merge-conflict - Check for files that contain merge conflict strings.
  • check-xml - Attempts to load all xml files to verify syntax.
  • check-yaml - Attempts to load all yaml files to verify syntax.
  • debug-statements - Check for pdb / ipdb / pudb statements in code.
  • detect-aws-credentials - Checks for the existence of AWS secrets that you have set up with the AWS CLI.
  • detect-private-key - Checks for the existence of private keys.
  • double-quote-string-fixer - This hook replaces double quoted strings with single quoted strings.
  • end-of-file-fixer - Makes sure files end in a newline and only a newline.
  • fix-encoding-pragma - Add # -*- coding: utf-8 -*- to the top of python files
  • flake8 - Run flake8 on your python files.
  • name-tests-test - Assert that files in tests/ end in _test.py.
    • Use args: ['--django'] to match test*.py instead.
  • pyflakes - Run pyflakes on your python files.
  • pretty-format-json - Checks that all your JSON files are pretty
  • requirements-txt-fixer - Sorts entries in requirements.txt
  • trailing-whitespace - Trims trailing whitespace.
    • Markdown linebreak trailing spaces preserved for .md and.markdown; use args: ['--markdown-linebreak-ext=txt,text'] to add other extensions, args: ['--markdown-linebreak-ext=*'] to preserve them for all files, or args: ['--no-markdown-linebreak-ext'] to disable and always trim.

As a standalone package

If you'd like to use these hooks, they're also available as a standalone package.

Simply pip install pre-commit-hooks