| # This is a MyPy config file but unlike mypy.ini, it enforces very strict typing |
| # rules. The intention is for this config file to be used to ENFORCE that |
| # people are using mypy on codegen files. |
| # |
| # For now, only code_template.py and benchmark utils Timer are covered this way |
| |
| [mypy] |
| python_version = 3.6 |
| |
| strict_optional = True |
| show_column_numbers = True |
| warn_no_return = True |
| disallow_any_unimported = True |
| |
| # Across versions of mypy, the flags toggled by --strict vary. To ensure |
| # we have reproducible type check, we instead manually specify the flags |
| warn_unused_configs = True |
| disallow_any_generics = True |
| disallow_subclassing_any = True |
| disallow_untyped_calls = True |
| disallow_untyped_defs = True |
| disallow_incomplete_defs = True |
| check_untyped_defs = True |
| disallow_untyped_decorators = True |
| no_implicit_optional = True |
| warn_redundant_casts = True |
| warn_unused_ignores = True |
| warn_return_any = True |
| implicit_reexport = False |
| strict_equality = True |
| |
| files = tools/codegen/gen.py, |
| torch/utils/benchmark/utils/common.py, |
| torch/utils/benchmark/utils/timer.py, |
| torch/utils/benchmark/utils/valgrind_wrapper/*.py |
| |
| # Specifically enable imports of benchmark utils. As more of `torch` becomes |
| # strict compliant, those modules can be enabled as well. |
| [mypy-torch.utils.benchmark.utils.*] |
| follow_imports = normal |
| |
| # Don't follow imports as much of `torch` is not strict compliant. |
| [mypy-torch] |
| follow_imports = skip |
| |
| [mypy-torch.*] |
| follow_imports = skip |
| |
| # Missing stub. |
| [mypy-numpy] |
| ignore_missing_imports = True |