Usually it’s desired to check Python type annotations for an entire project. However, when introducing type checking to a large Python project, it can be beneficial to introduce type checking gradually, to avoid massive refactoring all at once. You will almost certainly find old code bugs due to type checking that will require refactoring, which introduces risk. Mitigate this risk by introducing type checking gradually.
MyPy is a strongly recommended type checker, though others exist. Use pyproject.toml to configure MyPy default behavior. To tell MyPy to only check certain files, use the MyPy –follow-imports= option like:
mypy --follow-imports=skip myproj/foo.py myproj/bar.py
Only certain directories can be checked like:
mypy --follow-imports=skip myproj/sub/ myproj/sub2
Once the type checks pass via
mypy --follow-imports=skip, we recommend trying
to improve robustness of the type check for those files / directories.
Enhanced mypy usage