exclude: 'build'

default_language_version:
    python: python3

repos:
-   repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v5.0.0
    hooks:
    -   id: trailing-whitespace
    -   id: check-ast
    -   id: check-merge-conflict
    -   id: no-commit-to-branch
        args: ['--branch=main']
    -   id: check-added-large-files
        args: ['--maxkb=1000']
    -   id: end-of-file-fixer
        exclude: '^(.*\.svg)$'

-   repo: https://github.com/Lucas-C/pre-commit-hooks
    rev: v1.5.5
    hooks:
    -   id: insert-license
        files: \.py$|\.sh$
        args:
        - --license-filepath
        - docs/license_header.txt

-   repo: https://github.com/pycqa/flake8
    rev: 7.1.1
    hooks:
    -   id: flake8
        additional_dependencies:
          - flake8-bugbear == 22.4.25
          - pep8-naming == 0.12.1
          - torchfix
        args: ['--config=.flake8']

-   repo: https://github.com/omnilib/ufmt
    rev: v2.8.0
    hooks:
    -   id: ufmt
        additional_dependencies:
          - black == 22.12.0
          - usort == 1.0.5

- repo: https://github.com/jsh9/pydoclint
  rev: 0.5.12
  hooks:
    - id: pydoclint
      args: [--config=pyproject.toml]

- repo: https://github.com/astral-sh/ruff-pre-commit
  rev: v0.11.10
  hooks:
    - id: ruff-check
      args: [ --fix ]
