Skip to content

Commit 543d75f

Browse files
First Commit
0 parents  commit 543d75f

File tree

4 files changed

+690
-0
lines changed

4 files changed

+690
-0
lines changed

README.md

Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
# 🌦️ Weather Widget (PyQt6)
2+
3+
A lightweight **desktop weather widget for Windows** built with **Python + PyQt6**.
4+
It displays real-time weather for your city and sits neatly on your desktop like a native widget.
5+
6+
The widget automatically detects your location on first launch and updates the weather every 10 minutes.
7+
8+
---
9+
10+
## ✨ Features
11+
12+
• 🌍 Auto detect location on first launch
13+
• 🌡️ Real-time weather updates
14+
• 🔄 Automatic refresh every 10 minutes
15+
• ☀️ Weather condition icons
16+
• 🎨 Temperature color indicators
17+
• 📌 Draggable floating desktop widget
18+
• 🖥️ Always-on-top frameless UI
19+
• ⚙️ System tray integration
20+
• 🚀 Optional **Start with Windows** toggle
21+
• 📍 Manual city selection
22+
• 🔔 Weather update notifications
23+
24+
---
25+
26+
## ⬇️ Download
27+
28+
You can download the latest installer here:
29+
30+
[![Download Installer](https://img.shields.io/badge/Download-Windows%20Installer-blue?style=for-the-badge&logo=windows)](https://github.com/TutorialsAndroid/weather-widget/releases/latest)
31+
32+
After downloading:
33+
34+
1. Run the installer
35+
2. Launch **Weather Widget**
36+
3. The widget will appear on your desktop
37+
38+
---
39+
40+
## 🖥️ How It Works
41+
42+
The widget:
43+
44+
1. Detects your location using IP geolocation
45+
2. Fetches weather data from a **secure serverless API**
46+
3. Displays temperature, description, and weather icon
47+
4. Saves your city and widget position locally
48+
49+
Your settings are stored in:
50+
51+
```
52+
53+
LOCALAPPDATA/WeatherWidget/config.json
54+
55+
```
56+
57+
---
58+
59+
## 📦 Requirements
60+
61+
If running from source:
62+
63+
```
64+
65+
Python 3.9+
66+
PyQt6
67+
requests
68+
69+
````
70+
71+
Install dependencies:
72+
73+
```bash
74+
pip install PyQt6 requests
75+
````
76+
77+
---
78+
79+
## ▶️ Run From Source
80+
81+
Clone the repository:
82+
83+
```bash
84+
git clone https://github.com/TutorialsAndroid/weather-widget.git
85+
cd weather-widget
86+
```
87+
88+
Run:
89+
90+
```bash
91+
python weather-widget.py
92+
```
93+
94+
Main application file:
95+
96+
```
97+
weather-widget.py
98+
```
99+
100+
Source code:
101+
102+
---
103+
104+
## 🏗 Build EXE
105+
106+
Install PyInstaller:
107+
108+
```bash
109+
pip install pyinstaller
110+
```
111+
112+
Build executable:
113+
114+
```bash
115+
pyinstaller --noconfirm --onefile --windowed --icon=weather.ico weather-widget.py
116+
```
117+
118+
The executable will appear in:
119+
120+
```
121+
dist/weather-widget.exe
122+
```
123+
124+
---
125+
126+
## 📦 Build Installer (Inno Setup)
127+
128+
Example script:
129+
130+
```ini
131+
[Setup]
132+
AppName=Weather Widget
133+
AppVersion=1.0
134+
DefaultDirName={pf}\WeatherWidget
135+
DefaultGroupName=WeatherWidget
136+
OutputDir=.
137+
OutputBaseFilename=WeatherWidgetInstaller
138+
139+
[Files]
140+
Source: "dist\weather-widget.exe"; DestDir: "{app}"
141+
142+
[Icons]
143+
Name: "{group}\Weather Widget"; Filename: "{app}\weather-widget.exe"
144+
```
145+
146+
Compile with **Inno Setup Compiler**.
147+
148+
---
149+
150+
## ⚙️ System Tray Menu
151+
152+
Right-click or click the **⋮ menu** to access:
153+
154+
```
155+
Refresh
156+
Auto Detect Location
157+
Change City
158+
Start with Windows
159+
Exit
160+
```
161+
162+
---
163+
164+
## 🔒 Security
165+
166+
The OpenWeather API key is **not included in this repository**.
167+
168+
Weather requests are proxied through a **serverless API** to prevent key exposure.
169+
170+
---
171+
172+
## 📜 License
173+
174+
MIT License
175+
176+
---
177+
178+
## 👨‍💻 Author (Akshay - TutorialsAndroid)
179+
180+
Built with ❤️ using **Python + PyQt6**
181+
182+
183+
![Python](https://img.shields.io/badge/Python-3.9+-blue)
184+
![Platform](https://img.shields.io/badge/Platform-Windows-lightgrey)
185+
![License](https://img.shields.io/badge/License-MIT-green)

WeatherWidgetInstaller.exe

42.7 MB
Binary file not shown.

0 commit comments

Comments
 (0)