| 123456789101112131415 |
- import importlib
- def load_function_or_class(path):
- """Load a function or class at runtime given a full path.
- Example of the path: mypkg.mysubpkg.myclass
- """
- class_data = path.split(".")
- if len(class_data) < 2:
- raise ValueError("You need to pass a valid path like mymodule.provider_class")
- module_path = ".".join(class_data[:-1])
- fn_or_class_str = class_data[-1]
- module = importlib.import_module(module_path)
- return getattr(module, fn_or_class_str)
|