| Latest Release |
|
| PyPI Downloads |
|
| Some Examples |
|
sim2lbuilder is an utility library to create Graphical User interfaces on Jupyter notebooks. sim2lbuilder is based on ipywidgets, and allow users to describe Apps based on their inputs, outputs and layout. Callback functions can also be referenced to be triggered by events on the widgets sim2lbuilder can display described tools as widgets, or generate python code to be modified.
pip install sim2lbuilderschema = {
'inputs': {
'n1': { 'type': 'IntText', 'value': 1},
'n2': { 'type': 'IntText', 'value': 3}
},
'outputs': {
'sol': { 'type': 'IntText'},
},
'layout': {
'type': 'HBox',
'children' : {
'n1': None,
'n2': None,
'button' : {
'type': 'Button',
'click': 'SUM',
'description': '=',
},
'sol': None
}
}
}
from sim2lbuilder import WidgetConstructor
s = WidgetConstructor(schema)
def SUM (w):
w.outputs["sol"].value = w.inputs["n1"].value + w.inputs["n2"].value
s.SUM = SUM
s.assemble()
SUM(s)
display(s)from sim2lbuilder import WidgetConstructor, GetSimtoolDefaultSchema
from simtool import searchForSimTool, getSimToolInputs, Run
schema = GetSimtoolDefaultSchema("meltingkim")
def RunSimTool(widget, *kargs):
stl = searchForSimTool("meltingkim")
inputs =getSimToolInputs(stl)
for i,w in widget.inputs.items():
inputs[i].value = w.value
r =Run(stl, inputs)
for outk, out in widget.outputs.items():
with out:
print(r.read(outk))
s = WidgetConstructor(schema)
s.RunSimTool = RunSimTool
s.assemble()
sfrom sim2lbuilder import WidgetConstructor, GetSimtoolDefaultSchema
from simtool import searchForSimTool, getSimToolInputs, Run
schema = GetSimtoolDefaultSchema("meltingkim")
def RunSimTool(widget, *kargs):
stl = searchForSimTool("meltingkim")
inputs =getSimToolInputs(stl)
for i,w in widget.inputs.items():
inputs[i].value = w.value
r =Run(stl, inputs)
for outk, out in widget.outputs.items():
with out:
print(r.read(outk))
s = WidgetConstructor(schema, format="file")
s.RunSimTool = RunSimTool
s.assemble()
sfrom sim2lbuilder import WidgetConstructor, GetSimtoolDefaultSchema
from simtool import searchForSimTool, getSimToolInputs, Run
schema = GetSimtoolDefaultSchema("meltingkim")
def RunSimTool(widget, *kargs):
stl = searchForSimTool("meltingkim")
inputs =getSimToolInputs(stl)
for i,w in widget.inputs.items():
inputs[i].value = w.value
r =Run(stl, inputs)
for outk, out in widget.outputs.items():
with out:
print(r.read(outk))
s = WidgetConstructor(schema, format="text")
s.RunSimTool = RunSimTool
s.assemble()
sfrom sim2lbuilder import *
schema = GetSimtoolDefaultSchema("introtosimtools")
s = UIDLConstructor(schema, drawer_width=350, width="100%", height="600px")
s.assemble(
jupyter_notebook_url=jupyter_notebook_url,
)from sim2lbuilder import *
schema = GetSimtoolDefaultSchema("introtosimtools")
s = UIDLConstructor(schema, drawer_width=350, width="100%", height="600px")
s.assemble(
jupyter_notebook_url=jupyter_notebook_url,
uidl_local = True,
copy_libraries=True,
widget = False,
)