parsl.dataflow.dependency_resolvers.DependencyResolver

class parsl.dataflow.dependency_resolvers.DependencyResolver(traverse_to_gather: Callable[[object], Sequence[Future]], traverse_to_unwrap: Callable[[object], object])[source]

A DependencyResolver describes how app dependencies can be resolved. It is specified as two functions: traverse_to_gather which turns an app parameter into a sequence of futures which must be waited for before the task can be executed (for example, in the case of DEEP_DEPENDENCY_RESOLVER this traverses structures such as lists to find every contained Future), and traverse_to_unwrap which turns an app parameter into its value to be passed to the app on execution (for example in the case of DEEP_DEPENDENCY_RESOLVER this replaces a list containing futures with a new list containing the values of those resolved futures).

By default, Parsl will use SHALLOW_DEPENDENCY_RESOLVER which only resolves Futures passed directly as arguments.

__init__(traverse_to_gather: Callable[[object], Sequence[Future]], traverse_to_unwrap: Callable[[object], object]) None[source]

Methods

__init__(traverse_to_gather, traverse_to_unwrap)

Attributes

traverse_to_gather

traverse_to_unwrap

traverse_to_gather: Callable[[object], Sequence[Future]][source]
traverse_to_unwrap: Callable[[object], object][source]