Inspecting AiiDA processes#

%%javascript

IPython.OutputArea.prototype._should_scroll = function(lines) {
    return false;
}
from aiida import load_profile

load_profile();
import urllib.parse as urlparse

from aiida.orm import load_node

from aiidalab_widgets_base import (
    ProcessCallStackWidget,
    ProcessFollowerWidget,
    ProcessInputsWidget,
    ProcessOutputsWidget,
    ProcessReportWidget,
    ProgressBarWidget,
    RunningCalcJobOutputWidget,
)
url = urlparse.urlsplit(jupyter_notebook_url)  # noqa: F821
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)