An easy but not fundamental solution for #2154 and #2212
Use uppercase for the package Pillow. An easy but not fundamental solution for #2154 and #2212
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.1"
    hooks:
      - id: pyupgrade
        args: ["--py39-plus"]

  - repo: https://github.com/hadialqattan/pycln
    rev: "v1.2.5"
    hooks:
      - id: pycln
        args: [--config=pyproject.toml]
        stages: [manual]

  - repo: https://github.com/psf/black
    rev: "22.1.0"
    hooks:
      - id: black

  - repo: https://github.com/pycqa/flake8
    rev: "4.0.1"
    hooks:
      - id: flake8
        additional_dependencies: [flake8-bugbear]

  - repo: https://github.com/pre-commit/mirrors-mypy
    rev: "v0.940"
    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$

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.1"
    hooks:
      - id: pyupgrade
        args: ["--py39-plus"]

  - repo: https://github.com/hadialqattan/pycln
    rev: "v1.2.5"
    hooks:
      - id: pycln
        args: [--config=pyproject.toml]
        stages: [manual]

  - repo: https://github.com/psf/black
    rev: "22.1.0"
    hooks:
      - id: black

  - repo: https://github.com/pycqa/flake8
    rev: "4.0.1"
    hooks:
      - id: flake8
        additional_dependencies: [flake8-bugbear]

  - repo: https://github.com/pre-commit/mirrors-mypy
    rev: "v0.940"
    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$
