Python-Runner / app.py
memex-in's picture
Create app.py
4e80164 verified
raw
history blame
712 Bytes
import gradio as gr
import io
import contextlib
import traceback
def run_python_code(code):
output = io.StringIO()
try:
with contextlib.redirect_stdout(output):
exec(code, {}) # Run in isolated global scope
return output.getvalue()
except Exception:
return traceback.format_exc()
with gr.Blocks() as demo:
gr.Markdown("## 🐍 Python Code Runner (Gradio)")
code_input = gr.Code(language="python", label="Write Python Code")
output_box = gr.Textbox(label="Output", lines=10)
run_button = gr.Button("Run Code")
run_button.click(fn=run_python_code, inputs=code_input, outputs=output_box)
if __name__ == "__main__":
demo.launch()