A Python command-line application that provides comprehensive weather information using the NOAA Weather API and US Census Geocoder API.
- Address Lookup: Enter an address to get weather data
- Current Weather Conditions: Get detailed current weather including temperature, wind, and forecast
- Extended Forecast: View 7-day weather forecast
- Hourly Forecast: See detailed hourly weather predictions
- Nearby Stations: Get weather data from up to 4 nearest weather stations
- Active Alerts: View any active weather alerts for the location
- Address History: Maintains a list of previously searched addresses
- Google Maps Integration: Provides Google Maps links for locations
- Unit Conversions: Automatically converts between metric and imperial units
- Airport Weather: Get weather data for a specific airport
- File loading: Load and save address history to a file
- Airport Weather Lookup
- Load airport codes from a file
- Get weather data for a specific airports marked with T boolean in file
- Airport List Download and Random Weather Lookup
- Download airport codes: from a GitHub repository**
- Create random list: of 5 airport codes**
- Get weather data: for a specific airports marked with T boolean in file**
- Airport Filter
- Filter airports: by code, name, state and municipality**
- Download airport codes: if not resident locally from a GitHub repository**
- Python 3.8+
- Required packages (see requirements.txt)
-
Clone the repository:
git clone https://github.com/sharkymark/weather.git cd weather
-
Create and activate a virtual environment:
python3 -m venv venv source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
Run the application:
python weather.py
Follow the on-screen prompts to:
- Enter an address or select from previous addresses
- View current weather conditions
- Choose from additional options:
- Detailed conditions
- Extended forecast
- Hourly forecast
- Nearby station weather
- Active alerts
- Change location
- Return to main menu
- Get airport weather data from file
- Download airport codes and get weather data for random airports
- Prompt user to filter airports by code, name, state and municipality
- Exit the application
This application uses:
- US Census Geocoder API (no key required)
- NOAA Weather API (no key required)
weather/
├── weather.py # Main application code
├── README.md # This documentation
├── requirements.txt # Python dependencies
├── .gitignore # Git ignore file
└── addresses.txt # Stores previously searched addresses
└── airports.txt # Stores airport codes for nearby stations
└── airports_dowload.csv # Stores airport codes for random weather lookup
Contributions are welcome! Please open an issue or pull request.
MIT License