spack/pyproject.toml
Todd Gamblin eff7f20118
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
2021-07-09 11:52:23 +02:00

58 lines
1.4 KiB
TOML

[tool.isort]
profile = "black"
sections = [
"FUTURE",
"STDLIB",
"THIRDPARTY",
"ARCHSPEC", "LLNL", "FIRSTPARTY",
"LOCALFOLDER",
]
known_first_party = "spack"
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'