Skip to content

itinstructor/NationalWeatherServiceAppPython

Repository files navigation

National Weather Service App in Python

CLI using the rich library.

NWS Screenshot

Tkinter using ttkbootstrap.

NWS Screenshot

Overview

  • Python3 CLI and GUI program using requests, National Weather Service API, and Nominatim from geopy.
  • Includes current observations, forecast weather, and weather alerts.
  • Latitude and longitude are retrieved using Nominatim from geopy.
    • Windows: pip install geopy
    • Linux: pip3 install geopy
  • JSON sample response files used to build the program are in the JSON folder.
  • Rich formatting is used to brighten up the CLI application.
    • Rich is a Python library for rich text and beautiful formatting in the terminal.
  • Batch files are included for using nuitka to build a Python program to a Windows exe.
    • Windows: pip install nuitka
    • Linux: pip3 install nuitka

Changes

  • 11/02/2024: Create Tkinter GUI version using ttkbootstrap. I used Claude.ai and GitHub Copilot as code helpers for some of the code for this update.
  • 09/24/2022: Refactor to MVC. nws_cli.py is the view, nws_class.py is the controller.
  • 09/05/2022: Refactor to divide up methods to be more specific to better handle and report errors. Minor fixes.
  • 07/17/2022: Instead of getting all the weather data at once from successive API calls, API call's are only made when needed, added more exception handling
  • 11/28/2021: Make nws_class less console specific to be able to be used in any other programs
  • 09/17/2021: Initial commit

License

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Copyright (c) 2024 William A Loring

About

National Weather Service Python Application

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published