The Woob class

class Woob(workdir=None, datadir=None, backends_filename=None, scheduler=None, storage=None)[source]

Bases: WoobBase

The main class of Woob, used to manage backends, modules repositories and call methods on all loaded backends.

  • workdir (str) – optional parameter to set path of the working directory (default: None)

  • datadir (str) – optional parameter to set path of the data directory (default: None)

  • backends_filename (str) – name of the backends file, where configuration of (default: None) backends is stored

  • storage ( – provide a storage where backends can save data (default: None)


Build the module loader for the current application.

Return type:



Update modules from repositories.


progress (IProgress) – object notified when there is a progress (default: PrintProgress())

build_backend(module_name, params=None, storage=None, name=None, nofail=False, logger=None)[source]

Create a single backend which is not listed in configuration.

  • module_name (str) – name of module

  • params (dict) – parameters to give to backend (default: None)

  • storage ( – storage to use (default: None)

  • name (str) – name of backend (default: None)

  • nofail (bool) – if true, this call can’t fail (default: False)

Return type:

load_backends(caps=None, names=None, modules=None, exclude=None, storage=None, errors=None)[source]

Load backends listed in config file.

  • caps (tuple[woob.capabilities.base.Capability]) – load backends which implement all of specified caps (default: None)

  • names (tuple[str]) – load backends in list (default: None)

  • modules (tuple[str]) – load backends which module is in list (default: None)

  • exclude (tuple[str]) – do not load backends in list (default: None)

  • storage ( – use this storage if specified (default: None)

  • errors (list[LoadError]) – if specified, store every errors in this list (default: None)


loaded backends

Return type:



Load a backend, and install it if not done before

Return type: