# {py:mod}`arelle.PluginUtils` ```{py:module} arelle.PluginUtils ``` ```{autodoc2-docstring} arelle.PluginUtils :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`PluginProcessPoolExecutor ` - ```{autodoc2-docstring} arelle.PluginUtils.PluginProcessPoolExecutor :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`_loadPluginModules ` - ```{autodoc2-docstring} arelle.PluginUtils._loadPluginModules :summary: ``` ```` ### API ````{py:function} _loadPluginModules(pluginModuleLocationsByName: dict[str, str | None]) -> None :canonical: arelle.PluginUtils._loadPluginModules ```{autodoc2-docstring} arelle.PluginUtils._loadPluginModules ``` ```` ````{py:class} PluginProcessPoolExecutor(pluginModules: collections.abc.Sequence[types.ModuleType] | types.ModuleType, maxWorkers: int | None = None, mpContext: multiprocessing.context.BaseContext | None = None) :canonical: arelle.PluginUtils.PluginProcessPoolExecutor Bases: {py:obj}`concurrent.futures.ProcessPoolExecutor` ```{autodoc2-docstring} arelle.PluginUtils.PluginProcessPoolExecutor ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.PluginUtils.PluginProcessPoolExecutor.__init__ ``` ````