Check types with mypy

This commit is contained in:
Hugo van Kemenade 2023-06-30 18:50:18 +03:00
parent fac2b6e413
commit b8605eaa84
3 changed files with 44 additions and 0 deletions

View File

@ -2,6 +2,9 @@ name: Lint
on: [push, pull_request, workflow_dispatch] on: [push, pull_request, workflow_dispatch]
env:
FORCE_COLOR: 1
permissions: permissions:
contents: read contents: read
@ -46,3 +49,6 @@ jobs:
run: tox -e lint run: tox -e lint
env: env:
PRE_COMMIT_COLOR: always PRE_COMMIT_COLOR: always
- name: Mypy
run: tox -e mypy

View File

@ -125,3 +125,34 @@ known-first-party = ["PIL"]
[tool.pytest.ini_options] [tool.pytest.ini_options]
addopts = "-ra --color=yes" addopts = "-ra --color=yes"
testpaths = ["Tests"] testpaths = ["Tests"]
[tool.mypy]
python_version = "3.8"
pretty = true
disallow_any_generics = true
enable_error_code = "ignore-without-code"
extra_checks = true
follow_imports = "silent"
warn_redundant_casts = true
warn_unreachable = true
warn_unused_ignores = true
exclude = [
'^src/PIL/_tkinter_finder.py$',
'^src/PIL/DdsImagePlugin.py$',
'^src/PIL/FpxImagePlugin.py$',
'^src/PIL/Image.py$',
'^src/PIL/ImageCms.py$',
'^src/PIL/ImageFile.py$',
'^src/PIL/ImageFont.py$',
'^src/PIL/ImageMath.py$',
'^src/PIL/ImageMorph.py$',
'^src/PIL/ImageQt.py$',
'^src/PIL/ImageShow.py$',
'^src/PIL/ImImagePlugin.py$',
'^src/PIL/MicImagePlugin.py$',
'^src/PIL/PdfParser.py$',
'^src/PIL/PyAccess.py$',
'^src/PIL/TiffImagePlugin.py$',
'^src/PIL/TiffTags.py$',
'^src/PIL/WebPImagePlugin.py$',
]

View File

@ -29,3 +29,10 @@ pass_env =
commands = commands =
pre-commit run --all-files --show-diff-on-failure pre-commit run --all-files --show-diff-on-failure
check-manifest check-manifest
[testenv:mypy]
skip_install = true
deps =
mypy==1.7.1
commands =
mypy src {posargs}