# Specify the target platform details in config, so your developers are
# free to run mypy on Windows, Linux, or macOS and get consistent
# results.
-python_version=3.6
+python_version=3.8
mypy_path=src
show_column_numbers=True
-
-# show error messages from unrelated files
-follow_imports=normal
-
-# suppress errors about unsatisfied imports
-ignore_missing_imports=True
+show_error_codes=True
# be strict
-disallow_untyped_calls=True
-warn_return_any=True
-strict_optional=True
-warn_no_return=True
-warn_redundant_casts=True
-warn_unused_ignores=True
-disallow_any_generics=True
-no_implicit_optional=True
+strict=True
+
+# except for...
+no_implicit_reexport = False
# Unreachable blocks have been an issue when compiling mypyc, let's try
# to avoid 'em in the first place.
warn_unreachable=True
-# The following are off by default. Flip them on if you feel
-# adventurous.
-disallow_untyped_defs=True
-check_untyped_defs=True
+[mypy-blib2to3.driver.*]
+ignore_missing_imports = True
+
+[mypy-IPython.*]
+ignore_missing_imports = True
+
+[mypy-colorama.*]
+ignore_missing_imports = True
+
+[mypy-pathspec.*]
+ignore_missing_imports = True
+
+[mypy-tokenize_rt.*]
+ignore_missing_imports = True
+
+[mypy-uvloop.*]
+ignore_missing_imports = True
+
+[mypy-_black_version.*]
+ignore_missing_imports = True
-[mypy-black]
-# The following is because of `patch_click()`. Remove when
-# we drop Python 3.6 support.
-warn_unused_ignores=False
+# CI only checks src/, but in case users are running LSP or similar we explicitly ignore
+# errors in test data files.
+[mypy-tests.data.*]
+ignore_errors = True