euler314 commited on
Commit
b2cff8f
·
verified ·
1 Parent(s): 0380d6d

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +37 -0
app.py ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # app.py
2
+
3
+ import speedtest
4
+ import gradio as gr
5
+
6
+ def run_speedtest():
7
+ """
8
+ Runs a speed test and returns download speed (Mbps),
9
+ upload speed (Mbps), and ping (ms).
10
+ """
11
+ st = speedtest.Speedtest()
12
+ st.get_best_server()
13
+ download_bps = st.download()
14
+ upload_bps = st.upload()
15
+ ping_ms = st.results.ping
16
+
17
+ # Convert from bits per second to megabits per second
18
+ download_mbps = round(download_bps / 1e6, 2)
19
+ upload_mbps = round(upload_bps / 1e6, 2)
20
+
21
+ return f"{download_mbps} Mbps", f"{upload_mbps} Mbps", f"{ping_ms:.2f} ms"
22
+
23
+ # Build Gradio interface
24
+ iface = gr.Interface(
25
+ fn=run_speedtest,
26
+ inputs=[],
27
+ outputs=[
28
+ gr.Textbox(label="Download Speed"),
29
+ gr.Textbox(label="Upload Speed"),
30
+ gr.Textbox(label="Ping")
31
+ ],
32
+ title="Wi-Fi / Ethernet Speed Test",
33
+ description="Click **Run Speed Test** to measure your current Internet download/upload speeds and ping."
34
+ )
35
+
36
+ if __name__ == "__main__":
37
+ iface.launch(server_name="0.0.0.0", server_port=7860)