ci:
  autofix_prs: false

repos:
  - repo: https://github.com/asottile/pyupgrade
    rev: v2.38.2
    hooks:
      - id: pyupgrade
        args:
          - --py37-plus

  - repo: https://github.com/pycqa/isort
    rev: 5.10.1
    hooks:
      - id: isort

  - repo: https://github.com/hadialqattan/pycln
    rev: v2.1.1
    hooks:
      - id: pycln
        args: [--all]

  - repo: https://github.com/psf/black
    rev: 22.8.0
    hooks:
      - id: black

  - repo: https://github.com/asottile/yesqa
    rev: v1.4.0
    hooks:
      - id: yesqa
        additional_dependencies: &flake8_deps
          - flake8-broken-line==0.5.0
          - flake8-bugbear==22.8.23
          - flake8-comprehensions==3.10.0
          - flake8-eradicate==1.3.0
          - flake8-quotes==3.3.1
          - flake8-simplify==0.19.3
          - flake8-tidy-imports==4.8.0
          - flake8-type-checking==2.1.2
          - flake8-typing-imports==1.13.0
          - flake8-use-fstring==1.4
          - pep8-naming==0.13.2

  - repo: https://github.com/pycqa/flake8
    rev: 5.0.4
    hooks:
      - id: flake8
        additional_dependencies: *flake8_deps

  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.3.0
    hooks:
      - id: trailing-whitespace
        exclude: ^tests/.*/fixtures/.*
      - id: end-of-file-fixer
        exclude: ^tests/.*/fixtures/.*
      - id: debug-statements
