scribble / app.py
tschm's picture
copy from scribble
84d8880
raw
history blame
1.5 kB
import marimo
__generated_with = "0.9.30"
app = marimo.App()
@app.cell
def __init():
import marimo as mo
from pyscribble import create
return create, mo
@app.cell
def __input_name(mo):
name = mo.ui.text(placeholder="Name...")
mo.md(
f"""
Enter the name of the guest: {name}
"""
)
return (name,)
@app.cell
def __input_function(mo):
options = ["tanh((-1+2j)*z)", "sinh(3*z)", "exp((-1+2j)*z)"]
dropdown = mo.ui.dropdown(options=options, value="sinh(3*z)")
mo.md(
f"""
Enter the complex function: {dropdown}
"""
)
return dropdown, options
@app.cell
def __input_event(mo):
event = mo.ui.text(placeholder="Event...")
mo.md(
f"""
Enter the name of the event: {event}
"""
)
return (event,)
@app.cell
def __output(create, dropdown, event, mo, name):
from io import BytesIO
fig = create(name=name.value, fct=dropdown.value, event=event.value, n=100)
img = fig.to_image(format="png")
# print(img)
data = BytesIO(img)
# Create a download button for the Plotly graph
download_btn = mo.download(
data=data,
filename=f"{name.value}_{event.value}_plot.png",
label="Download",
mimetype="image/png",
)
# Display the plot and download button
mo.md(
f"""
{download_btn}
{mo.ui.plotly(fig)}
"""
)
# return fig, download_btn
if __name__ == "__main__":
app.run()