arelle.PluginUtils

See COPYRIGHT.md for copyright information.

Module Contents

Classes

PluginProcessPoolExecutor

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.

API

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.ProcessPoolExecutor

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.

Initialization