Spaces:
Running
Running
default_language_version: | |
python: python3 | |
repos: | |
- repo: https://github.com/pre-commit/pre-commit-hooks | |
rev: v4.4.0 | |
hooks: | |
# list of supported hooks: https://pre-commit.com/hooks.html | |
- id: trailing-whitespace | |
- id: end-of-file-fixer | |
- id: check-docstring-first | |
- id: check-yaml | |
- id: debug-statements | |
- id: detect-private-key | |
- id: check-executables-have-shebangs | |
- id: check-toml | |
- id: check-case-conflict | |
# python code formatting | |
- repo: https://github.com/psf/black | |
rev: 23.3.0 | |
hooks: | |
- id: black | |
args: [--line-length, "99"] | |
# python import sorting | |
- repo: https://github.com/PyCQA/isort | |
rev: 5.12.0 | |
hooks: | |
- id: isort | |
args: ["--profile", "black", "--filter-files"] | |
# python upgrading syntax to newer version | |
- repo: https://github.com/asottile/pyupgrade | |
rev: v3.3.1 | |
hooks: | |
- id: pyupgrade | |
args: [--py38-plus] | |
# python docstring formatting | |
- repo: https://github.com/myint/docformatter | |
rev: v1.5.1 | |
hooks: | |
- id: docformatter | |
args: [--in-place, --wrap-summaries=99, --wrap-descriptions=99] | |
# python check (PEP8), programming errors and code complexity | |
- repo: https://github.com/PyCQA/flake8 | |
rev: 6.0.0 | |
hooks: | |
- id: flake8 | |
args: | |
[ | |
"--extend-ignore", | |
"E402", | |
"--per-file-ignores", | |
"__init__.py:F401", | |
"--exclude", | |
"artifacts/*,data/*,logs/*", | |
"--max-line-length", | |
"99", | |
] | |
# python security linter | |
- repo: https://github.com/PyCQA/bandit | |
rev: "1.7.5" | |
hooks: | |
- id: bandit | |
args: ["-s", "B101,B202"] | |
# python type checker | |
- repo: https://github.com/mattseymour/pre-commit-pytype | |
rev: 2022.4.26 | |
hooks: | |
- id: pytype | |
args: ["--disable", "import-error,not-supported-yet", "-n", "auto"] | |
# yaml formatting | |
- repo: https://github.com/pre-commit/mirrors-prettier | |
rev: v3.0.0-alpha.6 | |
hooks: | |
- id: prettier | |
types: [yaml] | |
# shell scripts linter | |
- repo: https://github.com/shellcheck-py/shellcheck-py | |
rev: v0.9.0.2 | |
hooks: | |
- id: shellcheck | |
# md formatting | |
- repo: https://github.com/executablebooks/mdformat | |
rev: 0.7.16 | |
hooks: | |
- id: mdformat | |
args: ["--number"] | |
additional_dependencies: | |
- mdformat-gfm | |
- mdformat-tables | |
- mdformat_frontmatter | |
# - mdformat-toc | |
# - mdformat-black | |
# word spelling linter | |
- repo: https://github.com/codespell-project/codespell | |
rev: v2.2.4 | |
hooks: | |
- id: codespell | |
args: | |
- --skip=artifacts/**,data/**,logs/**,*.ipynb,*.bib,*.js | |
- --ignore-words-list=bu | |
# jupyter notebook cell output clearing | |
- repo: https://github.com/kynan/nbstripout | |
rev: 0.6.1 | |
hooks: | |
- id: nbstripout | |
# jupyter notebook linting | |
- repo: https://github.com/nbQA-dev/nbQA | |
rev: 1.7.0 | |
hooks: | |
- id: nbqa-black | |
args: ["--line-length=99"] | |
- id: nbqa-isort | |
args: ["--profile=black"] | |
- id: nbqa-flake8 | |
args: | |
[ | |
"--extend-ignore=E203,E402,E501,F401,F841", | |
"--exclude=artifacts/*,data/*,logs/*", | |
] | |