0.0
No commit activity in last 3 years
No release in over 3 years
Ruby library and command-line tool to get the weather forecast and current weather observations for an address. Uses the Census Bureau Geocoding API to geocode street addresses, and the National Weather Service Weather API to get weather forecasts and current weather observations.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme

Weather Sage

Ruby library and command-line tool to get the weather forecast and current weather observations for an address.

Uses the Census Bureau Geocoding API to geocode street addresses, and the National Weather Service Weather API to get weather forecasts and current weather observations.

Here's an example of using the command-line tool to get the current weather forecast for the address "1600 pennsylvania ave nw, washington dc":

> bin/weather-sage forecast '1600 pennsylvania ave nw washington dc'
address,name,temperature,temperature_unit,wind_speed,wind_direction,short_forecast
1600 pennsylvania ave washington dc,Today,97,F,7 mph,SW,Scattered Showers And Thunderstorms
1600 pennsylvania ave washington dc,Tonight,76,F,2 to 7 mph,SW,Scattered Showers And Thunderstorms then Mostly Cloudy
1600 pennsylvania ave washington dc,Tuesday,94,F,6 mph,E,Slight Chance Rain Showers then Chance Showers And Thunderstorms
1600 pennsylvania ave washington dc,Tuesday Night,75,F,2 to 6 mph,S,Chance Showers And Thunderstorms
1600 pennsylvania ave washington dc,Wednesday,94,F,3 to 9 mph,SW,Chance Showers And Thunderstorms
1600 pennsylvania ave washington dc,Wednesday Night,76,F,5 to 8 mph,SW,Chance Showers And Thunderstorms
...

Installation

Install via RubyGems:

# install weather-sage
> sudo gem install weather-sage

Examples

Get weather forecast for an address:

# get weather forecast for address
> bin/weather-sage forecast '1600 pennsylvania ave washington dc'
address,name,temperature,temperature_unit,wind_speed,wind_direction,short_forecast
1600 pennsylvania ave washington dc,Today,97,F,7 mph,SW,Scattered Showers And Thunderstorms
1600 pennsylvania ave washington dc,Tonight,76,F,2 to 7 mph,SW,Scattered Showers And Thunderstorms then Mostly Cloudy
1600 pennsylvania ave washington dc,Tuesday,94,F,6 mph,E,Slight Chance Rain Showers then Chance Showers And Thunderstorms
1600 pennsylvania ave washington dc,Tuesday Night,75,F,2 to 6 mph,S,Chance Showers And Thunderstorms
1600 pennsylvania ave washington dc,Wednesday,94,F,3 to 9 mph,SW,Chance Showers And Thunderstorms
1600 pennsylvania ave washington dc,Wednesday Night,76,F,5 to 8 mph,SW,Chance Showers And Thunderstorms
...

Get current observations from nearest weather station:

# get current observations from nearest weather station
> weather-sage now '1600 pennsylvania ave washington dc'
address,name,type,value,unit,quality_control
1600 pennsylvania ave washington dc,timestamp,time,2019-08-19T06:52:00+00:00
1600 pennsylvania ave washington dc,textDescription,text,Mostly Cloudy
1600 pennsylvania ave washington dc,temperature,value,26.700000000000045,unit:degC,qc:V
1600 pennsylvania ave washington dc,relativeHumidity,value,81.65039907186703,unit:percent,qc:C
...

Commands

Available commands in command-line interface.

  • forecast: Get weather forecast for address.
  • geocode: Geocode address.
  • help: List commands.
  • hourly: Get hourly weather forecast for address.
  • now: Get current weather from station closest to address.
  • stations: List weather stations near address.

Environment Variables

The command-line tool can be configured via the following environment variables:

  • WEATHER_SAGE_LOG_LEVEL: Log level. One of: fatal, error, warning, info, debug). Defaults to warn.
  • WEATHER_SAGE_LOG_PATH: Path to log file. Defaults to standard error.
  • WEATHER_SAGE_CACHE_PATH: Path to HTTP cache. Defaults to ~/.config/weather-sage/http-cache.pstore.