We typically use the PyPi MyPy instead of conda to have the most recent MyPy version:
pip install mypy
It’s often useful to have a per-project MyPy configuration file to avoid excessive command line options. Put a file .mypy.ini in each Python project containing:
[mypy] files = src/, scripts/ ignore_missing_imports = True strict_optional = False allow_redefinition = True show_error_context = False show_column_numbers = True
Where “files” is set appropriately for your project. Making a per-project files is strongly recommended to ensure files aren’t missed in the type check. One can make a system-wide ~/.mypy.ini, that is overridden by the per-project .mypy.ini.
Sometimes an external package adds type hinting that is incompatible with the current MyPy release. This is relatively rare, but was the case with Xarray. To ignore a package’s type hinting, add the following to .mypy.ini, where we assume we want to ignore xarray type checking.
[mypy-xarray] follow_imports = skip
Enhanced mypy usage is described at: