Spaces:
Sleeping
Sleeping
# app.py | |
import speedtest | |
import gradio as gr | |
def run_speedtest(): | |
""" | |
Runs a speed test and returns download speed (Mbps), | |
upload speed (Mbps), and ping (ms). | |
""" | |
st = speedtest.Speedtest() | |
st.get_best_server() | |
download_bps = st.download() | |
upload_bps = st.upload() | |
ping_ms = st.results.ping | |
# Convert from bits per second to megabits per second | |
download_mbps = round(download_bps / 1e6, 2) | |
upload_mbps = round(upload_bps / 1e6, 2) | |
return f"{download_mbps} Mbps", f"{upload_mbps} Mbps", f"{ping_ms:.2f} ms" | |
# Build Gradio interface | |
iface = gr.Interface( | |
fn=run_speedtest, | |
inputs=[], | |
outputs=[ | |
gr.Textbox(label="Download Speed"), | |
gr.Textbox(label="Upload Speed"), | |
gr.Textbox(label="Ping") | |
], | |
title="Wi-Fi / Ethernet Speed Test", | |
description="Click **Run Speed Test** to measure your current Internet download/upload speeds and ping." | |
) | |
if __name__ == "__main__": | |
iface.launch(server_name="0.0.0.0", server_port=7860) | |