mirror of
https://github.com/biopython/biopython.git
synced 2025-10-20 05:33:47 +08:00
121 lines
3.8 KiB
YAML
121 lines
3.8 KiB
YAML
# See CONTRIBUTING.rst, we expect this to be run via a git pre-commit hook.
|
|
# You can also run the checks directly at the terminal, e.g.
|
|
#
|
|
# $ pre-commit run --all-files
|
|
#
|
|
repos:
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: v6.0.0
|
|
hooks:
|
|
- id: check-executables-have-shebangs
|
|
files: \.(py|sh)$
|
|
- id: check-json
|
|
- id: end-of-file-fixer
|
|
files: \.py$
|
|
- id: mixed-line-ending
|
|
exclude: \.bb$
|
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
rev: v0.13.3
|
|
hooks:
|
|
# Run the Ruff linter.
|
|
- id: ruff-check
|
|
args: [
|
|
'--fix',
|
|
'--extend-select=B,C4,D,ISC,UP',
|
|
'--extend-ignore=E501,F401,F841,D105,D2,D4',
|
|
'--extend-ignore=B007,B009,B010,B018,B028,B904,UP031',
|
|
'--extend-per-file-ignores=Tests/*.py:D101,Tests/*.py:D102,Tests/*.py:D103',
|
|
'--extend-per-file-ignores=Tests/*.py:B015',
|
|
'--config=lint.isort.force-single-line=true',
|
|
'--config=lint.isort.order-by-type=false',
|
|
]
|
|
- repo: https://github.com/psf/black-pre-commit-mirror
|
|
rev: 24.10.0
|
|
hooks:
|
|
- id: black
|
|
args: [--check,--target-version,py310]
|
|
- repo: https://github.com/PyCQA/flake8
|
|
rev: 7.3.0
|
|
hooks:
|
|
- id: flake8
|
|
additional_dependencies: [
|
|
'flake8-rst-docstrings>=0.2.3',
|
|
]
|
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
rev: v1.16.1
|
|
hooks:
|
|
- id: mypy
|
|
# equivalent to "files" in .mypy.ini
|
|
files: '^(Bio|BioSQL)/'
|
|
- repo: https://github.com/asottile/blacken-docs
|
|
rev: 1.20.0
|
|
hooks:
|
|
- id: blacken-docs
|
|
additional_dependencies: [black==24.10.0]
|
|
exclude: ^.github/
|
|
- repo: https://github.com/rstcheck/rstcheck
|
|
rev: v6.2.5
|
|
hooks:
|
|
- id: rstcheck
|
|
args: [
|
|
'--ignore-roles=ref,numref,py:mod',
|
|
--ignore-directives=toctree,
|
|
--ignore-substitutions=version,
|
|
--report-level=warning,
|
|
--ignore-messages=Unknown\ target\ name
|
|
]
|
|
- repo: https://github.com/PyCQA/doc8
|
|
rev: v2.0.0
|
|
hooks:
|
|
- id: doc8
|
|
additional_dependencies: [pygments]
|
|
args: [
|
|
--quiet,
|
|
--ignore-path=Doc/examples/ec_*.txt,
|
|
'--ignore=D000,D001,D002,D004'
|
|
]
|
|
- repo: https://github.com/codespell-project/codespell
|
|
rev: v2.4.1
|
|
hooks:
|
|
- id: codespell
|
|
files: \.(rst|md)$
|
|
args: [
|
|
--ignore-regex,
|
|
'(^|\W)([A-Z]{2,3})(\W|$)',
|
|
-L,
|
|
'ser,hsa,hist,fpr,blosum,ags,manuel,mian,fallin'
|
|
]
|
|
- repo: local
|
|
hooks:
|
|
- id: doi-link-style
|
|
name: Enforce https://doi.org/ style
|
|
description: Check DOI link style, see https://www.crossref.org/display-guidelines/
|
|
entry: '(?i)(doi:|dx\.doi\.org|http://doi\.org)'
|
|
language: pygrep
|
|
files: \.(rst|tex)$
|
|
- id: contrib-sort
|
|
name: Contributor sorting
|
|
description: Confirms alphabetical sorting of the CONTRIB.rst file
|
|
entry: bash -c 'for n in $(seq 0 "$#"); do grep "^- " "${!n}" | LC_ALL=C sort -u -c -f; done'
|
|
#entry: 'grep "^- " CONTRIB.rst | LC_ALL=C sort -u -c -f'
|
|
language: system
|
|
files: ^CONTRIB\.rst$
|
|
ci:
|
|
# Settings for the https://pre-commit.ci/ continuous integration service
|
|
autofix_prs: true
|
|
# Default message is more verbose
|
|
autoupdate_commit_msg: '[pre-commit.ci] autoupdate'
|
|
# Default is weekly
|
|
autoupdate_schedule: quarterly
|
|
# Currently pre-commit.ci checks all files, and all hooks takes too long
|
|
# and causes a timeout - so as a short-term workaround, skip flake8 etc:
|
|
skip: [
|
|
check-json,
|
|
mixed-line-ending,
|
|
flake8,
|
|
rstcheck,
|
|
doc8,
|
|
codespell,
|
|
doi-link-style
|
|
]
|