repos:
  - repo: https://github.com/asottile/pyupgrade
    rev: v3.3.1
    hooks:
      - id: pyupgrade
        args: [--py38-plus]

  - repo: https://github.com/PyCQA/autoflake
    rev: v2.0.2
    hooks:
      - id: autoflake

  - repo: https://github.com/psf/black
    rev: 23.3.0
    hooks:
      - id: black
        args:
          - --quiet
          - --safe

  - repo: https://github.com/pycqa/flake8
    rev: 6.1.0
    hooks:
      - id: flake8
        additional_dependencies:
          - flake8-docstrings==1.5.0
          - pydocstyle==5.1.1
          - Flake8-pyproject==1.2.3

  - repo: https://github.com/PyCQA/isort
    rev: 5.12.0
    hooks:
      - id: isort

  - repo: https://github.com/codespell-project/codespell
    rev: v2.3.0
    hooks:
      - id: codespell
        additional_dependencies: [tomli]
        args: ["--toml", "pyproject.toml"]
  
  - repo: https://github.com/charliermarsh/ruff-pre-commit
    rev: v0.0.261
    hooks:
      - id: ruff
        args:
          - --fix