repos:
  - repo: https://github.com/asottile/pyupgrade
    rev: v3.3.1
    hooks:
      - id: pyupgrade
        args: ["--py39-plus"]
  - repo: https://github.com/ambv/black
    rev: 23.1.0
    hooks:
      - id: black
        language_version: python3
        args:
          - --safe
          - --quiet
        files: ^(aioshelly/.+)?[^/]+\.py$
  - repo: https://github.com/codespell-project/codespell
    rev: v2.2.2
    hooks:
      - id: codespell
        args:
          - --ignore-words-list=hass,alot,datas,dof,dur,farenheit,hist,iff,ines,ist,lightsensor,mut,nd,pres,referer,ser,serie,te,technik,ue,uint,visability,wan,wanna,withing,iam,incomfort
          - --skip="./.*,*.csv,*.json"
          - --quiet-level=2
        exclude_types: [csv, json]
  - repo: https://github.com/pycqa/flake8
    rev: 6.0.0
    hooks:
      - id: flake8
        additional_dependencies:
          - flake8-docstrings==1.6.0
        files: ^aioshelly/.+\.py$
        args:
          - --max-line-length=500
          - --ignore=E203,E266,E501,W503
          - --max-complexity=18
          - --select=B,C,E,F,W,T4,B9
  - repo: https://github.com/PyCQA/bandit
    rev: 1.7.4
    hooks:
      - id: bandit
        args:
          - --quiet
          - --format=custom
          - --configfile=bandit.yaml
        files: ^aioshelly/.+\.py$
  - repo: https://github.com/pycqa/isort
    rev: 5.12.0
    hooks:
      - id: isort
        args:
          - --multi-line=3
          - --trailing-comma
          - --force-grid-wrap=0
          - --use-parentheses
          - --line-width=88
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.4.0
    hooks:
      - id: check-executables-have-shebangs
        stages: [manual]
      - id: no-commit-to-branch
        args:
          - --branch=main
      - id: trailing-whitespace
      - id: end-of-file-fixer
      - id: check-docstring-first
      - id: check-yaml
      - id: debug-statements
  - repo: https://github.com/PyCQA/pydocstyle
    rev: 6.3.0
    hooks:
      - id: pydocstyle
  - repo: https://github.com/adrienverge/yamllint.git
    rev: v1.29.0
    hooks:
      - id: yamllint
  - repo: https://github.com/pre-commit/mirrors-prettier
    rev: v2.7.1
    hooks:
      - id: prettier
        stages: [manual]
  - repo: https://github.com/pre-commit/mirrors-mypy
    rev: "v0.991"
    hooks:
      - id: mypy
        files: ^aioshelly/.+\.py$