APIs for working with providers.

plainbox.impl.providers – providers package

Providers are a mechanism by which PlainBox can enumerate jobs and test plans. Currently there are only v1 (as in version one) providers that basically have to behave as CheckBox itself (mini CheckBox forks for example)

V1 providers

The first (current) version of PlainBox providers has the following properties, this is also described by IProvider1:

* there is a directory with '.txt' or '.txt.in' files with RFC822-encoded
  job definitions. The definitions need a particular set of keys to work.

* there is a directory with additional executables (added to PATH)

* there is a directory with an additional python3 libraries (added to
exception plainbox.impl.providers.ProviderNotFound[source]

Bases: LookupError

Exception used to report that a provider cannot be located.


Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.


Find and load all providers that are available.

Parameters:only_secure – (keyword only) Return only providers that are deemed secure.
Returns:A list of Provider1 objects, created in no particular order.

This function can be used to get a list of all available providers. Most applications will just want the default, regular list of providers, without bothering to restrict themselves to the secure subset.

Those are the providers that can run jobs as root using the plainbox-trusted-launcher-1 mechanism. Depending on the policykit Policy, those might start without prompting the user for the password. If you want to load only them, use the only_secure option.

comments powered by Disqus