# Note: don't use this config for your own repositories. Instead, see
-# "Version control integration" in README.md.
-exclude: ^(blib2to3/|profiling/|tests/data/)
+# "Version control integration" in docs/integrations/source_version_control.md
+exclude: ^(src/blib2to3/|profiling/|tests/data/)
repos:
-- repo: local
+ - repo: local
hooks:
- - id: black
- name: black
- language: system
- entry: black
- types: [python]
- - id: flake8
- name: flake8
- language: system
- entry: flake8
- types: [python]
- - id: mypy
- name: mypy
- language: system
- entry: mypy
- types: [python]
- exclude: ^docs/conf.py
+ - 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==5.4.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.0.0
+ hooks:
+ - id: flake8
+ additional_dependencies:
+ - flake8-bugbear
+ - flake8-comprehensions
+ - flake8-simplify
+
+ - repo: https://github.com/pre-commit/mirrors-mypy
+ rev: v1.4.1
+ 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.0
+ 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