A python library to asynchronously retrieve weather observation from NWS/NOAA.
See example.py for a runnable example.
PHILLY= (39.95, -75.16)
USERID="testing@address.xyz"asyncdefexample():
asyncwithaiohttp.ClientSession() assession:
nws=pynws.SimpleNWS(*PHILLY, USERID, session)
awaitnws.set_station()
awaitnws.update_observation()
awaitnws.update_forecast()
awaitnws.update_alerts_forecast_zone()
print(nws.observation)
print(nws.forecast[0])
print(nws.alerts_forecast_zone)pynws exposes the ability to retrieve raw data using raw_data module. Nws class offers ability to retrieve minimally processed data for a single location. SimpleNWS class offers data caching and several other helpers for interpreting output.
NWS API does not expose all possible units for observations. Known units are converted to the following:
| unit type | known NWS units | pynws unit |
|---|---|---|
| temperature | degF, degC | Celsius |
| pressure | Pa | Pascal |
| speed | m_s-1, km_h-1 | km_h-1 |
| percent | percent | percent |
| angle | degree_(angle) | degrees |
| distance | m | meter |