default_language_version: python: python3.12 repos: - repo: https://github.com/asottile/pyupgrade rev: v3.21.2 hooks: - id: pyupgrade args: [--py312-plus] - repo: https://github.com/psf/black rev: 26.3.1 hooks: - id: black language_version: python3.12 - repo: https://github.com/pycqa/flake8 rev: 7.3.0 hooks: - id: flake8 language_version: python3.12 additional_dependencies: [flake8-docstrings] exclude: '^(tests)/' # - repo: https://github.com/PyCQA/isort # rev: 7.0.0 # hooks: # - id: isort # args: [--profile, black] - repo: https://github.com/pre-commit/pre-commit-hooks rev: v6.0.0 hooks: - id: check-ast exclude: '^(third_party)/' - id: check-json exclude: '.devcontainer/devcontainer.json' # this supports JSON with comments - id: check-toml - id: check-xml - id: check-yaml - id: check-merge-conflict - id: check-symlinks - id: check-executables-have-shebangs - id: check-shebang-scripts-are-executable - id: check-added-large-files args: ['--maxkb=100'] - id: trailing-whitespace types: [python] - id: end-of-file-fixer types: [file] files: \.(py|js|vue)$ # - repo: https://github.com/executablebooks/mdformat # rev: 0.7.22 # hooks: # - id: mdformat # name: mdformat # entry: mdformat . # language_version: python3.12 # files: "docs/.*\\.md$" - repo: https://github.com/hadialqattan/pycln rev: v2.6.0 hooks: - id: pycln - repo: https://github.com/isidentical/teyit rev: 0.4.3 hooks: - id: teyit - repo: https://github.com/python-poetry/poetry rev: '2.4.1' hooks: - id: poetry-check name: validate poetry lock args: - --lock - repo: https://github.com/codespell-project/codespell rev: v2.4.2 hooks: - id: codespell exclude: '^(third_party/)|(poetry.lock)|(ui/package-lock.json)|(agentic_security/static/.*)' args: # if you've got a short variable name that's getting flagged, add it here - -L bu,ro,te,ue,alo,hda,ois,nam,nams,ned,som,parm,setts,inout,warmup,bumb,nd,sie,vEw,inh - --builtins clear,rare,informal,usage,code,names,en-GB_to_en-US