default_language_version:
    python: python3.11

default_stages: [commit, push]

repos:
    - repo: https://github.com/pre-commit/pre-commit-hooks
      rev: v2.5.0
      hooks:
          - id: check-yaml
          - id: end-of-file-fixer
            exclude: LICENSE

    - repo: local
      hooks:
          - id: pyupgrade
            name: pyupgrade
            entry: poetry run pyupgrade --py311-plus
            types: [python]
            language: system

    - repo: local
      hooks:
          - id: isort
            name: isort
            entry: poetry run isort --settings-path pyproject.toml
            types: [python]
            language: system

    - repo: local
      hooks:
          - id: black
            name: black
            entry: poetry run black --config pyproject.toml
            types: [python]
            language: system

    - repo: local
      hooks:
          - id: mypy
            name: mypy
            entry: poetry run mypy --config pyproject.toml
            types: [python]
            language: system
