---
default_language_version:
  # force all unspecified python hooks to run python3
  python: python3
repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.4.0
    hooks:
      - id: trailing-whitespace
      - id: mixed-line-ending
        args: ['--fix', 'lf']
        exclude: '.*\.(svg)$'
      - id: check-byte-order-marker
      - id: check-executables-have-shebangs
      - id: check-merge-conflict
      - id: debug-statements
      - id: check-yaml
        files: .*\.(yaml|yml)$
        args: ['--unsafe']
  - repo: https://github.com/psf/black
    rev: 23.3.0
    hooks:
      - id: black
        args: ['-S', '-l', '79']
  - repo: https://github.com/PyCQA/bandit
    rev: 1.7.5
    hooks:
      - id: bandit
        args: ['-x', 'tests', '-s', 'B105,B106,B107,B401,B404,B603,B606,B607,B110,B605,B101']
  - repo: local
    hooks:
      - id: flake8
        name: flake8
        additional_dependencies:
          - hacking>=6.0.1,<6.1.0
          - flake8-import-order>=0.18.2,<0.19.0
        language: python
        entry: flake8
        files: '^.*\.py$'
        exclude: '^(doc|releasenotes|tools)/.*$'
