[mypy] files = lib/**/*.py,tests/**/*.py # Some of our code "reuses" variable names in different blocks. Mypy doesn't like that by default. allow_redefinition = True # We use class properties, which mypy considers an error, probably because it's going to be deprecated. # Ignore that for now. disable_error_code = misc # A handful of strictness increases we can pass as it is warn_unused_configs = True warn_redundant_casts = True warn_unused_ignores = True strict_equality = True extra_checks = True disallow_subclassing_any = True disallow_untyped_decorators = True # An example of increased strictness: We can increase the strictness of parts of the code as we go. [mypy-lib.elements.clone] check_untyped_defs = True disallow_incomplete_defs = True disallow_untyped_defs = True # This part of the code will need some work before it'll start passing. [mypy-lib.tartan.*] ignore_errors = True # These libraries are missing type information [mypy-colormath2.*] ignore_missing_imports = True [mypy-winutils.*] ignore_missing_imports = True # ... And this one is ours but is missing type information for now anyway... [mypy-pyembroidery.*] ignore_missing_imports = True follow_imports = skip