GUI Weather App (Tkinter)
Cross-platform Tkinter GUI that fetches live weather data from NOAA/NWS and OpenWeatherMap. Robust timeouts, HTTPS, user-agent headers, and a clean service layer.
Path: src/gui-weather/
How to run
- Set your OpenWeatherMap API key (optional but recommended):
export OWM_API_KEY=<your_api_key> # Windows: set OWM_API_KEY=<your_api_key>
- Launch the app:
python src/gui-weather/weather_app.py
Schedule Service
Generates a simple HTML weather report and demonstrates basic scheduling and email sending. Focuses on job orchestration and reporting.
Path: src/schedule-service/
How to run
- Create a weather report HTML file:
python src/schedule-service/create_html.py
- (Optional) Try the scheduler demo:
python src/schedule-service/task_scheduler.py
TDD Examples
Small, focused exercises demonstrating unit testing, fixtures, monkeypatching, and mocking with pytest and unittest.mock.
Path: src/tdd/
How to run
- Run the test suite:
pytest -q
Design Patterns: Maze
Demonstrates design principles through a maze implementation. Useful for discussing architecture and extensibility in interviews.
Path: src/design-patterns/
How to run
- Run the module (if present) or explore classes in an interactive shell:
python -m src.design-patterns.maze # if a __main__ is provided
Breakpoint & OOP Examples
Small scripts for debugging and OOP demonstration. Useful to show workflow when stepping through code and reasoning about class design.
Paths: src/breakpoints/
, src/example_oop.py
How to run
- Run scripts directly:
python src/breakpoints/breakpoint_inheritance.py
python src/breakpoints/breakpoint_two_classes.py
python src/example_oop.py