2025-02-09 20:21:14 +01:00
- id : check-added-large-files
name : check for added large files
description : prevents giant files from being committed.
entry : check-added-large-files
language : python
2025-02-09 20:24:12 +01:00
stages : [ pre-commit, pre-push, manual]
minimum_pre_commit_version : 3.2 .0
2025-02-09 20:21:14 +01:00
- id : check-ast
name : check python ast
description : simply checks 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 : forbids 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 : requires 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 : checks 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]
2025-02-09 20:24:12 +01:00
stages : [ pre-commit, pre-push, manual]
minimum_pre_commit_version : 3.2 .0
- id : check-illegal-windows-names
name : check illegal windows names
entry : Illegal Windows filenames detected
language : fail
files : '(?i)((^|/)(CON|PRN|AUX|NUL|COM[\d¹²³]|LPT[\d¹²³])(\.|/|$)|[<>:\"\\|?*\x00-\x1F]|/[^/]*[\.\s]/|[^/]*[\.\s]$)'
2025-02-09 20:21:14 +01:00
- id : check-json
name : check json
description : 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]
2025-02-09 20:24:12 +01:00
stages : [ pre-commit, pre-push, manual]
minimum_pre_commit_version : 3.2 .0
2025-02-09 20:21:14 +01:00
- id : pretty-format-json
name : pretty format json
description : 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 : checks 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 : 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 : checks xml files for parseable syntax.
entry : check-xml
language : python
types : [ xml]
- id : check-yaml
name : check yaml
description : checks yaml files for parseable syntax.
entry : check-yaml
language : python
types : [ yaml]
- id : debug-statements
name : debug statements (python)
description : checks 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]
2025-02-09 20:24:12 +01:00
stages : [ pre-commit, pre-push, manual]
2025-02-09 20:21:14 +01:00
- 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 : 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]
2025-02-09 20:24:12 +01:00
stages : [ pre-commit, pre-push, manual]
minimum_pre_commit_version : 3.2 .0
2025-02-09 20:21:14 +01:00
- id : file-contents-sorter
name : file contents sorter
description : sorts 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
2025-02-09 20:22:51 +01:00
name : fix python encoding pragma (deprecated)
2025-02-09 20:21:14 +01:00
description: 'adds # -*- coding : utf-8 -*- to the top of python files.'
language : python
entry : fix-encoding-pragma
types : [ python]
- id : forbid-new-submodules
name : forbid new submodules
description : prevents addition of new git submodules.
language : python
entry : forbid-new-submodules
types : [ directory]
- id : forbid-submodules
name : forbid submodules
description : forbids any submodules in the repository
language : fail
entry : 'submodules are not allowed in this repository:'
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 : python tests naming
description : 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|constraints).*\.txt$
- id : sort-simple-yaml
name : sort simple yaml files
description : sorts simple yaml files which consist only of top-level keys, preserving comments and blocks.
language : python
entry : sort-simple-yaml
files : '^$'
- id : trailing-whitespace
name : trim trailing whitespace
description : trims trailing whitespace.
entry : trailing-whitespace-fixer
language : python
types : [ text]
2025-02-09 20:24:12 +01:00
stages : [ pre-commit, pre-push, manual]
minimum_pre_commit_version : 3.2 .0