🌲 Streamlit Checkbox Tree
A simple checkbox tree component for Streamlit, forked from streamlit_tree_selector, built on react-checkbox-tree.
Installation
pip install st-checkbox-tree
Quick start
Using st-checkbox-tree is as simple as importing checkbox_tree and passing a list of nodes.
import streamlit as st
from st_checkbox_tree import checkbox_tree
st.title("🌲 Streamlit Checkbox Tree")
# Create nodes to display
nodes = [
{"label": "Folder A", "value": "folder_a"},
{
"label": "<b> Folder B </b>",
"value": "<u> folder_b </u>",
"children": [
{"label": "Sub-folder A", "value": "sub_a"},
{"label": "Sub-folder B", "value": "sub_b"},
{"label": "Sub-folder C", "value": "sub_c"},
],
},
{
"label": "Folder C",
"value": "folder_c",
"children": [
{"label": "Sub-folder D", "value": "sub_d"},
{
"label": "Sub-folder E",
"value": "sub_e",
"children": [
{"label": "Sub-sub-folder A", "value": "sub_sub_a"},
{"label": "Sub-sub-folder B", "value": "sub_sub_b"},
],
},
{"label": "Sub-folder F", "value": "sub_f"},
],
},
]
return_select = checkbox_tree(nodes)
st.write(return_select)
Parameters
| Property | Type | Description | Default |
|---|---|---|---|
nodes |
list | A list containing tree nodes and their children. A need needs to include a label and a value. Furthermore, a list of children can be added. Further possible parameters: className (A class Name to add to the node, default None), disabled (Whether the node should be disabled, default False), showCheckbox (Whether the node should show a checkbox, default True), title (A custom title attribute for th node, default None). |
[] |
check_model |
str | Specifies which selected nodes should be returned. Possible inputs: "all", "leaf". | 'all' |
checked |
list | A list of selected nodes. | [] |
direction |
str | Specify the direction of the component. Left-to-right ('ltr') or right-to-left ('rtl'). | 'ltr' |
disabled |
bool | If True, the component will be disabled and cannot be used. | False |
expand_disabled |
bool | If True, nodes cannot be expanded. | False |
expand_on_click |
bool | If True, nodes will be expanded by clicking on the labels. | False |
expanded |
list | A list of expanded node values. | [] |
no_cascade |
bool | If True, toggling a parent node will not cascade its check state to its children. | False |
only_leaf_checkboxes |
bool | If True, checkboxes will only be shown for leaf nodes. | False |
show_expand_all |
bool | If True buttons for expanding and collapsing all parent nodes will appear in the tree. | False |
half_check_color |
str | If specified it will override the default color of half checked boxes | "" |
check_color |
str | If specified it will override the default color of fully checked boxes | "" |
show_tree_lines |
bool | If True, tree lines will be displayed to show hierarchical relationships. | False |
tree_line_color |
str | Color of the tree lines when show_tree_lines is True. | "#ccc" |
Returns
checkbox_tree returns a dictionary containing the keys checked node values as well as expanded node values.
| Property | Type | Description | Default |
|---|---|---|---|
checked |
list | A list of expanded node values. | [] |
expanded |
list | A list of expanded node values. | [] |
Release files for st-checkbox-tree 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| st_checkbox_tree-1.0.2.tar.gz | 3.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| st_checkbox_tree-1.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 5.6 MB
Release files / st_checkbox_tree-1.0.2.tar.gz
| Download URL | st_checkbox_tree-1.0.2.tar.gz |
|---|---|
| Size | 3.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0c9ecc3e4dd2bdc3c70b826369bdada7f71f221b01313259a5f3cc9c9078116d
|
|
BLAKE2b-256 checksum How to use checksums |
de548086996cd3266abda29dc43164c816fb7e37da5ad78bb7bc84458d84ead0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.0
|
Release files / st_checkbox_tree-1.0.2-py3-none-any.whl
| Download URL | st_checkbox_tree-1.0.2-py3-none-any.whl |
|---|---|
| Size | 2.3 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
994132eb816506cc15ca69e4ff98e6571e21bddc91f1379acfb8905858bae9f8
|
|
BLAKE2b-256 checksum How to use checksums |
c139a036df063a34672cb4ed2041228a0bd2414750b8a7ccebe8f50ff6ec36a7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.0
|