| - id: check-added-large-files |
| name: check for added large files |
| description: prevent giant files from being committed |
| entry: check-added-large-files |
| language: python |
| - id: check-ast |
| name: check python ast |
| description: simply check whether the files parse as valid python. |
| entry: check-ast |
| language: python |
| types: [python] |
| - id: check-byte-order-marker |
| name: 'check BOM - deprecated: use fix-byte-order-marker' |
| description: forbid files which have a utf-8 byte-order marker |
| entry: check-byte-order-marker |
| language: python |
| types: [text] |
| - id: check-builtin-literals |
| name: check builtin type constructor use |
| description: require literal syntax when initializing empty or zero python builtin types. |
| entry: check-builtin-literals |
| language: python |
| types: [python] |
| - id: check-case-conflict |
| name: check for case conflicts |
| description: check for files that would conflict in case-insensitive filesystems |
| entry: check-case-conflict |
| language: python |
| - id: check-docstring-first |
| name: check docstring is first |
| description: checks a common error of defining a docstring after code. |
| entry: check-docstring-first |
| language: python |
| types: [python] |
| - id: check-executables-have-shebangs |
| name: check that executables have shebangs |
| description: ensures that (non-binary) executables have a shebang. |
| entry: check-executables-have-shebangs |
| language: python |
| types: [text, executable] |
| stages: [commit, push, manual] |
| - id: check-json |
| name: check json |
| description: this hook checks json files for parseable syntax. |
| entry: check-json |
| language: python |
| types: [json] |
| - id: check-shebang-scripts-are-executable |
| name: check that scripts with shebangs are executable |
| description: ensures that (non-binary) files with a shebang are executable. |
| entry: check-shebang-scripts-are-executable |
| language: python |
| types: [text] |
| stages: [commit, push, manual] |
| - id: pretty-format-json |
| name: pretty format json |
| description: this hook sets a standard for formatting json files. |
| entry: pretty-format-json |
| language: python |
| types: [json] |
| - id: check-merge-conflict |
| name: check for merge conflicts |
| description: check for files that contain merge conflict strings. |
| entry: check-merge-conflict |
| language: python |
| types: [text] |
| - id: check-symlinks |
| name: check for broken symlinks |
| description: checks for symlinks which do not point to anything. |
| entry: check-symlinks |
| language: python |
| types: [symlink] |
| - id: check-toml |
| name: check toml |
| description: this hook checks toml files for parseable syntax. |
| entry: check-toml |
| language: python |
| types: [toml] |
| - id: check-vcs-permalinks |
| name: check vcs permalinks |
| description: ensures that links to vcs websites are permalinks. |
| entry: check-vcs-permalinks |
| language: python |
| types: [text] |
| - id: check-xml |
| name: check xml |
| description: this hook checks xml files for parseable syntax. |
| entry: check-xml |
| language: python |
| types: [xml] |
| - id: check-yaml |
| name: check yaml |
| description: this hook checks yaml files for parseable syntax. |
| entry: check-yaml |
| language: python |
| types: [yaml] |
| - id: debug-statements |
| name: debug statements (python) |
| description: check for debugger imports and py37+ `breakpoint()` calls in python source. |
| entry: debug-statement-hook |
| language: python |
| types: [python] |
| - id: destroyed-symlinks |
| name: detect destroyed symlinks |
| description: detects symlinks which are changed to regular files with a content of a path which that symlink was pointing to. |
| entry: destroyed-symlinks |
| language: python |
| types: [file] |
| - id: detect-aws-credentials |
| name: detect aws credentials |
| description: detects *your* aws credentials from the aws cli credentials file |
| entry: detect-aws-credentials |
| language: python |
| types: [text] |
| - id: detect-private-key |
| name: detect private key |
| description: detects the presence of private keys |
| entry: detect-private-key |
| language: python |
| types: [text] |
| - id: double-quote-string-fixer |
| name: fix double quoted strings |
| description: this hook replaces double quoted strings with single quoted strings |
| entry: double-quote-string-fixer |
| language: python |
| types: [python] |
| - id: end-of-file-fixer |
| name: fix end of files |
| description: ensures that a file is either empty, or ends with one newline. |
| entry: end-of-file-fixer |
| language: python |
| types: [text] |
| stages: [commit, push, manual] |
| - id: file-contents-sorter |
| name: file contents sorter |
| description: sort the lines in specified files (defaults to alphabetical). you must provide list of target files as input in your .pre-commit-config.yaml file. |
| entry: file-contents-sorter |
| language: python |
| files: '^$' |
| - id: fix-byte-order-marker |
| name: fix utf-8 byte order marker |
| description: removes utf-8 byte order marker |
| entry: fix-byte-order-marker |
| language: python |
| types: [text] |
| - id: fix-encoding-pragma |
| name: fix python encoding pragma |
| language: python |
| entry: fix-encoding-pragma |
| description: 'add # -*- coding: utf-8 -*- to the top of python files' |
| types: [python] |
| - id: forbid-new-submodules |
| name: forbid new submodules |
| language: python |
| entry: forbid-new-submodules |
| description: prevent addition of new git submodules |
| types: [directory] |
| - id: mixed-line-ending |
| name: mixed line ending |
| description: replaces or checks mixed line ending |
| entry: mixed-line-ending |
| language: python |
| types: [text] |
| - id: name-tests-test |
| name: tests should end in _test.py |
| description: this verifies that test files are named correctly |
| entry: name-tests-test |
| language: python |
| files: (^|/)tests/.+\.py$ |
| - id: no-commit-to-branch |
| name: "don't commit to branch" |
| entry: no-commit-to-branch |
| language: python |
| pass_filenames: false |
| always_run: true |
| - id: requirements-txt-fixer |
| name: fix requirements.txt |
| description: sorts entries in requirements.txt |
| entry: requirements-txt-fixer |
| language: python |
| files: requirements.*\.txt$ |
| - id: sort-simple-yaml |
| name: sort simple yaml files |
| language: python |
| entry: sort-simple-yaml |
| description: sorts simple yaml files which consist only of top-level keys, preserving comments and blocks. |
| files: '^$' |
| - id: trailing-whitespace |
| name: trim trailing whitespace |
| description: this hook trims trailing whitespace. |
| entry: trailing-whitespace-fixer |
| language: python |
| types: [text] |
| stages: [commit, push, manual] |