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
werkzeug==2.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
Close
Hashes for dash_component_editor-0.0.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8164f3fe80324cefe8b31308cde9b7b4e222db5204d1d1c9cc7399f97e0aa592 |
|
MD5 | 25eff47ecb4b7b60944274d3229c0298 |
|
BLAKE2b-256 | 854b38a41bf99d8dcd0e0623b53e451f5c67f54044b9e84ab60dc21f41b2709a |
Close
Hashes for dash_component_editor-0.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e9542d62628420a5a2d3c43e10a9f7835323de00aa8b36ab89bc4fe689169da |
|
MD5 | 9a9d0eb690486318ec6d850c2fab75b1 |
|
BLAKE2b-256 | 53d94f7212f5c857e403de9a0e5bb2e4ee732a4af15941b0af9b30d310b5f58e |