Lattice#
- @covalent.lattice(_func=None, *, backend=None, executor=None, workflow_executor=None, deps_bash=None, deps_pip=None, call_before=[], call_after=[])#
Lattice decorator to be called upon a function. Returns a new Lattice <covalent._workflow.lattice.Lattice> object.
- Parameters
_func (
Optional
[Callable
]) – function to be decorated- Keyword Arguments
backend – DEPRECATED: Same as executor.
executor – Alternative executor object to be used in the execution of each node. If not passed, the local executor is used by default.
workflow_executor – Executor for postprocessing the workflow. Defaults to the built-in dask executor or the local executor depending on whether Covalent is started with the –no-cluster option.
deps_bash – An optional DepsBash object specifying a list of shell commands to run before _func
deps_pip – An optional DepsPip object specifying a list of PyPI packages to install before running _func
call_before – An optional list of DepsCall objects specifying python functions to invoke before the electron
call_after – An optional list of DepsCall objects specifying python functions to invoke after the electron
- Returns
Lattice object inside which the decorated function exists.
- Return type
- class covalent._workflow.lattice.Lattice(workflow_function, transport_graph=None)[source]#
A lattice workflow object that holds the work flow graph and is returned by
lattice
decorator.- transport_graph#
The transport graph which will be the basis on how the workflow is executed.
- metadata#
Dictionary of metadata of the lattice.
- post_processing#
Boolean to indicate if the lattice is in post processing mode or not.
- kwargs#
Keyword arguments passed to the workflow function.
- electron_outputs#
Dictionary of electron outputs received after workflow execution.
Methods:
build_graph
(*args, **kwargs)Builds the transport graph for the lattice by executing the workflow function which will trigger the call of all underlying electrons and they will get added to the transport graph for later execution.
dispatch
(*args, **kwargs)DEPRECATED: Function to dispatch workflows.
dispatch_sync
(*args, **kwargs)DEPRECATED: Function to dispatch workflows synchronously by waiting for the result too.
draw
(*args, **kwargs)Generate lattice graph and display in UI taking into account passed in arguments.
get_metadata
(name)Get value of the metadata of given name.
set_metadata
(name, value)Function to add/edit metadata of given name and value to lattice’s metadata.
- build_graph(*args, **kwargs)[source]#
Builds the transport graph for the lattice by executing the workflow function which will trigger the call of all underlying electrons and they will get added to the transport graph for later execution.
Also redirects any print statements inside the lattice function to null and ignores any exceptions caused while executing the function.
GRAPH WILL NOT BE BUILT AFTER AN EXCEPTION HAS OCCURRED.
- Parameters
*args – Positional arguments to be passed to the workflow function.
**kwargs – Keyword arguments to be passed to the workflow function.
- Return type
None
- Returns
None
- dispatch(*args, **kwargs)[source]#
DEPRECATED: Function to dispatch workflows.
- Parameters
*args – Positional arguments for the workflow
**kwargs – Keyword arguments for the workflow
- Return type
str
- Returns
Dispatch id assigned to job
- dispatch_sync(*args, **kwargs)[source]#
DEPRECATED: Function to dispatch workflows synchronously by waiting for the result too.
- Parameters
*args – Positional arguments for the workflow
**kwargs – Keyword arguments for the workflow
- Return type
- Returns
Result of workflow execution
- draw(*args, **kwargs)[source]#
Generate lattice graph and display in UI taking into account passed in arguments.
- Parameters
*args – Positional arguments to be passed to build the graph.
**kwargs – Keyword arguments to be passed to build the graph.
- Return type
None
- Returns
None