repos:
  - repo: https://github.com/psf/black
    rev: 911470a610e47d9da5ea938b0887c3df62819b85  # frozen: 21.9b0
    hooks:
      - id: black
        args: ["--target-version", "py37"]
        # Only .py files, until https://github.com/psf/black/issues/402 resolved
        files: \.py$
        types: []

  - repo: https://github.com/PyCQA/isort
    rev: fd5ba70665a37ec301a1f714ed09336048b3be63  # frozen: 5.9.3
    hooks:
      - id: isort

  - repo: https://github.com/asottile/yesqa
    rev: 644ede78511c02fc6f8e03e014cc1ddcfbf1e1f5  # frozen: v1.2.3
    hooks:
      - id: yesqa

  - repo: https://github.com/Lucas-C/pre-commit-hooks
    rev: 3592548bbd98528887eeed63486cf6c9bae00b98  # frozen: v1.1.10
    hooks:
      - id: remove-tabs
        exclude: (Makefile$|\.bat$|\.cmake$|\.eps$|\.fits$|\.opt$)

  - repo: https://github.com/PyCQA/flake8
    rev: dcd740bc0ebaf2b3d43e59a0060d157c97de13f3  # frozen: 3.9.2
    hooks:
      - id: flake8
        additional_dependencies: [flake8-2020, flake8-implicit-str-concat]

  - repo: https://github.com/pre-commit/pygrep-hooks
    rev: 6f51a66bba59954917140ec2eeeaa4d5e630e6ce  # frozen: v1.9.0
    hooks:
      - id: python-check-blanket-noqa
      - id: rst-backticks

  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: 38b88246ccc552bffaaf54259d064beeee434539  # frozen: v4.0.1
    hooks:
      - id: check-merge-conflict
      - id: check-yaml

ci:
  autoupdate_schedule: quarterly
