Inspecting AiiDA processes#

%%javascript

IPython.OutputArea.prototype._should_scroll = function(lines) {
    return false;
}
import ipywidgets as ipw
from IPython.display import clear_output
from aiida.cmdline.utils.ascii_vis import format_call_graph
import urllib.parse as urlparse
from aiidalab_widgets_base import ProcessFollowerWidget, ProgressBarWidget, ProcessReportWidget
from aiidalab_widgets_base import ProcessInputsWidget, ProcessOutputsWidget, ProcessCallStackWidget, RunningCalcJobOutputWidget
url = urlparse.urlsplit(jupyter_notebook_url)
url_dict = urlparse.parse_qs(url.query)
if 'id' in url_dict:
    pk = int(url_dict['id'][0])
    process = load_node(pk)
else:
    process = None

Process inputs.#

display(ProcessInputsWidget(process))

Process outputs.#

display(ProcessOutputsWidget(process))
follower = ProcessFollowerWidget(
    process,
    followers=[ProgressBarWidget(), ProcessReportWidget(), ProcessCallStackWidget(), RunningCalcJobOutputWidget()], path_to_root="../../", 
    update_interval=2)
display(follower)
follower.follow(detach=True)