From eff7f20118a3334fede8d8aff506afa98f7ec5de Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Fri, 9 Jul 2021 02:52:23 -0700 Subject: mypy: move configuration to pyproject.toml (#24802) This moves our `mypy` configuration from `.mypy.ini` to `.pyproject.toml` and increases the minimum `mypy` version in the tests. - [x] move `mypy` configuration to `pyproject.toml` - [x] remove `.mypy.ini` - [x] ensure that `mypy` version .900 or higher is used in tests --- pyproject.toml | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'pyproject.toml') 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' -- cgit v1.2.3-60-g2f50