zulip/mypy.ini

41 lines
1.4 KiB
INI

[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