repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.6.0 hooks: # list of supported hooks: https://pre-commit.com/hooks.html - id: trailing-whitespace exclude: .svg$ require_serial: true - id: end-of-file-fixer require_serial: true - id: check-docstring-first require_serial: true - id: check-yaml require_serial: true - id: debug-statements require_serial: true - id: detect-private-key require_serial: true - id: check-executables-have-shebangs require_serial: true - id: check-toml require_serial: true - id: check-case-conflict require_serial: true - id: check-added-large-files require_serial: true # python upgrading syntax to newer version - repo: https://github.com/asottile/pyupgrade rev: v3.17.0 hooks: - id: pyupgrade require_serial: true args: [--py38-plus] - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.5.5 hooks: - id: ruff args: [--fix] - id: ruff-format # python security linter - repo: https://github.com/gitleaks/gitleaks rev: v8.18.2 hooks: - id: gitleaks # yaml formatting - repo: https://github.com/pre-commit/mirrors-prettier rev: v3.0.0 hooks: - id: prettier require_serial: true types: [yaml] # shell scripts linter - repo: https://github.com/shellcheck-py/shellcheck-py rev: v0.9.0.5 hooks: - id: shellcheck require_serial: true args: ["-e", "SC2102"] - repo: https://github.com/pre-commit/mirrors-prettier rev: v4.0.0-alpha.8 hooks: - id: prettier # To avoid conflicts, tell prettier to ignore file types # that ruff already handles. exclude_types: [python] # word spelling linter - repo: https://github.com/codespell-project/codespell rev: v2.2.5 hooks: - id: codespell require_serial: true args: - --skip=logs/**,data/**,*.ipynb - --ignore-words-list=ot,hist # jupyter notebook linting - repo: https://github.com/nbQA-dev/nbQA rev: 1.7.0 hooks: - id: nbqa-black args: ["--line-length=99"] require_serial: true - id: nbqa-isort args: ["--profile=black"] require_serial: true - id: nbqa-flake8 args: [ "--extend-ignore=E203,E402,E501,F401,F841,F821,F403,F405,F811", "--exclude=logs/*,data/*,notebooks/*", ] require_serial: true