class_docstr: Registers custom modules for Interactive Context.
class_docstr_tok: ["Registers","custom","modules","for","Interactive","Context","."]
docstr: Registers and imports a new module.
docstr_tok: ["Registers","and","imports","a","new","module","."]
code: def register_module(self, fullname, path):
      """Registers and imports a new module."""
      with _imported_modules_from_source_lock:
          if fullname in self._modules:
              raise ValueError(
                  "Module %s is already registered" % fullname
              )
          self._modules[fullname] = path
  
file_path: tfx/tfx/utils/import_utils.py
imports: import importlib
  import importlib.abc
  import sys
  import threading
  from typing import Any, Callable, Type
  from absl import logging
  from tfx.utils import io_utils
label_desc: Use image node_id 3 for calling the _TfxModuleFinder obj's underlying member method code with example usage: obj.register_module(fullname, path) without return types