class_docstr: Registry of modules to load in a package init file.
  
  To avoid potential thread safety issues for imports that are deferred
  in a function, like https://bugs.python.org/issue38884, these modules
  are added to the system module cache by importing them after the packages
  has finished initialization.
  
  A global instance is provided under the name :attr:`.preloaded`. Use
  the function :func:`.preload_module` to register modules to load and
  :meth:`.import_prefix` to load all the modules that start with the
  given path.
  
  While the modules are loaded in the global module cache, it's advisable
  to access them using :attr:`.preloaded` to ensure that it was actually
  registered. Each registered module is added to the instance ``__dict__``
  in the form `<package>_<module>`, omitting ``sqlalchemy`` from the package
  name. Example: ``sqlalchemy.sql.util`` becomes ``preloaded.sql_util``.
docstr: Adds the specified modules to the list to load.
  
  This method can be used both as a normal function and as a decorator.
  No change is performed to the decorated object.
code: def preload_module(self, *deps: str) -> Callable[[_FN], _FN]:
      """Adds the specified modules to the list to load.
  
      This method can be used both as a normal function and as a decorator.
      No change is performed to the decorated object.
      """
      self.module_registry.update(deps)
      return lambda fn: fn
  
file_path: sqlalchemy/lib/sqlalchemy/util/preloaded.py
imports: from __future__ import annotations
  import sys
  from typing import Any
  from typing import Callable
  from typing import TYPE_CHECKING
  from typing import TypeVar
label_desc: Use image node_id 2 for calling the _ModuleRegistry obj's underlying member method code with example usage: obj.preload_module() and returns: function