Skip to content

A simple Python-based Weather App that fetches real-time weather data using an API.Built with Python and requests module,featuring a user-friendly interface

License

Notifications You must be signed in to change notification settings

Vicky-codes17/Myweather-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

28 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

🌀️ ClimeCast - Modern Weather Forecast Application

ClimeCast Logo

A beautiful, cross-platform weather application with dark/light mode support

License: MIT Python 3.7+ Platform Build Status

🌟 About ClimeCast

ClimeCast is a modern, intuitive weather application built with Python and Tkinter. It provides real-time weather information with a beautiful user interface that adapts to both dark and light themes. Whether you're planning your day or checking the weekly forecast, ClimeCast delivers accurate weather data in an elegant, easy-to-use interface.

Why ClimeCast?

  • 🎨 Beautiful UI: Clean, modern interface with dark/light mode
  • 🌍 Global Coverage: Weather data for locations worldwide
  • πŸ“± Lightweight: Fast, responsive application
  • πŸ”„ Real-time Updates: Live weather data from OpenWeatherMap
  • πŸš€ Cross-platform: Works on Linux and Windows

✨ Features

Current Features

  • 🌑️ Real-time Weather Data

    • Current temperature, humidity, and conditions
    • "Feels like" temperature
    • Weather descriptions and icons
  • πŸ“Š 7-Hour Forecast

    • Hourly weather predictions
    • Temperature trends
    • Weather condition changes
  • πŸŒ“ Dark/Light Mode Toggle

    • Automatic theme switching
    • Eye-friendly interface
    • Persistent theme preference
  • πŸ“ˆ Comprehensive Weather Metrics

    • UV Index with safety recommendations
    • Atmospheric pressure
    • Wind speed and direction
    • Rainfall probability and intensity
  • πŸŒ… Solar Information

    • Sunrise and sunset times
    • Visual timeline display
    • Daylight duration
  • πŸ—ΊοΈ Location Services

    • City-based weather lookup
    • Geolocation support
    • Global city database

πŸš€ Planned Features

Version 1.1.0 (Q1 2025)

  • πŸ“… Extended Forecast

    • 7-day weather forecast
    • Weekly weather patterns
    • Historical weather data
  • πŸ”” Weather Alerts

    • Severe weather notifications
    • Custom alert thresholds
    • Push notification system
  • πŸ“ Enhanced Location

    • GPS auto-detection
    • Multiple location favorites
    • Location-based recommendations

Version 1.2.0 (Q2 2025)

  • πŸ“Š Weather Analytics

    • Weather trend graphs
    • Historical comparisons
    • Climate data visualization
  • 🎯 Personalization

    • Customizable widgets
    • Personal weather preferences
    • Activity recommendations
  • 🌐 Advanced Features

    • Weather radar maps
    • Satellite imagery
    • Air quality index

Version 2.0.0 (Q3 2025)

  • πŸ“± Mobile Version

    • Android app development
    • iOS app development
    • Cross-platform synchronization
  • πŸ€– AI Integration

    • Weather prediction ML models
    • Smart recommendations
    • Voice assistant integration

πŸ“Έ Screenshots

Light Mode Dark Mode
Light Mode Dark Mode

πŸ—οΈ Project Structure

climecast/
β”œβ”€β”€ πŸ“ src/                   
β”‚   β”œβ”€β”€ πŸ“„ main.py             
β”‚   β”œβ”€β”€ πŸ“„ version.py          
β”‚   └── πŸ“ src/              
β”‚       β”œβ”€β”€ πŸ“„ __init__.py     
β”‚       β”œβ”€β”€ πŸ“„ uv_index.py       
β”‚       β”œβ”€β”€ πŸ“„ temperature.py       
β”‚       β”œβ”€β”€ πŸ“„ rainfall.py      
β”‚       β”œβ”€β”€ πŸ“„ air_pressure.py   
β”‚       β”œβ”€β”€ πŸ“„ wind.py         
β”‚       β”œβ”€β”€ πŸ“„ sun_times.py  
β”‚       └── πŸ“„ hourly_forecast.py 
β”œβ”€β”€ πŸ“ assets/            
β”‚   β”œβ”€β”€ πŸ–ΌοΈ icon.png          
β”‚   β”œβ”€β”€ πŸ–ΌοΈ icon.ico                
β”‚   β”œβ”€β”€ πŸ–ΌοΈ light.png               
β”‚   └── πŸ–ΌοΈ dark.png                  
β”œβ”€β”€ πŸ“ build/                
β”‚   β”œβ”€β”€ πŸ“ assets/           
β”‚   β”œβ”€β”€ πŸ“ frame0/       
β”‚   └── πŸ“ frame1/           
β”œβ”€β”€ πŸ“ releases/              
β”‚   β”œβ”€β”€ πŸ“ v1.0.0/         
β”‚   β”‚   β”œβ”€β”€ πŸ“ linux/           
β”‚   β”‚   └── πŸ“ windows/             
β”‚   └── πŸ“ latest/            
β”œβ”€β”€ πŸ“ docs/                   
β”‚   β”œβ”€β”€ πŸ“„ CONTRIBUTING.md         
β”‚   β”œβ”€β”€ πŸ“„ CHANGELOG.md         
β”‚   └── πŸ“„ API.md         
β”œβ”€β”€ πŸ“ tests/                
β”‚   β”œβ”€β”€ πŸ“„ test_main.py      
β”‚   └── πŸ“„ test_modules.py  
β”œβ”€β”€ πŸ“„ README.md                    
β”œβ”€β”€ πŸ“„ LICENSE                     
β”œβ”€β”€ πŸ“„ requirement.txt         
β”œβ”€β”€ πŸ“„ version.txt          
β”œβ”€β”€ πŸ“„ .gitignore              
└── πŸ“„ build_climecast.sh     

πŸš€ Getting Started

Prerequisites

  • Python 3.7 or higher
  • Internet connection (for weather data)
  • Linux with GUI or Windows 7+

Quick Start

Option 1: Download Pre-built Application

  1. Go to Releases
  2. Download the appropriate version for your system:
    • Linux: releases/latest/linux/ClimeCast
    • Windows: releases/latest/windows/ClimeCast.exe
  3. Run the application

Option 2: Run from Source

# Clone the repository
git clone https://github.com/Vicky-Codes17/Myweather-app.git
cd climecast

# Install dependencies
pip3 install -r requirement.txt

# Run the application
cd src
python3 main.py

πŸ’» Development Setup

1. Clone the Repository

git clone https://github.com/Vicky-Codes17/Myweather-app.git
cd climecast

2. Set Up Virtual Environment

# Create virtual environment
python3 -m venv venv

# Activate virtual environment
# Linux/Mac:
source venv/bin/activate
# Windows:
venv\Scripts\activate

3. Install Dependencies

# Install all required packages
pip install -r requirement.txt

# Or install individually:
pip install geopy timezonefinder pytz requests pyinstaller

4. Configure API Keys

  1. Get a free API key from OpenWeatherMap
  2. Replace the API key in src/main.py

5. Run Development Version

cd src
python3 main.py

🀝 Contributing

We welcome contributions from the community! Here's how you can help:

How to Contribute

  1. 🍴 Fork the Repository

    # Click "Fork" on GitHub, then clone your fork
    git clone https://github.com/Vicky-Codes17/Myweather-app.git
    cd climecast
  2. 🌿 Create a Feature Branch

    git checkout -b feature/amazing-feature
    # or
    git checkout -b bugfix/fix-issue-123

For more in detail Contributing.md file for details,...

Development Guidelines

  • Code Style: Follow PEP 8 Python style guidelines
  • Documentation: Add docstrings to all functions and classes
  • Testing: Include tests for new functionality
  • Commits: Use clear, descriptive commit messages
  • Issues: Link PRs to related issues

Reporting Issues

Found a bug? Have a feature request? Please open an issue with:

  • Clear description of the problem/feature
  • Steps to reproduce (for bugs)
  • Expected behavior
  • Screenshots (if applicable)
  • System information (OS, Python version)

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A simple Python-based Weather App that fetches real-time weather data using an API.Built with Python and requests module,featuring a user-friendly interface

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages