waqasbm commited on
Commit
4f971e0
·
verified ·
1 Parent(s): 8af0242

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -22
app.py CHANGED
@@ -1,29 +1,31 @@
1
- import streamlit as st
2
  import speedtest
3
- import time
4
 
5
- st.set_page_config(page_title="Speed Test App", layout="centered")
6
- st.title("📶 Internet Speed Test")
 
 
 
 
 
7
 
8
- if st.button("▶️ Start Speed Test"):
9
- with st.spinner("Running test... please wait..."):
10
- try:
11
- stt = speedtest.Speedtest()
12
- stt.get_best_server()
13
 
14
- start = time.time()
15
- download = stt.download()
16
- upload = stt.upload()
17
- end = time.time()
18
 
19
- download_mbps = round(download / 1_000_000)
20
- upload_mbps = round(upload / 1_000_000)
21
- test_time_ms = round((end - start) * 1000)
 
22
 
23
- st.success("✅ Speed Test Complete!")
24
- st.markdown(f"**📥 Download Speed:** `{download_mbps} Mbps`")
25
- st.markdown(f"**📤 Upload Speed :** `{upload_mbps} Mbps`")
26
- st.markdown(f"**⏱️ Test Time :** `{test_time_ms} ms`")
27
 
28
- except Exception as e:
29
- st.error(f" Error running speed test: {e}")
 
 
 
 
 
1
  import speedtest
 
2
 
3
+ def test_internet_speed():
4
+ """
5
+ Tests the internet download and upload speed using speedtest-cli.
6
+ """
7
+ try:
8
+ st = speedtest.Speedtest()
9
+ print("Testing internet speed...")
10
 
11
+ # Perform the download speed test
12
+ download_speed = st.download() / 1_000_000 # Convert to Mbps
 
 
 
13
 
14
+ # Perform the upload speed test
15
+ upload_speed = st.upload() / 1_000_000 # Convert to Mbps
 
 
16
 
17
+ # Get ping
18
+ servernames = []
19
+ st.get_servers(servernames)
20
+ ping = st.results.ping
21
 
22
+ # Print the results
23
+ print(f"Download Speed: {download_speed:.2f} Mbps")
24
+ print(f"Upload Speed: {upload_speed:.2f} Mbps")
25
+ print(f"Ping: {ping:.2f} ms")
26
 
27
+ except speedtest.SpeedtestException as e:
28
+ print(f"An error occurred during the speed test: {e}")
29
+
30
+ if __name__ == "__main__":
31
+ test_internet_speed()