from pathlib import Path from typing import List, Dict, Tuple import matplotlib.colors as mpl_colors import pandas as pd import seaborn as sns import shinyswatch from shiny import App, Inputs, Outputs, Session, reactive, render, req, ui sns.set_theme() www_dir = Path(__file__).parent.resolve() / "www" app_ui = ui.page_fillable( shinyswatch.theme.minty(), ui.layout_sidebar( ui.sidebar( ui.input_file("image_input", "Upload image: ", multiple=True), ), ui.output_image("image"), ui.output_image("image_output"), ), ) def server(input: Inputs, output: Outputs, session: Session): @output @render.image def image(): here = Path(__file__).parent if input.image_input(): src = input.image_input()[0]['datapath'] img = {"src": src, "width": "500px"} return img return None @output @render.image def image_output(): here = Path(__file__).parent if input.image_input(): src = input.image_input()[0]['datapath'] img = {"src": src, "width": "500px"} return img return None app = App( app_ui, server, static_assets=str(www_dir), )