Mypy "class module" 注解

Mypy "class module" annotation

我有一个函数 load_config 可以加载并且 return 是一个 python 模块:

import imp

def load_config(path: str):
    return imp.load_source('config', path)

print(type(load_config('config.py')))

此代码段打印 <class 'module'>.

如何使用 Mypy 注释 load_config return 值?

正确的注解是:

import imp
import types

def load_config(path: str) -> types.ModuleType:
  return imp.load_source('config', path)

但是,open issue 可以在当前版本的 mypy 中修复它。