ipytree is a jupyter interactive widget library which provides a tree widget to the Jupyter notebook.
Installation:
conda install -c conda-forge ipytree
from ipywidgets import Text, link
from ipytree import Tree, Node
tree = Tree()
tree.add_node(Node('node1'))
node2 = Node('node2')
tree.add_node(node2)
tree
node3 = Node('node3', disabled=True)
node4 = Node('node4')
node5 = Node('node5', [Node('1'), Node('2')])
node2.add_node(node3)
node2.add_node(node4)
node2.add_node(node5)
name = Text('node3')
link((name, 'value'), (node3, 'name'))
name
node4.icon = 'archive'
node4.icon_style = 'warning'
def handle_click(event):
event['owner'].name = 'I am selected!!!' if event['new'] else 'I am not selected...'
node4.observe(handle_click, 'selected')
node4.selected = True