Skip to content

About

Weather forecast desktop app using PyQt5, built for a DSA course project.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Latest commit

 

History

79 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Weather Forecast Desktop App (PyQt5)

App Layout Preview

Version Platform License

A clean, modern desktop weather application built with PyQt5 that fetches current weather data and 5-day forecasts using OpenWeatherMap's API.

Report a Bug · Request a Feature


This app provides real-time weather information with dynamic backgrounds, custom icons, and user authentication, designed entirely for a smooth desktop experience.


Table of Contents


Installation Guide

Follow these steps to set up the weather application locally.

Prerequisites

What you need Where to get it
Python 3.7+ python.org
Git Already on your machine

Build from Source

Steps:

  1. Clone the repository:

    git clone https://github.com/Huerte/weather-forecast-pyqt5.git
    cd weather-forecast-pyqt5
  2. Create a Virtual Environment (Optional but recommended):

    python -m venv venv
    source venv/bin/activate        # Linux/macOS
    venv\Scripts\activate           # Windows
  3. Install Dependencies:

    pip install -r requirements.txt
  4. Run the Application: Navigate to the src directory and run:

    cd src
    python main.py

What It Does

Feature What it means
GUI-based Search Easily search for weather by typing a city name.
Current Weather Data Displays real-time temperature, humidity, pressure, and more.
5-Day Forecast Provides detailed forecast data along with weather icons.
Dynamic Backgrounds The application background changes automatically based on the current weather condition.
User Authentication Sign up and log in using a local database to personalize your experience.
Custom Visuals Features custom icon themes and graceful loading animations.

API References

This application relies on the OpenWeatherMap API for data fetching.

Note: The API key is already integrated in the source code.


Usage

  1. Launch the app — Navigate to the src directory and run python main.py.
  2. Authenticate — Sign up and log in to access the application.
  3. Search — Start typing a city name to get real-time weather info.
  4. Interact — Watch the weather backgrounds and icons change based on the forecast. Error messages and loading states are handled gracefully.

Contributing

Contributions are welcome. Here is how to go from zero to a submitted pull request.

Getting Started

Prerequisites: Python 3.7+ and Git.

Fork and clone:

# 1. Fork the repo on GitHub, then clone your fork
git clone https://github.com/YOUR_USERNAME/weather-forecast-pyqt5.git
cd weather-forecast-pyqt5

# 2. Keep your fork in sync with the original
git remote add upstream https://github.com/Huerte/weather-forecast-pyqt5.git

Making Changes

Branch naming:

feat/short-description    # New features
fix/short-description     # Bug fixes
docs/short-description    # Documentation only
chore/short-description   # Maintenance or refactoring

Commit messages: Use plain English. Describe what changed and why:

# Good
git commit -m "fix: resolve rendering issue with dynamic backgrounds"
git commit -m "feat: add wind speed to current weather data"
git commit -m "docs: clarify virtual environment setup in README"

# Avoid
git commit -m "fix stuff"
git commit -m "update"

Code style:

  • Follow the existing PyQt5 class structures.
  • Keep functions short. If something is growing, split it.
  • Add a comment when the purpose of something is not immediately obvious.
  • Never swallow exceptions silently.

Submitting a Pull Request

  1. Push your branch to your fork:

    git push origin feat/your-feature
    
  2. Open a Pull Request against Huerte/weather-forecast-pyqt5:main on GitHub.

  3. In the PR description, briefly explain: what you changed, why, and how to test it.

  4. If your change affects the app's output or behavior, update this README accordingly.


Contributors


License

Distributed under the MIT License. See LICENSE for details.


Built to provide accurate and beautiful desktop weather forecasts.

About

Weather forecast desktop app using PyQt5, built for a DSA course project.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Contributors

Languages