repos:
  - repo: https://github.com/psf/black
    rev: 24.8.0
    hooks:
      - id: black
  - repo: https://github.com/pycqa/isort
    rev: 5.13.2
    hooks:
      - id: isort
  - repo: https://github.com/pycqa/flake8
    rev: 7.1.1
    hooks:
      - id: flake8
  - repo: https://github.com/pycqa/doc8
    rev: v1.1.1
    hooks:
      - id: doc8
  - repo: https://github.com/pre-commit/mirrors-prettier
    # rev: see
    #   https://github.com/pre-commit/mirrors-prettier/issues/29#issuecomment-1332667344
    rev: v2.7.1
    hooks:
      - id: prettier
        files: '\.(css|html|jsx?|md|tsx?|ya?ml)$'
        additional_dependencies:
          - prettier@2.8.3
  - repo: https://github.com/pre-commit/pygrep-hooks
    rev: v1.10.0
    hooks:
      - id: python-check-blanket-noqa
      - id: python-check-blanket-type-ignore
      - id: python-no-eval
      - id: python-no-log-warn
      - id: python-use-type-annotations
      # - id: rst-backticks
      #   (no: some docs source uses single backticks expecting Sphinx default_role)
      - id: rst-directive-colons
      - id: rst-inline-touching-normal
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.6.0
    hooks:
      - id: check-json
      - id: check-toml
      - id: check-yaml
      - id: end-of-file-fixer
        exclude: "\\.(bin|raw)$"
      - id: fix-byte-order-marker
      - id: fix-encoding-pragma
        args: [--remove]
      - id: forbid-submodules
      - id: mixed-line-ending
      - id: requirements-txt-fixer
      - id: trailing-whitespace
