No project description provided
Project description
MLExchange Dash component editor
This script creates adaptive Dash GUI components from keyword pairs (JSON format).
It currently supports 8 types of Dash GUI components: 3 types of input forms (int, float, str), slider, dropdown, radio items, boolean toggle switch, and image. The corresponding keyword values are 'int', 'float', 'str', 'slider', 'dropdown', 'radio', 'bool', and 'img'.
Legal keyword pairs: {'type': xxx, 'name': xxx, 'title': xxx, 'param_key': xxx, 'value': xxx} and all the other legal keyword pairs in the corresponding Dash components. Note: 'name' is the unique string identifier for each component.
Dependencies:
dash>=2.9.0
dash_bootstrap_components>=1.0.0
dash_daq>=0.1.0
Code example
from dash import Dash, html, Input, Output
from dash_component_editor import JSONParameterEditor
# data
component_kwargs = {"gui_parameters": [{"type": "int", "name": "num-tree", "title": "Number of Trees", "param_key": "n_estimators", "value": "30"},
{"type": "dropdown", "name": "dropdown-menu", "title": "Choose a City", "param_key": "city",
"options": [{'label': 'New York City', 'value': 'New York City'}, {'label': 'Montreal', 'value': 'Montreal'},
{'label': 'San Francisco', 'value': 'San Francisco'}], "value": "'Montreal"},
{"type": "slider", "name": "slider-id", "title": "Fahrenheit Range", "param_key": "f_temp", "min": 0, "max": 10,
"step": None, "marks": {0: '0°F', 3: '3°F', 5: '5°F', 7.65: '7.65°F', 10: '10°F'}, "value":5},
]
}
# set up Dash server and web layouts
app = Dash(__name__)
app.layout = html.Div ([html.Button('Show GUI', id='button', n_clicks=0),
html.Div(id='gui-layout', children=[])
])
# callback
@app.callback(
Output("gui-layout", "children", allow_duplicate=True),
Input("button", "n_clicks"),
prevent_initial_call=True
)
def show_gui_layouts(n_clicks):
item_list = JSONParameterEditor(_id={'type': 'parameter_editor'},
json_blob=component_kwargs["gui_parameters"],
)
item_list.init_callbacks(app)
return [html.H5("GUI Layout", className="card-title"), item_list]
app.run_server(host='0.0.0.0', port=8050, debug=True)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dash_component_editor-0.0.7.tar.gz.
File metadata
- Download URL: dash_component_editor-0.0.7.tar.gz
- Upload date:
- Size: 6.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d323f552917ea5ec56e53018a9f7e94c7af0e76ab2f957238394c9eedb31121
|
|
| MD5 |
8298f959456caa70e21e556a11d587b0
|
|
| BLAKE2b-256 |
cd27334d6d56154384c50997938481da90edc96b69babe299ad34ca3511e7585
|
File details
Details for the file dash_component_editor-0.0.7-py3-none-any.whl.
File metadata
- Download URL: dash_component_editor-0.0.7-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f0a9c04763d1a4a86f89e48798578301f1cd2dd231a36f0fef33f42938a3cc1
|
|
| MD5 |
e7d2561f279b907827c12816bb4f2697
|
|
| BLAKE2b-256 |
f0f42bcd9d8b57e1aca64906f7f532a7fd3caf396b6c81ab2b40ce8d3fca2e75
|