Decoupling the model from Drupal
Back in the Drupal 6 days, I built the BOM Weather Drupal module to pull down weather data from the Australian Bureau of Meteorology (BOM) site, and display it to users.
We recently had a requirement for this in a new Drupal 8 site, so decided to take a more modern approach.