#weather #noaa #networking #api-bindings #emwin #nwws

emwin-tg

A client for the the NWS Emergency Managers Weather Information Network telecommunications gateway

1 unstable release

0.1.0 Feb 5, 2022

#859 in Science

MIT/Apache

23KB
388 lines

emwin

A Rust client for the NWS Emergency Managers Weather Information Network telecommunications gateway.

EMWIN is one of several platforms through which the National Weather Service distributes text products. EMWIN is transmitted via radio to GOES satellites for re-broadcast, and published as files on the NWS telecommunications gateway service.

The NWS telecommunications gateway permits anonymous access from the general public over the Internet. Usage of this crate therefore requires no setup.

Features

  • #![forbid(unsafe_code)]
  • Pure Rust
  • Async (using Tokio)

Example

let mut stream = emwin_tg::TextStream::new();

while let Some(event) = stream.next().await {
    match event {
        Ok(product) => {
            // Handle the product
            println!("{}: {}", product.filename, product.into_string_lossy());
        },
        Err(error) => {
            // Stream continues, automatically retrying as needed
            eprintln!("uh oh: {}", error);
        },
    }
}

Dependencies

~7–20MB
~289K SLoC