# 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
-platform=linux
+python_version=3.8
+
+mypy_path=src
-# flake8-mypy expects the two following for sensible formatting
show_column_numbers=True
+show_error_codes=True
-# show error messages from unrelated files
-follow_imports=normal
+# be strict
+strict=True
-# suppress errors about unsatisfied imports
-ignore_missing_imports=True
+# except for...
+no_implicit_reexport = False
-# 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
-
-# The following are off by default. Flip them on if you feel
-# adventurous.
-disallow_untyped_defs=True
-check_untyped_defs=True
-
-# No incremental mode
-cache_dir=/dev/null
-
-[mypy-aiohttp.*]
-follow_imports=skip
-[mypy-_version]
-follow_imports=skip
+# Unreachable blocks have been an issue when compiling mypyc, let's try
+# to avoid 'em in the first place.
+warn_unreachable=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
+
+# 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