13 lines
378 B
Python
13 lines
378 B
Python
|
|
import importlib
|
||
|
|
from typing import Type, TypeVar, cast
|
||
|
|
|
||
|
|
C = TypeVar("C")
|
||
|
|
|
||
|
|
|
||
|
|
def get_class(fqn: str, type: Type[C]) -> Type[C]:
|
||
|
|
"""Given a fully qualifed class name, import the module and return the class"""
|
||
|
|
module_name, class_name = fqn.rsplit(".", 1)
|
||
|
|
module = importlib.import_module(module_name)
|
||
|
|
cls = getattr(module, class_name)
|
||
|
|
return cast(Type[C], cls)
|