Release 0.4.0 introduces tree_checkbox(), a new component for checkbox-based selection in tree data.
pip install 'streamlit-arborist>=0.4.0'- Repository: github.com/gabriel-msilva/streamlit-arborist
- Documentation: streamlit-arborist.readthedocs.io
- Release notes: Version 0.4.0

tree_checkbox() component in StreamlitSelection follows parent/child cascading semantics, so checking a parent can select descendants and partial states are handled automatically.
Experiment with the new component in your Streamlit app by running the following code snippet:
from streamlit_arborist import tree_checkbox
data = [
{"id": "1", "name": "Unread"},
{"id": "2", "name": "Threads"},
{
"id": "3",
"name": "Chat Rooms",
"children": [
{"id": "c1", "name": "General"},
{"id": "c2", "name": "Random"},
{"id": "c3", "name": "Open Source Projects"},
],
},
{
"id": "4",
"name": "Direct Messages",
"children": [
{"id": "d1", "name": "Alice"},
{"id": "d2", "name": "Bob"},
{"id": "d3", "name": "Charlie"},
],
},
]
tree_checkbox(data, icons={"open": "📂", "closed": "📁", "leaf": "📄"})