Package Manager API
The PackageManager class provides dynamic package loading and registration into
the executor’s event dictionary.
PackageManager Class
class PackageManager:
installed_package_dict: dict[str, Any]
executor: Optional[Any]
def load_package_if_available(self, package: str) -> Optional[Any]: ...
def add_package_to_executor(self, package: str) -> None: ...
load_package_if_available()
Try to import a package and cache it.
def load_package_if_available(self, package: str) -> Optional[Any]
Parameters:
package— Package name to import
Returns: The imported module, or None if the package cannot be found.
Uses importlib.util.find_spec() to locate the package and importlib.import_module()
to import it. Successfully imported packages are cached in installed_package_dict.
add_package_to_executor()
Import a package and register all its functions into the executor’s event_dict.
def add_package_to_executor(self, package: str) -> None
Parameters:
package— Package name to load and register
Uses inspect.getmembers() with isfunction predicate to find all functions
in the package.
Global instance: package_manager