# {py:mod}`arelle.PluginManager` ```{py:module} arelle.PluginManager ``` ```{autodoc2-docstring} arelle.PluginManager :allowtitles: ``` ## Module Contents ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`getInstance ` - ```{autodoc2-docstring} arelle.PluginManager.getInstance :summary: ``` * - {py:obj}`init ` - ```{autodoc2-docstring} arelle.PluginManager.init :summary: ``` * - {py:obj}`reset ` - ```{autodoc2-docstring} arelle.PluginManager.reset :summary: ``` * - {py:obj}`orderedPluginConfig ` - ```{autodoc2-docstring} arelle.PluginManager.orderedPluginConfig :summary: ``` * - {py:obj}`save ` - ```{autodoc2-docstring} arelle.PluginManager.save :summary: ``` * - {py:obj}`close ` - ```{autodoc2-docstring} arelle.PluginManager.close :summary: ``` * - {py:obj}`logPluginTrace ` - ```{autodoc2-docstring} arelle.PluginManager.logPluginTrace :summary: ``` * - {py:obj}`modulesWithNewerFileDates ` - ```{autodoc2-docstring} arelle.PluginManager.modulesWithNewerFileDates :summary: ``` * - {py:obj}`freshenModuleInfos ` - ```{autodoc2-docstring} arelle.PluginManager.freshenModuleInfos :summary: ``` * - {py:obj}`normalizeModuleFilename ` - ```{autodoc2-docstring} arelle.PluginManager.normalizeModuleFilename :summary: ``` * - {py:obj}`getModuleFilename ` - ```{autodoc2-docstring} arelle.PluginManager.getModuleFilename :summary: ``` * - {py:obj}`parsePluginInfo ` - ```{autodoc2-docstring} arelle.PluginManager.parsePluginInfo :summary: ``` * - {py:obj}`moduleModuleInfo ` - ```{autodoc2-docstring} arelle.PluginManager.moduleModuleInfo :summary: ``` * - {py:obj}`moduleInfo ` - ```{autodoc2-docstring} arelle.PluginManager.moduleInfo :summary: ``` * - {py:obj}`pluginClassMethods ` - ```{autodoc2-docstring} arelle.PluginManager.pluginClassMethods :summary: ``` * - {py:obj}`hasPluginWithHook ` - ```{autodoc2-docstring} arelle.PluginManager.hasPluginWithHook :summary: ``` * - {py:obj}`addPluginModule ` - ```{autodoc2-docstring} arelle.PluginManager.addPluginModule :summary: ``` * - {py:obj}`reloadPluginModule ` - ```{autodoc2-docstring} arelle.PluginManager.reloadPluginModule :summary: ``` * - {py:obj}`removePluginModule ` - ```{autodoc2-docstring} arelle.PluginManager.removePluginModule :summary: ``` * - {py:obj}`addPluginModuleInfo ` - ```{autodoc2-docstring} arelle.PluginManager.addPluginModuleInfo :summary: ``` * - {py:obj}`loadModule ` - ```{autodoc2-docstring} arelle.PluginManager.loadModule :summary: ``` ```` ### API ````{py:function} getInstance() -> arelle.plugin_system._plugin_manager.PluginManager :canonical: arelle.PluginManager.getInstance ```{autodoc2-docstring} arelle.PluginManager.getInstance ``` ```` ````{py:function} init(cntlr: arelle.Cntlr.Cntlr, loadPluginConfig: bool = True) -> None :canonical: arelle.PluginManager.init ```{autodoc2-docstring} arelle.PluginManager.init ``` ```` ````{py:function} reset() -> None :canonical: arelle.PluginManager.reset ```{autodoc2-docstring} arelle.PluginManager.reset ``` ```` ````{py:function} orderedPluginConfig() -> dict[str, typing.Any] :canonical: arelle.PluginManager.orderedPluginConfig ```{autodoc2-docstring} arelle.PluginManager.orderedPluginConfig ``` ```` ````{py:function} save(cntlr: arelle.Cntlr.Cntlr) -> None :canonical: arelle.PluginManager.save ```{autodoc2-docstring} arelle.PluginManager.save ``` ```` ````{py:function} close() -> None :canonical: arelle.PluginManager.close ```{autodoc2-docstring} arelle.PluginManager.close ``` ```` ````{py:function} logPluginTrace(message: str, level: int) -> None :canonical: arelle.PluginManager.logPluginTrace ```{autodoc2-docstring} arelle.PluginManager.logPluginTrace ``` ```` ````{py:function} modulesWithNewerFileDates() -> set[str] :canonical: arelle.PluginManager.modulesWithNewerFileDates ```{autodoc2-docstring} arelle.PluginManager.modulesWithNewerFileDates ``` ```` ````{py:function} freshenModuleInfos() -> None :canonical: arelle.PluginManager.freshenModuleInfos ```{autodoc2-docstring} arelle.PluginManager.freshenModuleInfos ``` ```` ````{py:function} normalizeModuleFilename(moduleFilename: str) -> str | None :canonical: arelle.PluginManager.normalizeModuleFilename ```{autodoc2-docstring} arelle.PluginManager.normalizeModuleFilename ``` ```` ````{py:function} getModuleFilename(moduleURL: str, reload: bool, normalize: bool, base: str | None) -> tuple[str | None, importlib.metadata.EntryPoint | None] :canonical: arelle.PluginManager.getModuleFilename ```{autodoc2-docstring} arelle.PluginManager.getModuleFilename ``` ```` ````{py:function} parsePluginInfo(moduleURL: str, moduleFilename: str, entryPoint: importlib.metadata.EntryPoint | None) -> dict[str, typing.Any] | None :canonical: arelle.PluginManager.parsePluginInfo ```{autodoc2-docstring} arelle.PluginManager.parsePluginInfo ``` ```` ````{py:function} moduleModuleInfo(moduleURL: str | None = None, entryPoint: importlib.metadata.EntryPoint | None = None, reload: bool = False, parentImportsSubtree: bool = False) -> dict[str, typing.Any] | None :canonical: arelle.PluginManager.moduleModuleInfo ```{autodoc2-docstring} arelle.PluginManager.moduleModuleInfo ``` ```` ````{py:function} moduleInfo(pluginInfo: typing.Any) -> None :canonical: arelle.PluginManager.moduleInfo ```{autodoc2-docstring} arelle.PluginManager.moduleInfo ``` ```` ````{py:function} pluginClassMethods(className: str) -> collections.abc.Iterator[collections.abc.Callable[..., typing.Any]] :canonical: arelle.PluginManager.pluginClassMethods ```{autodoc2-docstring} arelle.PluginManager.pluginClassMethods ``` ```` ````{py:function} hasPluginWithHook(name: str) -> bool :canonical: arelle.PluginManager.hasPluginWithHook ```{autodoc2-docstring} arelle.PluginManager.hasPluginWithHook ``` ```` ````{py:function} addPluginModule(name: str) -> dict[str, typing.Any] | None :canonical: arelle.PluginManager.addPluginModule ```{autodoc2-docstring} arelle.PluginManager.addPluginModule ``` ```` ````{py:function} reloadPluginModule(name: str) -> bool :canonical: arelle.PluginManager.reloadPluginModule ```{autodoc2-docstring} arelle.PluginManager.reloadPluginModule ``` ```` ````{py:function} removePluginModule(name: str) -> bool :canonical: arelle.PluginManager.removePluginModule ```{autodoc2-docstring} arelle.PluginManager.removePluginModule ``` ```` ````{py:function} addPluginModuleInfo(plugin_module_info: dict[str, typing.Any] | None) -> dict[str, typing.Any] | None :canonical: arelle.PluginManager.addPluginModuleInfo ```{autodoc2-docstring} arelle.PluginManager.addPluginModuleInfo ``` ```` ````{py:function} loadModule(moduleInfo: dict[str, typing.Any], packagePrefix: str = '') -> None :canonical: arelle.PluginManager.loadModule ```{autodoc2-docstring} arelle.PluginManager.loadModule ``` ````