A TreeView UI component for Shiny for Python, backed by Material UI.
pip install shiny-treeview
To install the latest development version:
pip install git+https://github.com/davidchall/shiny-treeview.git#egg=shiny_treeview
from shiny import App, ui, render
from shiny_treeview import input_treeview, TreeItem
# Define your tree data using TreeItem objects
tree_data = [
TreeItem(
id="documents",
label="📁 Documents",
children=[
TreeItem(id="doc1", label="📄 Report.pdf"),
TreeItem(id="doc2", label="📄 Presentation.pptx"),
]
),
TreeItem(
id="downloads",
label="📁 Downloads",
children=[
TreeItem(id="download1", label="📦 software.zip"),
TreeItem(id="download2", label="🖼️ image.png"),
]
)
]
app_ui = ui.page_fluid(
ui.h1("My Tree View App"),
input_treeview(
id="my_tree",
items=tree_data,
multiple=False,
selected="doc1"
),
ui.output_text("selected_items")
)
def server(input, output, session):
@render.text
def selected_items():
selected = input.my_tree()
return f"Selected: {selected}"
app = App(app_ui, server)