exclude: (^.*patches|.*\.cgi$|^packages/micropip/src/micropip/externals|^benchmark/benchmarks$) default_language_version: python: "3.9" repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: "v4.1.0" hooks: - id: check-added-large-files - id: check-case-conflict - id: check-merge-conflict - id: check-symlinks - id: check-yaml exclude: .clang-format - id: debug-statements - id: end-of-file-fixer - id: mixed-line-ending - id: trailing-whitespace - repo: https://github.com/PyCQA/isort rev: "5.10.1" hooks: - id: isort - repo: https://github.com/asottile/pyupgrade rev: "v2.31.0" hooks: - id: pyupgrade args: ["--py39-plus"] - repo: https://github.com/hadialqattan/pycln rev: "v1.2.0" hooks: - id: pycln args: [--config=pyproject.toml] stages: [manual] - repo: https://github.com/psf/black rev: "22.1.0" hooks: - id: black - repo: https://gitlab.com/pycqa/flake8 rev: "4.0.1" hooks: - id: flake8 additional_dependencies: [flake8-bugbear] - repo: https://github.com/pre-commit/mirrors-mypy rev: "v0.931" hooks: - id: mypy args: - --show-error-codes - --ignore-missing-imports files: ^(src/|packages/.*/test|conftest.py|docs/) additional_dependencies: &mypy-deps - packaging - types-docutils - types-pyyaml - types-setuptools - id: mypy name: mypy-micropip files: ^packages/micropip/src/ args: &mypy-args - --show-error-codes additional_dependencies: *mypy-deps - id: mypy name: mypy-pyodide-build files: ^pyodide-build/pyodide_build/ args: *mypy-args additional_dependencies: *mypy-deps - repo: https://github.com/pre-commit/mirrors-clang-format rev: "v13.0.1" hooks: - id: clang-format types_or: [c++, c, cuda] - repo: https://github.com/pre-commit/mirrors-prettier rev: "v2.5.1" hooks: - id: prettier - repo: https://github.com/pre-commit/pygrep-hooks rev: "v1.9.0" hooks: - id: python-check-blanket-noqa - id: python-check-blanket-type-ignore - id: python-no-log-warn - id: python-no-eval exclude: ^(src/py/_pyodide/_base\.py|src/tests/test_typeconversions\.py)$ - id: python-use-type-annotations exclude: docs/sphinx_pyodide/tests/test_directives\.py - id: rst-backticks - id: rst-directive-colons - id: rst-inline-touching-normal - repo: https://github.com/shellcheck-py/shellcheck-py rev: "v0.8.0.4" hooks: - id: shellcheck - repo: https://github.com/codespell-project/codespell rev: "v2.1.0" hooks: - id: codespell args: ["-L", "te,slowy,aray,ba,nd,classs"] exclude: ^benchmark/benchmarks/pystone_benchmarks/pystone\.py$