zulip/mypy.ini

39 lines
1.3 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
# Options to make the checking stricter.
check_untyped_defs = True
disallow_untyped_defs = True
disallow_any_generics = True
warn_no_return = True
strict_optional = True
no_implicit_optional = True
warn_redundant_casts = True
warn_unused_ignores = 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
[mypy-markdown.*]
# The typeshed stubs for markdown in mypy 0.790 are very broken;
# ignore them for now. (https://github.com/python/typeshed/pull/4758)
follow_imports = skip
follow_imports_for_stubs = True