commit | d188f2ecf80c23e906fd510e869c1e59f27cdad8 | [log] [tgz] |
---|---|---|
author | Daniel Gallagher <daniellg@yelp.com> | Sun Jun 25 09:39:21 2017 -0700 |
committer | Daniel Gallagher <daniellg@yelp.com> | Sun Jun 25 09:39:21 2017 -0700 |
tree | fecdff532637df626f259f8b1cc6b18d0dac96a6 | |
parent | 05d9c8c8051446dc14aec45a859f39ae22c01bdb [diff] | |
parent | d419bef35cd5870e637e0af93cb0df63e3520e07 [diff] |
Merge branch 'master' into file_contents_sorter_hook
Some out-of-the-box hooks for pre-commit.
See also: https://github.com/pre-commit/pre-commit
Add this to your .pre-commit-config.yaml
- 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.args: ['--maxkb=123']
(default=500kB).check-ast
- Simply check whether files parse as valid python.check-byte-order-marker
- Forbid files which have a UTF-8 byte-order markercheck-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.fix-encoding-pragma
- Add # -*- coding: utf-8 -*-
to the top of python files.file-contents-sorter
- Sort the lines in specified files (defaults to alphabetical). You must provide list of target files as input to it.--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 _test.py
.args: ['--django']
to match test*.py
instead.no-commit-to-branch
- Protect specific branches from direct checkins.args: -b <branch>
to set the branch. master
is 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.txtsort-simple-yaml
- Sorts simple YAML files which consist only of top-level keys, preserving comments and blocks.trailing-whitespace
- Trims trailing whitespace..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.If you‘d like to use these hooks, they’re also available as a standalone package.
Simply pip install pre-commit-hooks