import gradio as gr import io import sys class PersistentRunner: def __init__(self): self.globals = {} def run(self, code): old_stdout = sys.stdout sys.stdout = buffer = io.StringIO() try: exec(code, self.globals) except Exception as e: print(f"Error: {e}") finally: sys.stdout = old_stdout return buffer.getvalue() runner = PersistentRunner() def run(code): return runner.run(code) demo = gr.Interface(fn=run, inputs="text", outputs="text") demo.launch()