Introducing Gradio Clients


New to Gradio? Start here: Getting Started

See the Release History


gradio.Warning("A warning occured ⛔!", duration=5)


This function allows you to pass custom warning messages to the user. You can do so simply by writing gr.Warning('message here') in your function, and when that line is executed the custom message will appear in a modal on the demo. The modal is yellow by default and has the heading: "Warning." Queue must be enabled for this behavior; otherwise, the warning will be printed to the console using the warnings library.

Example Usage

import gradio as gr
def hello_world():
    gr.Warning('This is a warning message.')
    return "hello world"
with gr.Blocks() as demo:
    md = gr.Markdown()
    demo.load(hello_world, inputs=None, outputs=[md])




import gradio as gr import time def failure(): raise gr.Error("This should fail!") def exception(): raise ValueError("Something went wrong") def success(): return True def warning_fn(): gr.Warning("This is a warning!") def info_fn(): gr.Info("This is some info") with gr.Blocks() as demo: gr.Markdown("Used in E2E tests of success event trigger. The then event covered in chatbot E2E tests." " Also testing that the status modals show up.") with gr.Row(): result = gr.Textbox(label="Result") result_2 = gr.Textbox(label="Consecutive Event") with gr.Row(): success_btn = gr.Button(value="Trigger Success") success_btn_2 = gr.Button(value="Trigger Consecutive Success") failure_btn = gr.Button(value="Trigger Failure") failure_exception = gr.Button(value="Trigger Failure With ValueError") with gr.Row(): trigger_warning = gr.Button(value="Trigger Warning") trigger_info = gr.Button(value="Trigger Info"), None, None).success(lambda: "First Event Trigered", None, result).success(lambda: "Consecutive Event Triggered", None, result_2), None, None).success(lambda: "Success event triggered", inputs=None, outputs=result), None, None).success(lambda: "Should not be triggered", inputs=None, outputs=result), None, None), None, None), None, None) demo.queue() if __name__ == "__main__": demo.launch(show_error=True)