# Note: don't use this config for your own repositories. Instead, see
# "Version control integration" in docs/integrations/source_version_control.md
exclude: ^(profiling/|tests/data/)
repos:
  - repo: local
    hooks:
      - id: check-pre-commit-rev-in-example
        name: Check pre-commit rev in example
        language: python
        entry: python -m scripts.check_pre_commit_rev_in_example
        files: '(CHANGES\.md|source_version_control\.md)$'
        additional_dependencies:
          &version_check_dependencies [
            commonmark==0.9.1,
            pyyaml==6.0.1,
            beautifulsoup4==4.9.3,
          ]

      - id: check-version-in-the-basics-example
        name: Check black version in the basics example
        language: python
        entry: python -m scripts.check_version_in_basics_example
        files: '(CHANGES\.md|the_basics\.md)$'
        additional_dependencies: *version_check_dependencies

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

  - repo: https://github.com/pycqa/flake8
    rev: 6.1.0
    hooks:
      - id: flake8
        additional_dependencies:
          - flake8-bugbear
          - flake8-comprehensions
          - flake8-simplify
        exclude: ^src/blib2to3/

  - repo: https://github.com/pre-commit/mirrors-mypy
    rev: v1.5.0
    hooks:
      - id: mypy
        exclude: ^docs/conf.py
        additional_dependencies:
          - types-PyYAML
          - tomli >= 0.2.6, < 2.0.0
          - click >= 8.1.0, != 8.1.4, != 8.1.5
          - packaging >= 22.0
          - platformdirs >= 2.1.0
          - pytest
          - hypothesis

  - repo: https://github.com/pre-commit/mirrors-prettier
    rev: v3.0.1
    hooks:
      - id: prettier
        exclude: \.github/workflows/diff_shades\.yml

  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.4.0
    hooks:
      - id: end-of-file-fixer
      - id: trailing-whitespace

ci:
  autoupdate_schedule: quarterly
