|author||Anthony Sottile <firstname.lastname@example.org>||Tue Jun 06 14:26:36 2017 -0700|
|committer||Anthony Sottile <email@example.com>||Tue Jun 06 14:26:36 2017 -0700|
Some out-of-the-box hooks for pre-commit.
See also: https://github.com/pre-commit/pre-commit
Add this to your
- repo: git://github.com/pre-commit/pre-commit-hooks sha: v0.8.0 # Use the ref you want to point at hooks: - id: trailing-whitespace # - id: ...
autopep8-wrapper- Runs autopep8 over python source.
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.
check-ast- Simply check whether files parse as valid python.
check-byte-order-marker- Forbid files which have a UTF-8 byte-order marker
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-symlinks- Checks for symlinks which do not point to anything.
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. The following arguments are available:
--credentials-file- additional AWS CLI style configuration file in a non-standard location to fetch configured credentials from. Can be repeated multiple times.
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.
# -*- coding: utf-8 -*-to the top of python files.
--remove(useful in a python3-only codebase)
flake8- Run flake8 on your python files.
forbid-new-submodules- Prevent addition of new git submodules.
name-tests-test- Assert that files in tests/ end in
args: ['--django']to match
no-commit-to-branch- Protect specific branches from direct checkins.
args: -b <branch>to set the branch.
masteris the default if no argument is set.
pyflakes- Run pyflakes on your python files.
pretty-format-json- Checks that all your JSON files are pretty. “Pretty” here means that keys are sorted and indented. You can configure this with the following commandline options:
--autofix- automatically format json files
--indent ...- Control the indentation (either a number for a number of spaces or a string of whitespace). Defaults to 4 spaces.
--no-sort-keys- when autofixing, retain the original key ordering (instead of sorting the keys)
--top-keys comma,separated,keys- Keys to keep at the top of mappings.
requirements-txt-fixer- Sorts entries in requirements.txt
trailing-whitespace- Trims trailing whitespace.
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.
If you‘d like to use these hooks, they’re also available as a standalone package.
pip install pre-commit-hooks