summaryrefslogtreecommitdiff
path: root/pyproject.toml
diff options
context:
space:
mode:
Diffstat (limited to 'pyproject.toml')
-rw-r--r--pyproject.toml44
1 files changed, 44 insertions, 0 deletions
diff --git a/pyproject.toml b/pyproject.toml
index fc8dd4e428..74b7ec8e1e 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -12,3 +12,47 @@ known_archspec = "archspec"
known_llnl = "llnl"
src_paths = "lib"
honor_noqa = true
+
+[tool.mypy]
+python_version = 3.7
+files = ['lib/spack/llnl/**/*.py', 'lib/spack/spack/**/*.py']
+mypy_path = ['bin', 'lib/spack', 'lib/spack/external', 'var/spack/repos/builtin']
+
+# This and a generated import file allows supporting packages
+namespace_packages = true
+
+# To avoid re-factoring all the externals, ignore errors and missing imports
+# globally, then turn back on in spack and spack submodules
+ignore_errors = true
+ignore_missing_imports = true
+
+[[tool.mypy.overrides]]
+module = 'spack.*'
+ignore_errors = false
+ignore_missing_imports = false
+
+[[tool.mypy.overrides]]
+module = 'packages.*'
+ignore_errors = false
+ignore_missing_imports = false
+
+[[tool.mypy.overrides]]
+module = 'llnl.*'
+ignore_errors = false
+ignore_missing_imports = false
+
+[[tool.mypy.overrides]]
+module = 'spack.test.packages'
+ignore_errors = true
+
+# ignore errors in fake import path for packages
+[[tool.mypy.overrides]]
+module = 'spack.pkg.*'
+ignore_errors = true
+ignore_missing_imports = true
+
+# jinja has syntax in it that requires python3 and causes a parse error
+# skip importing it
+[[tool.mypy.overrides]]
+module = 'jinja2'
+follow_imports = 'skip'