class _ModuleRegistry:
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 .preloaded
. Use
the function .preload_module
to register modules to load and
.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 .preloaded
to ensure that it was actually
registered. Each registered module is added to the instance __dict__
in the form <package>_
, omitting sqlalchemy from the package
name. Example: sqlalchemy.sql.util becomes preloaded.sql_util.
Method | __init__ |
Undocumented |
Method | import_prefix |
Resolve all the modules in the registry that start with the specified path. |
Method | preload_module |
Adds the specified modules to the list to load. |
Instance Variable | module_registry |
Undocumented |
Instance Variable | prefix |
Undocumented |