repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.2.0 hooks: - id: check-case-conflict - id: check-merge-conflict - id: check-yaml - id: check-toml - id: debug-statements - id: end-of-file-fixer exclude: (cibuildwheel/resources/pinned_docker_images.cfg)|(.svg$) - id: mixed-line-ending - id: trailing-whitespace - repo: https://github.com/asottile/pyupgrade rev: v2.32.1 hooks: - id: pyupgrade name: PyUpgrade 3.6+ args: ["--py36-plus"] exclude: ^bin/ - id: pyupgrade name: PyUpgrade 3.7+ on bin exclude: ^(cibuildwheel|unit_test|test)/ args: ["--py37-plus"] # Autoremoves unused imports - repo: https://github.com/hadialqattan/pycln rev: v1.3.3 hooks: - id: pycln args: [--all] stages: [manual] - repo: https://github.com/PyCQA/isort rev: 5.10.1 hooks: - id: isort - repo: https://github.com/psf/black rev: 22.3.0 hooks: - id: black - repo: https://github.com/asottile/setup-cfg-fmt rev: v1.20.1 hooks: - id: setup-cfg-fmt - repo: https://github.com/pre-commit/mirrors-mypy rev: v0.960 hooks: - id: mypy name: mypy 3.6 on cibuildwheel/ exclude: ^(bin|cibuildwheel/resources|docs)/.*py$ args: ["--python-version=3.6"] additional_dependencies: &mypy-dependencies - nox - packaging>=21.0 - pygithub - rich - tomli - types-certifi - types-click - types-dataclasses - types-jinja2 - types-pyyaml - types-requests - bracex - dataclasses - id: mypy name: mypy 3.7+ on bin/ files: ^((bin|docs)/.*py)$ args: ["--python-version=3.7"] additional_dependencies: *mypy-dependencies - id: mypy name: mypy 3.10 args: ["--python-version=3.10"] additional_dependencies: *mypy-dependencies - repo: https://github.com/asottile/yesqa rev: v1.3.0 hooks: - id: yesqa additional_dependencies: &flake8-dependencies - flake8-bugbear - repo: https://github.com/PyCQA/flake8 rev: 4.0.1 hooks: - id: flake8 exclude: cibuildwheel/resources/ additional_dependencies: *flake8-dependencies - repo: https://github.com/pre-commit/pygrep-hooks rev: v1.9.0 hooks: - id: python-check-blanket-noqa stages: [manual] - id: python-no-log-warn - id: python-no-eval - id: python-use-type-annotations - repo: https://github.com/shellcheck-py/shellcheck-py rev: v0.8.0.4 hooks: - id: shellcheck - repo: local hooks: - id: disallow-caps name: Disallow improper capitalization language: pygrep entry: PyBind|Numpy|Cmake|Github|PyTest types: - markdown - id: update-readme-changelog name: Update README changelog language: python entry: bin/update_readme_changelog.py files: ^docs/changelog.md$ - repo: https://github.com/codespell-project/codespell rev: v2.1.0 hooks: - id: codespell args: ["-L", "sur"]