Added
- A new parameter to a node's result called `sublattice_result` is added.
This will be of a `Result` type and will contain the result of that sublattice's
execution. If a normal electron is executed, this will be `None`.
- In `_delete_result` function in `results_manager.py`, an empty results directory
will now be deleted.
- Name of a sublattice node will also contain `(sublattice)`.
- Added `_dispatch_sync_serverless` which synchronously dispatches without a server
and waits for a result to be returned. This is the method used to dispatch a sublattice.
- Test for sublatticing is added.
- How-to guide added for sublatticing explaining the new features.
Changed
- Partially changed `draw` function in `lattice.py` to also draw the subgraph
of the sublattice when drawing the main graph of the lattice. The change is
incomplete as we intend to add this feature later.
- Instead of returning `plt`, `draw` now returns the `ax` object.
- `__call__` function in `lattice.py` now runs the lattice's function normally
instead of dispatching it.
- `_run_task` function now checks whether current node is a sublattice and acts
accordingly.
Fixed
- Unnecessary lines to rename the node's name in `covalent_dispatcher/_core/__init__.py` are removed.
- `test_electron_takes_nested_iterables` test was being ignored due to a spelling mistake. Fixed and
modified to follow the new pattern.