[mypy] pretty = True show_error_codes = True # Exclude _files.py because mypy isn't smart enough to apply # the correct type narrowing and as this is an internal module # it's fine to just use Pyright. # # We also exclude our `tests` as mypy doesn't always infer # types correctly and Pyright will still catch any type errors. exclude = ^(src/modern_treasury/_files\.py|_dev/.*\.py|tests/.*)$ strict_equality = True implicit_reexport = True check_untyped_defs = True no_implicit_optional = True warn_return_any = True warn_unreachable = True warn_unused_configs = True # Turn these options off as it could cause conflicts # with the Pyright options. warn_unused_ignores = False warn_redundant_casts = False disallow_any_generics = True disallow_untyped_defs = True disallow_untyped_calls = True disallow_subclassing_any = True disallow_incomplete_defs = True disallow_untyped_decorators = True cache_fine_grained = True # By default, mypy reports an error if you assign a value to the result # of a function call that doesn't return anything. We do this in our test # cases: # ``` # result = ... # assert result is None # ``` # Changing this codegen to make mypy happy would increase complexity # and would not be worth it. disable_error_code = func-returns-value # https://github.com/python/mypy/issues/12162 [mypy.overrides] module = "black.files.*" ignore_errors = true ignore_missing_imports = true