from typing import Tuple import gradio as gr import requests def is_active(url) -> Tuple[bool, str]: try: response = requests.get(url, timeout=10) if 200 <= response.status_code < 300: return True, f"The website {url} is active." else: return ( False, f"The website {url} returned status code {response.status_code}.", ) except requests.ConnectionError: return False, f"Failed to connect to {url}." except requests.Timeout: return False, f"The request to {url} timed out." except requests.RequestException as e: return False, f"An error occurred: {e}" demo = gr.Interface( fn=is_active, inputs="text", outputs=[ gr.Textbox(label="Status (True/False)"), gr.Textbox(label="Message"), ], title="Website Activity Checker", description="Enter a URL to check if the website is active.", allow_flagging="never", ) demo.launch()