A lightweight, frameless weather wdiget that displays current weather information in a compact, always on top window. The app automatically detects your location using your IP address and fetches real time weather data from the Open Meteo API.
- Automatic location detection via IP geolocation
- Current temperature and "feels like" temperature
- Dynamic weather icons based on conditions
- Clean, modern UI with dark theme
- Always on top frameless window
- Cached API requests for improved performance
- Time based greeting (Morning/Afternoon/Evening)
- Python 3.7 or higher
- IPInfo API token (free tier available at ipinfo.io)
- Clone the repository:
git clone https://github.com/JonathanEveillard/Better-Weather
cd betterweather- Create a
.envfile in the project root:
IPINFO_TOKEN=your_ipinfo_token_here- Run the application:
python run.pyThe run.py script will automatically:
- Create a virtual environment if one doesn't exist
- Install all required dependencies from
requirements.txt - Launch the weather application
If you prefer to set up manually:
# Create virtual environment
python -m venv venv
# Activate virtual environment
# Windows:
.\venv\Scripts\activate
# Linux/Mac:
source ./venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Run the application
python run.pyopenmeteo-requests- Open-Meteo API clientpandas- Data manipulationrequests-cache- API request cachingretry-requests- Request retry logicipinfo- IP geolocation servicepywebview- GUI frameworkpython-dotenv- Environment variable management
The application uses the following environment variables (stored in .env):
IPINFO_TOKEN- Your IPInfo API token (required)
The app displays different icons based on WMO Weather interpretation codes:
- Clear sky → Sun
- Partly cloudy → Cloud with sun
- Overcast → Cloud
- Fog → Cloud with fog
- Drizzle → Cloud with drizzle
- Rain → Cloud with rain
- Snow → Snowflake
- Thunderstorm → Cloud with lightning
Once launched, the application displays a compact window showing:
- Time appropriate greeting
- Current weather icon
- Current temperature in Celsius
- "Feels like" temperature
The window is frameless and stays on top of other windows for easy visibility.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.
- Weather data: Open-Meteo
- Location detection: IPInfo
- Icons: Lucide Icons

