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)
|