From 22d5b7e90a1e04eb6e5c4b9e21a4dfa85bfd9065 2020-03-30 03:22:35 From: Brett Smith Date: 2020-03-30 03:22:35 Subject: [PATCH] setup: Disallow untyped calls. --- diff --git a/conservancy_beancount/plugin/__init__.py b/conservancy_beancount/plugin/__init__.py index 1730c8d0a4a8005ad0a02f36e5be30f955c3c8c0..20ded0b2cc7e09661c62223f02d77ddb887078f2 100644 --- a/conservancy_beancount/plugin/__init__.py +++ b/conservancy_beancount/plugin/__init__.py @@ -24,6 +24,7 @@ from typing import ( Dict, Iterable, List, + Optional, Set, Tuple, Type, @@ -57,8 +58,11 @@ class HookRegistry: self.group_name_map.setdefault(key, set()).add(hook_cls) return hook_cls # to allow use as a decorator - # This method is too dynamic to typecheck. - def import_hooks(self, mod_name, *hook_names, package=__module__): # type:ignore + def import_hooks(self, + mod_name: str, + *hook_names: str, + package: Optional[str]=__module__, # type:ignore[name-defined] + ) -> None: module = importlib.import_module(mod_name, package) for hook_name in hook_names: self.add_hook(getattr(module, hook_name)) diff --git a/setup.cfg b/setup.cfg index 7ea8404d9900ece604ea87101892a9e13002feeb..5b5b19de1b4b4adc386d66a58d556bf420f7ae64 100644 --- a/setup.cfg +++ b/setup.cfg @@ -4,6 +4,7 @@ typecheck=pytest --addopts="--mypy conservancy_beancount" [mypy] disallow_any_unimported = True +disallow_untyped_calls = True disallow_untyped_defs = True show_error_codes = True strict_equality = True