[mypy] # Logistics of what code to check and how to handle the data. scripts_are_modules = True show_traceback = True # See https://zulip.readthedocs.io/en/latest/testing/mypy.html#mypy-stubs-for-third-party-modules # for notes on how we manage mypy stubs. mypy_path = $MYPY_CONFIG_FILE_DIR/stubs cache_dir = $MYPY_CONFIG_FILE_DIR/var/mypy-cache # These are all the options that would be enabled by mypy --strict, in # the order listed by the mypy --help documentation of --strict. We # do not yet enable all of them. warn_unused_configs = True disallow_any_generics = True disallow_subclassing_any = False disallow_untyped_calls = False disallow_untyped_defs = True disallow_incomplete_defs = True check_untyped_defs = True disallow_untyped_decorators = False no_implicit_optional = True warn_redundant_casts = True warn_unused_ignores = True warn_return_any = False no_implicit_reexport = False strict_equality = True # Display the codes needed for # type: ignore[code] annotations. show_error_codes = True # We use a lot of third-party libraries we don't have stubs for, as # well as a handful of our own modules that we haven't told mypy how # to find. Ignore them. (For some details, see: # `git log -p -S ignore_missing_imports mypy.ini`.) # # This doesn't get in the way of using the stubs we *do* have. ignore_missing_imports = True # Warn of unreachable or redundant code. warn_unreachable = True