Weather Forecast Pro is a modern, modular Python application that provides a sleek interface for real-time weather tracking. Powered by the AccuWeather API, it offers detailed current conditions and a comprehensive 5-day forecast.
- Real-time Data: Get current temperature, humidity, wind speed, and pressure.
- 5-Day Forecast: Plan ahead with a detailed daily weather breakdown.
- Visual Analytics: View weather trends in a clean, graphical format.
- Location Management: Save your favorite cities for instant access.
- Data Export: Save weather reports to CSV/Text files for later reference.
- Responsive GUI: Built with Tkinter and Pillow for a polished user experience.
The project leverages the following technologies:
- Language: Python 3.x
- GUI: Tkinter, Pillow (PIL)
- Networking: Requests, JSON
- Data: CSV, Datetime, ConfigParser
- API: AccuWeather API
Step 1: Install the required libraries in requirements.txt file.
Step 2: Run the script using python weather_forecast.py.
Step 3: Enter the city name when prompted.
Step 4: The script will display the current weather and forecast for the next 5 days.
Step 5: The script will also display the temperature and humidity for each day.
Step 6: The script will also display the wind speed and direction for each day.
Step 7: The script will also display the pressure and visibility for each day.
Step 8: The script will also display the sunrise and sunset time for each day.
Step 9: We can refresh the data by clicking on the refresh button.
Step 10: We can save the location by clicking on the save button.
Weather Forcast Pro/
β
βββ main.py
βββ config.ini
βββ requirements.txt
βββ README.md
β
βββ models/
β βββ __init__.py
β βββ weather_data.py
β
βββ services/
β βββ __init__.py
β βββ weather_service.py
β βββ file_service.py
β
βββ ui/
β βββ __init__.py
β βββ main_window.py
β βββ components/
β βββ __init__.py
β βββ forecast_card.py
β βββ weather_card.py
β βββ search_bar.py
β
βββ utils/
β βββ __init__.py
β βββ constants.py
β βββ helpers.py
β
βββ assets/
βββ icons/
β βββ clear.png
β βββ cloudy.png
β βββ main.png
β βββ ... (all other icons)
βββ images/
βββ sunrise.png
βββ sunset.png
βββ ... (other images)
The project is designed to be modular and easy to maintain. Each module has its own responsibilities and is loosely coupled to other modules. This makes it easy to add or remove features without affecting the rest of the application.
- Go to AccuWeather and sign up for an API key.
- Replace
YOUR_API_KEYinconfig.iniwith your actual API key. - Run the application using
python main.py.- If you encounter any issues, refer to the README.md file for troubleshooting tips.
- Make sure you have the correct API key in
config.ini. - Check the console output for any error messages.
- If you're using a virtual environment, make sure it's activated before running the application.
- If you're still having issues, try running the application with the
--debugflag to enable debug mode. - If you're using a different operating system, make sure the application is compatible with it.
- If you're using a different Python version, make sure it's compatible with the application.
- If you're still having issues, try reinstalling the application or seeking help from a developer.
- If you're still having issues, try checking the AccuWeather API documentation for any changes or updates.
- If you're still having issues, then you can try to contact me.
If you have any questions or need further assistance, feel free to contact me at Email (Only if very important).
This project is licensed under the MIT License. See the LICENSE file for more information.
I would like to thank my family and friends for their support and encouragement. I would also like to thank my colleagues and mentors for their guidance and advice. I would like to thank the open-source community for their contributions and feedback. I would like to thank the developers of the libraries and frameworks used in this project for their contributions and maintenance. Thanks to AccuWeather for providing the API and documentation. Thanks to Python for providing the programming language. Thanks to Visual Studio Code for providing the code editor. Thanks to GitHub for providing the version control system. Thank You!
Name: Weather Forecast App
Start: 2025-07-06
End: 2025-07-06
API: AccuWeather
Platform: Python
Code-Editor: Visual Studio Code
Help: AI
Contact: shuklamanas8928@gmail.com
Contribution: None
Licence: MIT
Made with β€οΈ by Manas Shukla