Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 8996fff

Browse files
Merge pull request avinashkranjan#2110 from smty2018/speed
Internet Speed Checker
2 parents a7d1e3e + dcee133 commit 8996fff

File tree

2 files changed

+72
-0
lines changed

2 files changed

+72
-0
lines changed

‎Internet Speed Checker/ReadMe.md‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Description:
2+
This is Python-based application that measures and displays the download speed, upload speed, and ping of the internet connection.
3+
4+
Requirements:
5+
6+
pip install speedtest-cli
7+
8+
Screenshots:
9+
10+
![Screenshot 2023年07月06日 195518](https://github.com/avinashkranjan/Amazing-Python-Scripts/assets/74114936/607a06e9-bf7b-4ced-a658-866e6c9c3dc5)
11+
12+
https://github.com/avinashkranjan/Amazing-Python-Scripts/assets/74114936/d8ad6cad-fd0c-4de7-b85d-843b7e3786fb
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
from tkinter import *
2+
from tkinter.ttk import Progressbar
3+
import speedtest
4+
import time
5+
6+
def animate_speed(speed_value, progress_bar, scaling_factor):
7+
max_value = speed_value * scaling_factor
8+
increment = max_value / 100
9+
for i in range(int(max_value) + 1):
10+
if i > 0.9 * max_value:
11+
break
12+
progress_bar['value'] = i
13+
progress_bar.update()
14+
time.sleep(0.02)
15+
16+
def check_speed():
17+
st = speedtest.Speedtest()
18+
download_speed = st.download() / 1000000
19+
upload_speed = st.upload() / 1000000
20+
ping = st.results.ping
21+
download_label.config(text=f"Download Speed: {download_speed:.2f} Mbps")
22+
upload_label.config(text=f"Upload Speed: {upload_speed:.2f} Mbps")
23+
ping_label.config(text=f"Ping: {ping:.2f} ms")
24+
animate_speed(download_speed, download_progress, 5)
25+
animate_speed(upload_speed, upload_progress, 3)
26+
animate_speed(ping, ping_progress, 2)
27+
28+
root = Tk()
29+
root.title("Internet Speed Checker")
30+
root.config(bg="#212121")
31+
root.geometry("500x400")
32+
root.resizable(False, False)
33+
34+
label1 = Label(root, text="Internet Speed Checker", font=("Helvetica", 30, "bold"), bg="#212121", fg="#ffffff")
35+
label1.pack()
36+
37+
download_label = Label(root, font=("Helvetica", 16), bg="#212121", fg="#ffffff")
38+
download_label.pack(pady=10)
39+
40+
download_progress = Progressbar(root, orient=HORIZONTAL, length=300, mode='determinate')
41+
download_progress.pack(pady=10)
42+
43+
upload_label = Label(root, font=("Helvetica", 16), bg="#212121", fg="#ffffff")
44+
upload_label.pack(pady=10)
45+
46+
upload_progress = Progressbar(root, orient=HORIZONTAL, length=300, mode='determinate')
47+
upload_progress.pack(pady=10)
48+
49+
ping_label = Label(root, font=("Helvetica", 16), bg="#212121", fg="#ffffff")
50+
ping_label.pack(pady=10)
51+
52+
ping_progress = Progressbar(root, orient=HORIZONTAL, length=300, mode='determinate')
53+
ping_progress.pack(pady=10)
54+
55+
check_speed()
56+
57+
button_refresh = Button(root, text="Refresh", font=("Helvetica", 14, "bold"), bg="#03a9f4", fg="#ffffff", command=check_speed)
58+
button_refresh.pack(pady=20)
59+
60+
root.mainloop()

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /