RunEngine.__call__(plan, subs=None, /, **metadata_kw)[source]

Execute a plan.

Any keyword arguments will be interpreted as metadata and recorded with any run(s) created by executing the plan. Notice that the plan (required) and extra subscriptions (optional) must be given as positional arguments.

plangenerator (positional only)

a generator or that yields Msg objects (or an iterable that returns such a generator)

subscallable, list, or dict, optional (positional only)

Temporary subscriptions (a.k.a. callbacks) to be used on this run. For convenience, any of the following are accepted:

  • a callable, which will be subscribed to ‘all’

  • a list of callables, which again will be subscribed to ‘all’

  • a dictionary, mapping specific subscriptions to callables or lists of callables; valid keys are {‘all’, ‘start’, ‘stop’, ‘event’, ‘descriptor’}


list of uids (i.e. RunStart Document uids) of run(s) if RunEngine._call_returns_result is False


if RunEngine._call_returns_result is True