arelle.PluginUtils¶
See COPYRIGHT.md for copyright information.
Module Contents¶
Classes¶
Wrapper class for ProcessPoolExecutor which loads a plugin module before executing any other code. This is necessary for dynamically loaded Arelle plugins, as any functions defined within plugin modules are not imported by newly spawned processes. |
Functions¶
API¶
- arelle.PluginUtils._loadPluginModules(pluginModuleLocationsByName: dict[str, str | None]) None¶
- class arelle.PluginUtils.PluginProcessPoolExecutor(pluginModules: collections.abc.Sequence[types.ModuleType] | types.ModuleType, maxWorkers: int | None = None, mpContext: multiprocessing.context.BaseContext | None = None)¶
Bases:
concurrent.futures.ProcessPoolExecutorWrapper class for ProcessPoolExecutor which loads a plugin module before executing any other code. This is necessary for dynamically loaded Arelle plugins, as any functions defined within plugin modules are not imported by newly spawned processes.
Initialization